Skip to main content

Energon is a Prometheus compliant system monitoring tools, it focuses on the energy consumption and resource usage in constrained devices but it integrates reporting tools for desktop machine, too.

Project description

Energon_Prometheus_exporter

Energon is a Prometheus [https://prometheus.io/] compliant system monitoring tools, it focuses on the energy consumption and resource usage in constrained devices but it integrates reporting tools for desktop machine, too.

Currently supported models:

  • Jetson Nano Dev Kit here;
  • Jetson Xavier NX Dev Kit here;
  • Jetson Xavier NX Seed Studio here;
  • Jetson Orin Dev Kit here;
  • USB Tester UM25C USB Meter Tester here;
  • Linux x86 architecture based systems.

Screenshots:

Energon Grafana Dashboard Energon Grafana Dashboard

Usage:

From the repository

  • Install prometheus [https://prometheus.io/docs/prometheus/latest/installation/];
  • Download this repository: git clone git@github.com:MatteoMendula/Energon_Prometheus_exporter.git
  • Install required python packages: pip3 install -r requirements.txt;
  • Run: sudo python3 energon.py for running a single metric scan;
  • Run: sudo python3 prometheus_exporter.py for running the prometheus exporter on default port 9877;

With pip install

  • pip3 install Energon-Prometheus-exporter;
from energon_prometheus_exporter.prometheus_exporter import EnergonPrometheusExporter 
server_exporter = EnergonPrometheusExporter(DESIRED_PORT)
server_exporter.run()

The application requires sudo privileges to access to some system files. You can still run the application without sudo privileges but some metrics will not be available.

Currently supported features:

All metrics names are compliat with prometheus specifications as described in [https://prometheus.io/docs/practices/naming/].

Energy metrics:

  • energon_device_info: device information;
  • energon_total_in_power_mW: current total power consumption in milliwatts;
  • energon_cpu_in_power_mW: current cpu power consumption in milliwatts;
  • energon_gpu_in_power_mW: current gpu power consumption in milliwatts;
  • energon_total_in_voltage_mV: current total voltage in millivolts;
  • energon_cpu_in_voltage_mV: current cpu voltage in millivolts;
  • energon_gpu_in_voltage_mV: current gpu voltage in millivolts;
  • energon_battery_percentage: current battery percentage.

USB Tester UM25C USB Meter Tester metrics:

N.B. Only if real sensor is connected!

  • energon_total_actual_watts: total actual power consumption in watts;
  • energon_total_actual_volts: total actual voltage in volts;
  • energon_total_actual_amps: total actual current in amps.

Network metrics:

For each interface_name

  • energon_network_metrics_[interface_name]_rx_packets: received packets;
  • energon_network_metrics_[interface_name]_rx_bytes: received bytes;
  • energon_network_metrics_[interface_name]_rx_errors: received errors;
  • energon_network_metrics_[interface_name]_rx_dropped: received dropped packets;
  • energon_network_metrics_[interface_name]_tx_packets: transmitted packets;
  • energon_network_metrics_[interface_name]_tx_bytes: trasmitted bytes;
  • energon_network_metrics_[interface_name]_tx_errors: transmitted errors;
  • energon_network_metrics_[interface_name]_tx_dropped: transmitted dropped packets. Mainly for wifi interfaces
  • energon_network_quality_[interface_name]_link_quality_x_over_70: link quality x/70 for interface [interface_name];
  • energon_network_quality_[interface_name]_signal_level_dBm: signal level in dBm for interface [interface_name];
  • energon_network_quality_[interface_name]_bit_rate_Mbs: bit rate in Mbs for interface [interface_name].

Cpu usage:

For each core_number

  • energon_cpu_[core_number]_MHz: cpu frequency in MHz for core [core_number];
  • energon_cpu_[core_number]_usage_percentage: CPU usage as % for core [core_number]. Total
  • energon_cpu_total_usage_percentage: total CPU usage as %.

Storage:

For each available [storage_device]

  • energon_storage_[storage_device]_total_bytes: total bytes for storage [storage_device];
  • energon_storage_[storage_device]_used_bytes: used bytes for storage [storage_device];
  • energon_storage_[storage_device]_available_bytes: available bytes for storage [storage_device];
  • energon_storage_[storage_device]_percent_used_percentage: storage usage percentage for storage [storage_device]. Total
  • energon_storage_total_bytes: total storage in bytes;
  • energon_storage_used_bytes: total used storage in bytes;
  • energon_storage_available_bytes: total available storage in bytes;
  • energon_storage_percent_used_percentage: Storage usage percentage.

Ram usage:

  • energon_ram_total_bytes: total ram in bytes;
  • energon_ram_used_bytes: total used ram in bytes;
  • energon_ram_available_bytes: total available ram in bytes;
  • energon_ram_used_percentage: ram usage percentage.

GPU metrics:

  • energon_gpu_total_usage_percentage: total GPU usage as %.

Temperature metrics:

For each available [temperature_sensor]

  • energon_temperature_[temperature_sensor]_mC: temperature in milliCelsius for sensor [temperature_sensor].

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

energon_prometheus_exporter-0.0.5.tar.gz (15.9 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file energon_prometheus_exporter-0.0.5.tar.gz.

File metadata

File hashes

Hashes for energon_prometheus_exporter-0.0.5.tar.gz
Algorithm Hash digest
SHA256 b89fa925dda5fd939c55c539aaf3869a757e536ef8d8117a3a1f7e507f32dcdf
MD5 390b5060342eaedaf9a53c306c3404e9
BLAKE2b-256 6b9e58bca1baf01eeb7536a3ef5dd6d67b0d15bf5e87b7b78d8e3fffcfc37597

See more details on using hashes here.

File details

Details for the file energon_prometheus_exporter-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for energon_prometheus_exporter-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 15c23b9ee582eec6fa4f668109ed9417d403ae6e690312718591a7235640ad60
MD5 2d2e3b9a7dede0b7b26e155d3181cc8b
BLAKE2b-256 397f26003b40bfe040961fb3b47dec0b142a89ed52b5468465f9e7ec95a14ad7

See more details on using hashes here.

Supported by

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