diff options
author | Mustafa Salih <37256744+MustafaSalih1993@users.noreply.github.com> | 2021-05-12 16:46:48 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-12 16:46:48 +0300 |
commit | b1d81bf8c936509b6f83b2eac98da8ae72e0a4e3 (patch) | |
tree | 50106d4dfd76ff20ae57d22be922bc5dc5983c9e /src/utils/load_average.rs | |
parent | 674f6811fe43dd0949052e225bf4c91a63de323e (diff) |
getting data programmatically (#56)
* getting loadavg programmatically
* added missing uptime in rsblock.yml
* using clock_gettime syscall to get uptime
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) } |