22212460fc
Implémentation complète des 4 modules sysinfo 0.30 (sans default-features). - cpu: moyenne sur tous les cœurs via refresh_cpu_usage() - memory: used/free/total via System - network: total_received/total_transmitted via Networks - uptime: System::uptime() statique 10 tests unitaires passent.
21 lines
493 B
Rust
21 lines
493 B
Rust
use sysinfo::System;
|
|
|
|
pub fn get(sys: &System) -> (u64, u64, u64) {
|
|
(sys.used_memory(), sys.free_memory(), sys.total_memory())
|
|
}
|
|
|
|
#[cfg(test)]
|
|
mod tests {
|
|
use super::*;
|
|
use sysinfo::System;
|
|
|
|
#[test]
|
|
fn test_memory_coherent() {
|
|
let mut sys = System::new();
|
|
sys.refresh_memory();
|
|
let (used, free, total) = get(&sys);
|
|
assert!(total > 0, "Total mémoire nul");
|
|
assert!(used + free <= total + 1024 * 1024, "used + free > total");
|
|
}
|
|
}
|