[−][src]Struct mprober_lib::process::ProcessTimeStat
Fields
utime: u32stime: u32Implementations
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]
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,
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.
fn to_owned(&self) -> T[src]
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.
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>,