A simple and non-blocking Python package for sending custom metrics to Watchlog.
Project description
watchlog-python
A lightweight, non-blocking Python client for sending custom metrics to the Watchlog monitoring platform.
🚀 Installation
Install the package using pip:
pip install watchlog-python
📦 Usage
1. Import the Watchlog class
from watchlog import Watchlog
2. Create an instance of Watchlog
watchlog_instance = Watchlog()
3. Send metrics using simple method calls
# Increment a counter
watchlog_instance.increment('page_views', 10)
# Decrement a counter
watchlog_instance.decrement('items_in_cart', 2)
# Set a gauge value
watchlog_instance.gauge('current_temperature', 22.5)
# Set a percentage value (0 to 100)
watchlog_instance.percentage('completion_rate', 85)
# Log system byte metric (e.g., memory usage in bytes)
watchlog_instance.systembyte('memory_usage', 1024)
All operations are performed asynchronously and silently, ensuring zero interruption to your main application.
🌐 Example Usage in a Django View
# views.py
from django.http import HttpResponse
from watchlog import Watchlog
watchlog_instance = Watchlog()
def some_view(request):
watchlog_instance.increment('view_hits')
return HttpResponse("This is a view that increments a metric.")
✅ Features
- ⚡️ Non-blocking & thread-based HTTP request
- 🛡️ No logging, printing, or exception leaks
- 🔐 Safe and isolated from your main application flow
- 🧩 Easy to integrate with any Python web framework
📄 License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
watchlog_python-0.2.0.tar.gz
(2.9 kB
view details)
File details
Details for the file watchlog_python-0.2.0.tar.gz.
File metadata
- Download URL: watchlog_python-0.2.0.tar.gz
- Upload date:
- Size: 2.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97f0fd976ee7e9940c5a71d38e5e3161b1d13eaca51a4e5ac6c49b4d0a7c6bb5
|
|
| MD5 |
c7d9704a823810935c6787de4cfe0f01
|
|
| BLAKE2b-256 |
c45bd35a5e10cb07fcf4e7a97a742dae143def4fe1f18064acb60d22147204c5
|