diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/utils/load_average.rs | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/src/utils/load_average.rs b/src/utils/load_average.rs index 70e4a72..414ab6f 100644 --- a/src/utils/load_average.rs +++ b/src/utils/load_average.rs @@ -1,18 +1,12 @@ use crate::config::CONFIG; use crate::types::ThreadsData; -use std::fs::File; -use std::io::Read; +use nix::sys::sysinfo; pub fn get_load_avg() -> ThreadsData { - let mut buf = String::new(); - match File::open("/proc/loadavg") { - Ok(mut file) => match file.read_to_string(&mut buf) { - Ok(data) => data, - _ => return ThreadsData::LoadAvg(String::from("")), - }, - _ => return ThreadsData::LoadAvg(String::from("Error")), - }; - let buf = buf.split_whitespace().collect::<Vec<_>>()[0]; - let data = format!(" {} {} {}", CONFIG.loadavg.icon, buf, CONFIG.seperator); + let load = sysinfo::sysinfo().unwrap().load_average().0; + let data = format!( + " {} {:.2} {}", + CONFIG.loadavg.icon, load, CONFIG.seperator + ); ThreadsData::LoadAvg(data) } |