Struct mprober_lib::process::ProcessTimeStat
source · [−]Fields
utime: u32
stime: u32
Implementations
sourceimpl ProcessTimeStat
impl ProcessTimeStat
sourcepub fn compute_cpu_utilization_in_percentage(
&self,
process_time_stat_after_this: &ProcessTimeStat,
total_cpu_time: f64
) -> f64
pub fn compute_cpu_utilization_in_percentage(
&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
sourceimpl Clone for ProcessTimeStat
impl Clone for ProcessTimeStat
sourcefn clone(&self) -> ProcessTimeStat
fn clone(&self) -> ProcessTimeStat
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for ProcessTimeStat
impl Debug for ProcessTimeStat
sourceimpl Default for ProcessTimeStat
impl Default for ProcessTimeStat
sourcefn default() -> ProcessTimeStat
fn default() -> ProcessTimeStat
Returns the “default value” for a type. Read more
sourceimpl From<ProcessStat> for ProcessTimeStat
impl From<ProcessStat> for ProcessTimeStat
sourcefn from(process_stat: ProcessStat) -> Self
fn from(process_stat: ProcessStat) -> Self
Converts to this type from the input type.
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more