From 4eb0aebaef1304a5516b6fa864cb4c55daed9147 Mon Sep 17 00:00:00 2001 From: Jonathan Bennett Date: Wed, 14 May 2025 16:58:20 -0500 Subject: [PATCH] Add Linux Host Metrics (#685) * Add Linux Host Metrics * Tweak to load values --- meshtastic/telemetry.options | 4 +++ meshtastic/telemetry.proto | 51 ++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) diff --git a/meshtastic/telemetry.options b/meshtastic/telemetry.options index a429c3e..f930bcd 100644 --- a/meshtastic/telemetry.options +++ b/meshtastic/telemetry.options @@ -10,3 +10,7 @@ *HealthMetrics.heart_bpm int_size:8 *HealthMetrics.spO2 int_size:8 + +*HostMetrics.load1 int_size:16 +*HostMetrics.load5 int_size:16 +*HostMetrics.load15 int_size:16 \ No newline at end of file diff --git a/meshtastic/telemetry.proto b/meshtastic/telemetry.proto index 68b4e5d..3e4af66 100644 --- a/meshtastic/telemetry.proto +++ b/meshtastic/telemetry.proto @@ -340,6 +340,52 @@ message LocalStats { optional float temperature = 3; } +/* + * Linux host metrics + */ +message HostMetrics { + /* + * Host system uptime + */ + uint32 uptime_seconds = 1; + + /* + * Host system free memory + */ + uint64 freemem_bytes = 2; + + /* + * Host system disk space free for / + */ + uint64 diskfree1_bytes = 3; + + /* + * Secondary system disk space free + */ + optional uint64 diskfree2_bytes = 4; + + /* + * Tertiary disk space free + */ + optional uint64 diskfree3_bytes = 5; + + /* + * Host system one minute load in 1/100ths + */ + uint32 load1 = 6; + + /* + * Host system five minute load in 1/100ths + */ + uint32 load5 = 7; + + /* + * Host system fifteen minute load in 1/100ths + */ + uint32 load15 = 8; +} + + /* * Types of Measurements the telemetry module is equipped to handle */ @@ -379,6 +425,11 @@ message Telemetry { * Health telemetry metrics */ HealthMetrics health_metrics = 7; + + /* + * Linux host metrics + */ + HostMetrics host_metrics = 8; } }