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:
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for energon_prometheus_exporter-0.0.6.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c625e89f58c9c4e804bb7ef23cb80ae7f4600a31405df9bef0d34a26276b03c |
|
MD5 | f6eaa114155864e39aeb6ec0d6519ac4 |
|
BLAKE2b-256 | 2670cac6df5bd0e48ba32b8bcbfc9d530f82d80e81bb8266f1ef66434f2bdf63 |
Hashes for energon_prometheus_exporter-0.0.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be4f49a0de39274bf73b20e2a348d2a7c9fdfa2228320fde9f3dcc6b27adebeb |
|
MD5 | 7b070f883beb881c9d7f6191a0a20e0d |
|
BLAKE2b-256 | 8a4a23fe2fe6248f07a1aa0854b3f28f2cde71a7d8480513ec1fd823357f1df3 |