Releases: natoscott/pyusdt
Releases · natoscott/pyusdt
v0.1.1
pyusdt v0.1.0
pyusdt v0.1.0
First release of pyusdt - a Python profiler using USDT probes for low-overhead performance monitoring with bpftrace.
Features
- Zero-overhead when not traced: Dynamic callback registration combined with USDT semaphores means monitoring callbacks are only registered when a tracer is attached
- sys.monitoring integration: Uses Python 3.12+
sys.monitoringAPI (PEP 669) for efficient instrumentation - 6 probe types: PY_START, PY_RESUME, PY_RETURN, PY_YIELD, CALL, LINE
- bpftrace integration: Correlate Python execution with kernel events in a single trace session
- Production-ready: Configurable polling interval (default 100ms) for tracer detection
Supported Platforms
- Python: 3.12, 3.13, 3.14
- Architectures: x86_64, aarch64
- Operating System: Linux with USDT support
Installation
pip install pyusdtQuick Start
# Run your script with pyusdt
python -m pyusdt your_script.py
# Trace with bpftrace
sudo bpftrace sample.bt -c "python -m pyusdt your_script.py"Documentation
See the README for full documentation.