Overview of RidgeRun GStreamer Analytics

From RidgeRun Developer Wiki


Follow Us On Twitter LinkedIn Email Share this page





The RidgeRun GStreamer Analytics platform provides a complete solution for collecting, centralizing, and visualizing metrics and debug logs for systems running GStreamer pipelines. It enables engineers to monitor hardware resource utilization, process behavior, and pipeline performance across multiple devices, all from a single centralized dashboard.

RidgeRun GStreamer Analytics. Try it for free!
RidgeRun GStreamer Analytics. Try it for free!

Data Collection and Visualization

The system captures three main categories of data: system metrics, process metrics, and pipeline metrics, providing engineers with visibility into both the device health and GStreamer workloads.

1. System Metrics

Collected at one-second intervals, system metrics provide a real-time view of the resource utilization of each monitored device.

These include:

  • CPU Usage: Per-core and total usage.
  • Memory Usage: Both absolute (MB) and relative (%).
  • Disk I/O: Read and write rates.
  • Network I/O: Data throughput and usage.
  • Jetson-Specific Metrics: For NVIDIA Jetson devices, additional hardware utilization data is collected via tegrastats:
    • GPU usage
    • Codec usage
    • VIC (Video Image Compositor) usage
    • EMC (External Memory Controller) usage
    • NVDLA (Deep Learning Accelerator) usage
    • PVA (Programmable Vision Accelerator) usage

Metrics are exposed to the server through a Prometheus exporter, enabling long-term, time-series analysis and alerting.

GStreamer RidgeRun Analytics collected system metrics

2. Per-Process Metrics

Each monitored process, including GStreamer applications, has its performance tracked independently to aid in troubleshooting and optimization:

  • Process runtime
  • CPU usage
  • Memory usage
  • Disk I/O
  • GStreamer Debug Traces

This level of granularity allows engineers to identify resource-intensive processes and analyze performance bottlenecks in isolation.

GStreamer RidgeRun Analytics collected process metrics

3. Per-Pipeline Metrics

The platform captures performance data from specific points within GStreamer pipelines, including:

  • Pipeline runtime
  • Frames Per Second (FPS)
  • Bitrate / Bits Per Second (BPS)

These metrics help validate pipeline performance, detect issues like frame drops or bandwidth saturation, and ensure compliance with quality targets.

GStreamer RidgeRun Analytics collected per pipeline metrics

Debug Logging

Debug logging is a core feature of the RidgeRun GStreamer Analytics platform, providing detailed visibility into GStreamer runtime behavior and enabling efficient troubleshooting. Both logging mechanisms leverage a custom GStreamer tracer for structured and precise log generation.

The platform supports two complementary logging modes:

1. Remote Debug Logging

  • Live GStreamer debug traces are streamed directly to Grafana for real-time troubleshooting.
  • Categories and log levels are runtime configurable via a custom Grafana plugin, without requiring service restarts.
  • Uses standard GST_DEBUG syntax for defining logging verbosity and categories.
  • Logs are captured at runtime using the custom GStreamer tracer.
GStreamer RidgeRun Analytics custom plugin for debug logging configuration

Grafana Drilldown Integration

Logs are visualized using Grafana Drilldown panels, which provide advanced exploration and correlation features:

  • Dynamic Filtering: Filter log entries by keywords, values, or patterns within the log lines.
  • Grouping: Organize logs by metadata such as system, process, pipeline, or custom tags.
  • Multi-Level Navigation: Drill down from system high-level summaries to detailed log views.
  • Event Timeline: Navigate logs over time to track issues in sequence.

This deep integration allows engineers to move seamlessly from identifying anomalies to root cause analysis directly within Grafana.

GStreamer RidgeRun Analytics Grafana Drilldown Integration for logs visualization

2. Circular Debug Logging

  • Logs are stored locally on each device using a circular buffer, preventing disk overuse.
  • Retention can be configured based on:
    • Time
    • File size
    • Number of lines
  • Logging levels and categories are runtime configurable through the same custom Grafana plugin.
  • Logs are also captured using the custom GStreamer tracer, ensuring consistent structure and metadata.
  • Ensures that recent logs remain available for offline troubleshooting when network access is limited or intermittent.

Data Presentation in Grafana

Metrics are presented through pre-provisioned Grafana dashboards grouped under the RR Analytics folder. These dashboards are organized hierarchically by systems, processes and pipelines for intuitive navigation, and have several key features:

  • Multi-Select Filters: Filter views by System, Process, or Pipeline to focus on specific devices or workloads.
  • Flexible Time Ranges: From live, per-second updates to long-term historical analysis.
  • Debug Panels: Performance metrics are displayed for comprehensive visualization and analysis.
  • Dashboard Variants:
    • GStreamer RR Analytics: Standard metrics and logs for general systems.
    • GStreamer RR Analytics – Jetson: Adds Jetson-specific hardware performance panels.
  • Report Exporting: Generate snapshots for customer reports or internal reviews.