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

Uploaded Source

Built Distribution

File details

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

File metadata

File hashes

Hashes for energon_prometheus_exporter-0.0.4.tar.gz
Algorithm Hash digest
SHA256 cb6a8d71037de1401bc30cd1c94587550e0ecf6ea186f9b2749a9ec810360d2c
MD5 cc96fbfc9e01ade76be558e53995dc12
BLAKE2b-256 1b662e9ac71d8a36aa1db2009f5c01f39db32503f299c630b04edf8cd45740cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for energon_prometheus_exporter-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c082468ca5398d409bcda5d083adf1c5e44f32ddefc9f24ab2426be835a2eb64
MD5 815d5172cce061096c0fb65c1fe1a43e
BLAKE2b-256 afd9eea20c8213c009ae997ba40f13a572a1da3a533ea77cc51f52d4ce7db2bd

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