aboutsummaryrefslogtreecommitdiff
path: root/src/utils/load_average.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils/load_average.rs')
-rw-r--r--src/utils/load_average.rs8
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)
}