diff options
Diffstat (limited to 'src/utils/load_average.rs')
-rw-r--r-- | src/utils/load_average.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/utils/load_average.rs b/src/utils/load_average.rs index 414ab6f..43dc88b 100644 --- a/src/utils/load_average.rs +++ b/src/utils/load_average.rs @@ -1,12 +1,16 @@ use crate::config::CONFIG; use crate::types::ThreadsData; -use nix::sys::sysinfo; + +use nix::libc::{c_double, c_int, getloadavg}; pub fn get_load_avg() -> ThreadsData { - let load = sysinfo::sysinfo().unwrap().load_average().0; + let mut data: [c_double; 3] = [0f64; 3]; + unsafe { getloadavg(data.as_mut_ptr(), data.len() as c_int) }; + let [load, _, _] = data; let data = format!( " {} {:.2} {}", CONFIG.loadavg.icon, load, CONFIG.seperator ); + ThreadsData::LoadAvg(data) } |