Skip to main content

A streaming process monitoring tool

Project description

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

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

Project details


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.6.1.tar.gz (306.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.6.1-cp312-cp312-manylinux_2_39_x86_64.whl (513.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

File details

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

File metadata

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

File hashes

Hashes for denet-0.6.1.tar.gz
Algorithm Hash digest
SHA256 79812d88c66df25cffbab762ac2f896915587544e24a6da308b1e4f1c24d1520
MD5 ad732a461a37499c39ff4d01c12ed02a
BLAKE2b-256 8a50b5912b61be003b80aca00a6b66d39276f156e69c8276369b2d6f368e6376

See more details on using hashes here.

File details

Details for the file denet-0.6.1-cp312-cp312-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for denet-0.6.1-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 c99fc0bbcef7f07b3a425879a3282edbe7acda7c108b6ac42b2972c8d815e363
MD5 3b21dd728335c6ff1832751ce80b9b52
BLAKE2b-256 945512b96edcff9c609fed9c6368c9ae1043a34fac7b943304d556fccf40920b

See more details on using hashes here.

Supported by

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