Skip to main content

denet: a streaming process monitor

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.

PyPI version Crates.io codecov Ruff License: GPL v3

Installation

pip install denet    # Python package
cargo install denet  # Rust binary

Or 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 denet

Optional 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)

Usage

# 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.py

CPU 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

Further reading

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

License

GPL-3

Acknowledgements

  • sysinfo - Rust library for system information
  • PyO3 - Rust bindings for Python
  • aya - Rust library for eBPF programs

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

denet-0.7.2.tar.gz (335.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

denet-0.7.2-cp39-abi3-manylinux_2_39_x86_64.whl (564.9 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.39+ x86-64

File details

Details for the file denet-0.7.2.tar.gz.

File metadata

  • Download URL: denet-0.7.2.tar.gz
  • Upload date:
  • Size: 335.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.6

File hashes

Hashes for denet-0.7.2.tar.gz
Algorithm Hash digest
SHA256 a308f7ceb49883ef5705b53789caccda4d0ea3620ed824344c2abae17a3a2ccc
MD5 a08a7fcd3bf63e350cdbae7727507535
BLAKE2b-256 e94b710f0923d8a33a860f599d9e2184e1c6543023dee47bb92b2ed189adc2b5

See more details on using hashes here.

File details

Details for the file denet-0.7.2-cp39-abi3-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for denet-0.7.2-cp39-abi3-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 9ecde10786c6293f8b391b449157dc29b5d394f9dfa2b9a281c708280d4833a1
MD5 e9941311483bf3f09c2bddd99127f8be
BLAKE2b-256 c87a63056b8631881bc99aae9174f2cae4fa39fd35e314bdb6e7239dad519018

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.7.2 This release

2 files

0.7.0

2 files

0.6.1

2 files

0.6.0

2 files

0.4.2

3 files

0.4.1

2 files

0.3.2

2 files

0.3.1

2 files

0.2.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page