perf: merge cpuCoreUsage/cpuCoreFreq/cpuCoreHistory into single cpuCores array
This commit is contained in:
parent
8fdd9692e6
commit
c8d71bd871
3 changed files with 25 additions and 34 deletions
|
|
@ -132,22 +132,18 @@ fn emit_cpu(out: &mut impl Write, prev: &[Sample], curr: &[Sample], freqs: &[f64
|
|||
freqs.iter().sum::<f64>() / freqs.len() as f64
|
||||
};
|
||||
|
||||
let n = core_usage.len().max(freqs.len());
|
||||
let _ = write!(
|
||||
out,
|
||||
"{{\"type\":\"cpu\",\"usage\":{usage},\"freq_ghz\":{avg_freq:.3},\"core_usage\":["
|
||||
"{{\"type\":\"cpu\",\"usage\":{usage},\"freq_ghz\":{avg_freq:.3},\"cores\":["
|
||||
);
|
||||
for (i, u) in core_usage.iter().enumerate() {
|
||||
for i in 0..n {
|
||||
if i > 0 {
|
||||
let _ = write!(out, ",");
|
||||
}
|
||||
let _ = write!(out, "{u}");
|
||||
}
|
||||
let _ = write!(out, "],\"core_freq_ghz\":[");
|
||||
for (i, f) in freqs.iter().enumerate() {
|
||||
if i > 0 {
|
||||
let _ = write!(out, ",");
|
||||
}
|
||||
let _ = write!(out, "{f:.3}");
|
||||
let u = core_usage.get(i).copied().unwrap_or(0);
|
||||
let f = freqs.get(i).copied().unwrap_or(0.0);
|
||||
let _ = write!(out, "{{\"usage\":{u},\"freq_ghz\":{f:.3}}}");
|
||||
}
|
||||
let _ = writeln!(out, "]}}");
|
||||
}
|
||||
|
|
@ -360,8 +356,7 @@ SwapFree: 8192000 kB";
|
|||
assert!(s.contains("\"type\":\"cpu\""));
|
||||
assert!(s.contains("\"usage\":"));
|
||||
assert!(s.contains("\"freq_ghz\":"));
|
||||
assert!(s.contains("\"core_usage\":"));
|
||||
assert!(s.contains("\"core_freq_ghz\":"));
|
||||
assert!(s.contains("\"cores\":"));
|
||||
assert!(s.trim().ends_with('}'));
|
||||
}
|
||||
|
||||
|
|
@ -399,8 +394,8 @@ SwapFree: 8192000 kB";
|
|||
let mut buf = Vec::new();
|
||||
emit_cpu(&mut buf, &curr, &curr, &freqs);
|
||||
let s = String::from_utf8(buf).unwrap();
|
||||
assert!(s.contains("3.200"), "got: {s}");
|
||||
assert!(s.contains("2.900"), "got: {s}");
|
||||
assert!(s.contains("\"freq_ghz\":3.200"), "got: {s}");
|
||||
assert!(s.contains("\"freq_ghz\":2.900"), "got: {s}");
|
||||
}
|
||||
|
||||
// ── emit_mem (via parse_meminfo) ─────────────────────────────────────
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue