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.3.0.tar.gz
(3.9 kB
view details)
File details
Details for the file watchlog_python-0.3.0.tar.gz.
File metadata
- Download URL: watchlog_python-0.3.0.tar.gz
- Upload date:
- Size: 3.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 |
76be50019cb5787de3cf2b7dda8733ddfafbfd23dedcfb3b0da63becf81d50d8
|
|
| MD5 |
156fd955e6ec23ac4670e2862ff0cf91
|
|
| BLAKE2b-256 |
a645cd240c87a4e14a1783a1a745ad0f700aa6305084eb9bb244982b89ea7229
|