Skip to content

Commit 1ca4650

Browse files
Add Prometheus metrics for CPU temperature, frequency, battery percentage, and dashboard memory usage
1 parent aa621a5 commit 1ca4650

2 files changed

Lines changed: 14 additions & 1 deletion

File tree

requirements.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,7 @@ watchdog==5.0.2
2323
requests==2.32.3
2424

2525
# Speedtest CLI for testing internet speed
26-
speedtest-cli==2.1.3
26+
speedtest-cli==2.1.3
27+
28+
# prometheus client for monitoring
29+
prometheus_client==0.20.0

src/routes/prometheus.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@
1515
network_sent_metric = Gauge('network_bytes_sent', 'Total network bytes sent')
1616
network_recv_metric = Gauge('network_bytes_received', 'Total network bytes received')
1717
request_count = Counter('http_requests_total', 'Total HTTP requests made')
18+
cpu_temp_metric = Gauge('cpu_temperature', 'Current CPU temperature')
19+
cpu_frequency_metric = Gauge('cpu_frequency', 'Current CPU frequency')
20+
battery_percentage_metric = Gauge('battery_percentage', 'Current battery percentage')
21+
dashboard_memory_usage_metric = Gauge('dashboard_memory_usage_percentage', 'Current memory usage percentage')
22+
1823

1924
def collect_metrics():
2025
"""
@@ -32,6 +37,11 @@ def collect_metrics():
3237
disk_usage_metric.set(system_info['disk_percent'])
3338
network_sent_metric.set(system_info['network_sent'])
3439
network_recv_metric.set(system_info['network_received'])
40+
cpu_temp_metric.set(system_info['current_temp'])
41+
cpu_frequency_metric.set(system_info['cpu_frequency'])
42+
battery_percentage_metric.set(system_info['battery_percent'])
43+
dashboard_memory_usage_metric.set(system_info['dashboard_memory_usage'])
44+
3545

3646
# Increment HTTP request counter
3747
request_count.inc()

0 commit comments

Comments
 (0)