fn parse_proc_stat()

in src/samplers/cpu/mod.rs [394:434]


fn parse_proc_stat(line: &str) -> HashMap<CpuStatistic, u64> {
    let mut result = HashMap::new();
    for (id, part) in line.split_whitespace().enumerate() {
        match id {
            0 => {
                if part != "cpu" {
                    return result;
                }
            }
            1 => {
                result.insert(CpuStatistic::UsageUser, part.parse().unwrap_or(0));
            }
            2 => {
                result.insert(CpuStatistic::UsageNice, part.parse().unwrap_or(0));
            }
            3 => {
                result.insert(CpuStatistic::UsageSystem, part.parse().unwrap_or(0));
            }
            4 => {
                result.insert(CpuStatistic::UsageIdle, part.parse().unwrap_or(0));
            }
            6 => {
                result.insert(CpuStatistic::UsageIrq, part.parse().unwrap_or(0));
            }
            7 => {
                result.insert(CpuStatistic::UsageSoftirq, part.parse().unwrap_or(0));
            }
            8 => {
                result.insert(CpuStatistic::UsageSteal, part.parse().unwrap_or(0));
            }
            9 => {
                result.insert(CpuStatistic::UsageGuest, part.parse().unwrap_or(0));
            }
            10 => {
                result.insert(CpuStatistic::UsageGuestNice, part.parse().unwrap_or(0));
            }
            _ => {}
        }
    }
    result
}