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; } }