musage 0.1.6

🧵 A command line memory usage information tool.
Documentation
use crate::stats::StatsMem;
use crate::stats::StatsSwap;
use clap::ArgMatches;

use procfs::Current;
use procfs::Meminfo;

pub struct Reader;

impl Reader {
    pub fn read(args: &ArgMatches) -> (StatsMem, StatsSwap) {
        let meminfo = Meminfo::current();
        match meminfo {
            Ok(meminfo) => (
                StatsMem::new("Mem", meminfo.clone(), args),
                StatsSwap::new("Swap", meminfo, args),
            ),
            Err(err) => {
                println!("Error: {err}");
                (StatsMem::new_empty(), StatsSwap::new_empty())
            }
        }
    }
}