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

Uploaded Source

Built Distribution

File details

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

File metadata

File hashes

Hashes for energon_prometheus_exporter-0.0.12.tar.gz
Algorithm Hash digest
SHA256 d76c15df02c06ff52b6ac1d3f74045bd69923c03fce91d98eb3b3796c19b063b
MD5 85af234667f12956d92bab0aa8ed5f56
BLAKE2b-256 35b37c036f474fc9e704bad90dc4d82087468a1764169067e50e5aca0379134f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for energon_prometheus_exporter-0.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 1e7f5adc6239da9abe0a110ceadb3c4b6f00743fe9e33bf69ed915676731a67c
MD5 db42409fde77c33050e0fdd3c061d383
BLAKE2b-256 09b66dbe047537fd1578acf18108237013ed07cc998c5b2aa78dd55ab09533d6

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