in src/core/admin/src/lib.rs [214:258]
fn get_rusage() {
let mut rusage = libc::rusage {
ru_utime: libc::timeval {
tv_sec: 0,
tv_usec: 0,
},
ru_stime: libc::timeval {
tv_sec: 0,
tv_usec: 0,
},
ru_maxrss: 0,
ru_ixrss: 0,
ru_idrss: 0,
ru_isrss: 0,
ru_minflt: 0,
ru_majflt: 0,
ru_nswap: 0,
ru_inblock: 0,
ru_oublock: 0,
ru_msgsnd: 0,
ru_msgrcv: 0,
ru_nsignals: 0,
ru_nvcsw: 0,
ru_nivcsw: 0,
};
if unsafe { libc::getrusage(libc::RUSAGE_SELF, &mut rusage) } == 0 {
RU_UTIME.set(rusage.ru_utime.tv_sec as u64 * S + rusage.ru_utime.tv_usec as u64 * US);
RU_STIME.set(rusage.ru_stime.tv_sec as u64 * S + rusage.ru_stime.tv_usec as u64 * US);
RU_MAXRSS.set(rusage.ru_maxrss * KB as i64);
RU_IXRSS.set(rusage.ru_ixrss * KB as i64);
RU_IDRSS.set(rusage.ru_idrss * KB as i64);
RU_ISRSS.set(rusage.ru_isrss * KB as i64);
RU_MINFLT.set(rusage.ru_minflt as u64);
RU_MAJFLT.set(rusage.ru_majflt as u64);
RU_NSWAP.set(rusage.ru_nswap as u64);
RU_INBLOCK.set(rusage.ru_inblock as u64);
RU_OUBLOCK.set(rusage.ru_oublock as u64);
RU_MSGSND.set(rusage.ru_msgsnd as u64);
RU_MSGRCV.set(rusage.ru_msgrcv as u64);
RU_NSIGNALS.set(rusage.ru_nsignals as u64);
RU_NVCSW.set(rusage.ru_nvcsw as u64);
RU_NIVCSW.set(rusage.ru_nivcsw as u64);
}
}