fn refresh_cfg_status()

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