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.7.tar.gz (15.8 kB view details)

Uploaded Source

Built Distribution

File details

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

File metadata

File hashes

Hashes for energon_prometheus_exporter-0.0.7.tar.gz
Algorithm Hash digest
SHA256 fb17df706df6268a2fb1c56b1e0cb0dc326ba187ad51392bcebc53053b127701
MD5 aafeb53425f17af0efb8bad36c964e45
BLAKE2b-256 f99112f092320aa8b7028af0edb48baaa0ed4ca86f10266b26933c2408a32390

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for energon_prometheus_exporter-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 db651a466f12a3090a0eab57befd317fd259c5bc9fe1f0520e571f5fc16ba835
MD5 bad80c5a782314cd79b5299d0a11c393
BLAKE2b-256 336a0ac0cf0e489e29464bc0e5305aadee71c3b26a3c1cc4610af372dc551022

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