in resctl-demo/src/status.rs [41:85]
fn refresh_cfg_status(siv: &mut Cursive, rep: &ResCtlReport) {
let mut line = StyledString::new();
let sysreqs = AGENT_FILES.sysreqs();
let nr_satisfied = sysreqs.satisfied.len();
let nr_missed = sysreqs.missed.map.len();
let full_control = rep.cpu && rep.mem && rep.io;
line.append_plain("[");
line.append_styled(
format!("{:^11}", "config"),
if nr_missed > 0 || !full_control {
*COLOR_ALERT
} else {
*COLOR_ACTIVE
},
);
line.append_plain("]");
line.append_plain(format!(" satisfied: {:2}", nr_satisfied));
line.append_styled(
format!(" missed: {:2}", nr_missed),
if nr_missed > 0 {
*COLOR_ALERT
} else {
*COLOR_ACTIVE
},
);
if !full_control {
line.append_plain(",");
}
if !rep.cpu {
line.append_styled(" -cpu", *COLOR_ALERT);
}
if !rep.mem {
line.append_styled(" -mem", *COLOR_ALERT);
}
if !rep.io {
line.append_styled(" -io", *COLOR_ALERT);
}
siv.call_on_name("status-cfg", |v: &mut TextView| {
v.set_content(line);
});
}