use std::time::Duration;
use crate::cpu::{CpuTimes, CpuTimesPercent};
use crate::Percent;
pub trait CpuTimesExt {
fn iowait(&self) -> Duration;
fn irq(&self) -> Duration;
fn softirq(&self) -> Duration;
fn steal(&self) -> Option<Duration>;
fn guest(&self) -> Option<Duration>;
fn guest_nice(&self) -> Option<Duration>;
}
impl CpuTimesExt for CpuTimes {
fn iowait(&self) -> Duration {
self.iowait
}
fn irq(&self) -> Duration {
self.irq
}
fn softirq(&self) -> Duration {
self.softirq
}
fn steal(&self) -> Option<Duration> {
self.steal
}
fn guest(&self) -> Option<Duration> {
self.guest
}
fn guest_nice(&self) -> Option<Duration> {
self.guest_nice
}
}
pub trait CpuTimesPercentExt {
fn iowait(&self) -> Percent;
fn irq(&self) -> Percent;
fn softirq(&self) -> Percent;
fn steal(&self) -> Option<Percent>;
fn guest(&self) -> Option<Percent>;
fn guest_nice(&self) -> Option<Percent>;
}
impl CpuTimesPercentExt for CpuTimesPercent {
fn iowait(&self) -> Percent {
self.iowait
}
fn irq(&self) -> Percent {
self.irq
}
fn softirq(&self) -> Percent {
self.softirq
}
fn steal(&self) -> Option<Percent> {
self.steal
}
fn guest(&self) -> Option<Percent> {
self.guest
}
fn guest_nice(&self) -> Option<Percent> {
self.guest_nice
}
}