Skip to content

Prometheus Metrics Catalog & PromQL Queries ​

RUSEON Core exposes standard Prometheus metrics at http://<host>:8080/metrics. All metrics are prefixed with ruseon_ and provide granular visibility into stream ingestion, memory buffer saturation, client playback, storage I/O, and event notification pipelines.


1. Stream Ingest & Camera Metrics ​

Metric NameTypeLabelsDescription
ruseon_active_streamsGaugecamera_idCamera connection status (1 = active/ingesting, 0 = offline)
ruseon_stream_reconnects_totalCountercamera_idTotal number of RTSP reconnection attempts
ruseon_frames_received_totalCountercamera_idCumulative number of video frames ingested
ruseon_key_frames_totalCountercamera_idCumulative number of KeyFrames (I-frames) ingested
ruseon_network_receive_bytes_totalCountercamera_idTotal network payload bytes received from RTSP source

2. Ring Buffer & Event Pipeline Metrics ​

Metric NameTypeLabelsDescription
ruseon_ringbuffer_drops_totalCountercamera_idDropped video frames due to slow consumer channel saturation
ruseon_eventbus_drops_totalCounter(none)Dropped webhook/MQTT events due to full worker queues

3. Client Egress (WebRTC & HLS) Metrics ​

Metric NameTypeLabelsDescription
ruseon_webrtc_peers_activeGaugecamera_idNumber of active peer-to-peer WebRTC/WHEP sessions
ruseon_hls_requests_totalCountercamera_idCumulative number of HLS playlist and segment requests served

4. Storage & Recording Metrics ​

Metric NameTypeLabelsDescription
ruseon_disk_write_bytes_totalCountercamera_idCumulative bytes written to disk by the fMP4 archiver
ruseon_archive_segments_written_totalCountercamera_idTotal completed hourly archive segment files written
ruseon_archive_errors_totalCountercamera_idTotal archive write and filesystem I/O errors

5. Sample PromQL Queries ​

Ingest Bandwidth per Camera (Mbps): ​

promql
rate(ruseon_network_receive_bytes_total[1m]) * 8 / 1000000

Total Active WebRTC Viewers Across Server: ​

promql
sum(ruseon_webrtc_peers_active)

Frame Drop Rate (Slow Consumer or Network Congestion): ​

promql
sum by (camera_id) (rate(ruseon_ringbuffer_drops_total[5m]))

Disk Write Throughput (MB/s per Camera): ​

promql
rate(ruseon_disk_write_bytes_total[1m]) / (1024 * 1024)

Total Inactive/Offline Streams: ​

promql
count(ruseon_active_streams == 0)

Released under the MIT License.