Struct mprober_lib::process::ProcessTimeStat [−][src]
Fields
utime: u32
stime: u32
Implementations
impl ProcessTimeStat
[src]
pub fn compute_cpu_utilization_in_percentage(
&self,
process_time_stat_after_this: &ProcessTimeStat,
total_cpu_time: f64
) -> f64
[src]
&self,
process_time_stat_after_this: &ProcessTimeStat,
total_cpu_time: f64
) -> f64
Compute CPU utilization in percentage between two ProcessTimeStat
instances at different time. If it returns 1.0
, means 100%
.
extern crate mprober_lib; use std::thread::sleep; use std::time::Duration; use mprober_lib::cpu; use mprober_lib::process; let pre_average_cpu_stat = cpu::get_average_cpu_stat().unwrap(); let pre_process_time_stat = process::get_process_time_stat(1).unwrap(); sleep(Duration::from_millis(100)); let average_cpu_stat = cpu::get_average_cpu_stat().unwrap(); let process_time_stat = process::get_process_time_stat(1).unwrap(); let total_cpu_time_f64 = { let pre_average_cpu_time = pre_average_cpu_stat.compute_cpu_time(); let average_cpu_time = average_cpu_stat.compute_cpu_time(); (average_cpu_time.get_total_time() - pre_average_cpu_time.get_total_time()) as f64 }; let cpu_percentage = pre_process_time_stat .compute_cpu_utilization_in_percentage(&process_time_stat, total_cpu_time_f64); println!("{:.2}%", cpu_percentage * 100.0);
Trait Implementations
impl Clone for ProcessTimeStat
[src]
fn clone(&self) -> ProcessTimeStat
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for ProcessTimeStat
[src]
impl Default for ProcessTimeStat
[src]
fn default() -> ProcessTimeStat
[src]
impl From<ProcessStat> for ProcessTimeStat
[src]
fn from(process_stat: ProcessStat) -> Self
[src]
Auto Trait Implementations
impl RefUnwindSafe for ProcessTimeStat
impl Send for ProcessTimeStat
impl Sync for ProcessTimeStat
impl Unpin for ProcessTimeStat
impl UnwindSafe for ProcessTimeStat
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,