sgnmon
Monitoring and metrics for SGN streaming pipelines
Prometheus metrics, health checks, and a live dashboard for SGN pipelines, attached without changing the pipeline graph.
Installation
pip install sgnmon
Quickstart
Any sgn application, no code changes:
$ sgnmon run --port 9090 -- sgn-cal --config config.yaml --model model.npz
[sgnmon] dashboard: http://localhost:9090/
A pipeline you build yourself:
from sgnmon import Monitor, MonitorServer
monitor = Monitor()
monitor.tap(pipeline) # observe every pad, no graph changes
with MonitorServer(monitor, port=9090):
pipeline.run(health=monitor) # lifecycle for /readyz and /healthz
From the shell:
$ sgnmon check http://localhost:9090 # health report; exit 0 / 1 / 2
$ sgnmon demo --port 9090 # a monitored example pipeline
What you get
| Attach | Taps at three observation points per element (frames produced, received, and consumed after the audioadapter), in-graph MonitorTransform/MonitorSink elements, or sgnmon run for zero-code attach |
| Metrics | /metrics: frame and gap counts, data/gap seconds, samples, latency histograms, per-pad execution time, freshness, EOS; opt-in process metrics; application metrics via MetricSpec/MetricsMixin |
| Windows | Rates, gap fractions and latencies over a 5 s ... 6 h trailing-window ladder on /status, for sub-minute resolution and consumers without PromQL |
| Health | Default checks (data freshness, throughput, latency drift) that self-pace their startup, opt-in latency/gap/EOS checks; /health and /health/<check> (503 on failure), /readyz and /healthz driven by the pipeline's own lifecycle |
| Dashboard | A self-contained live view of the pipeline graph with per-element rates, latencies, gap fractions and health; composed elements expand in place |
| CLI | sgnmon run, sgnmon check (plugin-friendly exit codes), sgnmon demo |
See the user guide: Attaching to Pipelines, Health Checks, The Monitoring Server, Metrics Reference.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sgnmon-0.2.0.tar.gz.
File metadata
- Download URL: sgnmon-0.2.0.tar.gz
- Upload date:
- Size: 116.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
Hatch/1.16.5 cpython/3.13.12 HTTPX/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5953d7b11b8ab9cf43e6c5d1ea886628d1d9eb27ab31e2c30f2f06f7afeae12
|
|
| MD5 |
37d08adb2d252ad1513c8ecf9329a423
|
|
| BLAKE2b-256 |
65082773bd9bf246366168dcdfb44473b9308af30f43e6a0b4f7aa2dd2513f80
|
File details
Details for the file sgnmon-0.2.0-py3-none-any.whl.
File metadata
- Download URL: sgnmon-0.2.0-py3-none-any.whl
- Upload date:
- Size: 94.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
Hatch/1.16.5 cpython/3.13.12 HTTPX/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f376fb83bdfa20059f8b40c4d09148fa1ff019fb01cbfc069ce0edab1ee881f
|
|
| MD5 |
34b47c5e5265f9d37bfc76f892c88751
|
|
| BLAKE2b-256 |
78d6f26bc4890a1572cb74c63e0f463e6af19aaa3fc5196e5cb707b806dcbee9
|