redbear-power: add load average to JSON export

Add a JsonLoad struct with load_avg_1m/5m/15m fields and include it in the --json snapshot. Values are read from app.load_avg. Build, 224 tests, clippy, and fmt clean.
This commit is contained in:
Sisyphus Agent
2026-07-07 15:40:56 +03:00
parent 777a2c71d3
commit 19c7856642
@@ -2493,6 +2493,7 @@ pub fn render_json(app: &App) -> io::Result<()> {
cpu: JsonCpu,
memory: JsonMemory,
power: JsonPower,
load: JsonLoad,
network: JsonNetwork,
storage: JsonStorage,
processes: JsonProcesses,
@@ -2505,6 +2506,12 @@ pub fn render_json(app: &App) -> io::Result<()> {
uptime_secs: u64,
}
#[derive(Serialize)]
struct JsonLoad {
load_avg_1m: Option<f64>,
load_avg_5m: Option<f64>,
load_avg_15m: Option<f64>,
}
#[derive(Serialize)]
struct JsonCpu {
vendor: String,
model: String,
@@ -2642,6 +2649,11 @@ pub fn render_json(app: &App) -> io::Result<()> {
pp1_watts: app.pp1_power_w,
dram_watts: app.dram_power_w,
},
load: JsonLoad {
load_avg_1m: app.load_avg.map(|(a, _, _)| a),
load_avg_5m: app.load_avg.map(|(_, b, _)| b),
load_avg_15m: app.load_avg.map(|(_, _, c)| c),
},
network: JsonNetwork {
interfaces: app
.net