use sysinfo::{DiskUsage, ProcessExt};
#[derive(Debug)]
#[allow(dead_code)]
pub(super) struct Process {
pub(super) memory: u64,
pub(super) virtual_memory: u64,
pub(super) cpu_usage: f32,
pub(super) disk_usage: DiskUsage,
}
impl Process {
pub(super) fn map(process: &sysinfo::Process, processors: usize) -> Process {
let usage = process.disk_usage();
Process {
memory: process.memory(),
virtual_memory: process.virtual_memory(),
cpu_usage: process.cpu_usage() / processors as f32,
disk_usage: DiskUsage {
total_written_bytes: usage.total_written_bytes,
written_bytes: usage.written_bytes,
total_read_bytes: usage.total_read_bytes,
read_bytes: usage.read_bytes,
},
}
}
}