denet /de.net/ v. 1. Turkish: to monitor, to supervise, to audit. 2. to track metrics of a running process.
Denet is a lightweight streaming process monitor. It tracks CPU, memory, I/O, and threads for a running process (and its children), with adaptive sampling and optional GPU / eBPF support.
pip install denet # Python package
cargo install denet # Rust binaryOr install the conda package from the almost-conductor channel:
# pixi
pixi workspace channel add https://prefix.dev/almost-conductor
pixi add denet
# conda
conda install -c https://prefix.dev/almost-conductor denetOptional features for the Rust binary:
cargo install denet --features gpu # NVIDIA GPU monitoring (requires drivers)
cargo install denet --features ebpf # eBPF profiling (Linux only, requires clang)# Run a command and monitor it
denet run python train.py
# Attach to an existing process
denet attach 1234
# Save metrics as JSONL
denet --json --out metrics.jsonl run python train.pyCPU usage follows the top convention: 100% = one fully utilized core, so a 4-core workload shows 400%.
Sampling starts at 100 ms and ramps up to 1 s after 10 s of runtime (adaptive). Override with -i / -m:
denet -i 50 -m 500 run python train.py| Topic | Doc |
|---|---|
Python API (ProcessMonitor, execute_with_monitoring, analysis) |
docs/python-api.md |
| GPU monitoring | docs/gpu.md |
| eBPF profiling (off-CPU, syscall tracking) | docs/ebpf.md |
| Disk I/O metrics and how to interpret them | docs/disk-io.md |
| Output data format | docs/data-format.md |
| Development setup | docs/dev.md |
GPL-3