diff options
author | pvanheus <pvh@webbedfeet.co.za> | 2021-03-13 03:03:25 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-12 20:03:25 -0500 |
commit | d8f8a92b55f1404b17c7db41d8fd5f49c12b83b5 (patch) | |
tree | 4b9b3722553b28608ac2b226fcd6c474101e78fd /src/app/data_harvester.rs | |
parent | fd41c1367c0d9cf30c8598c1c4388e49054a9e68 (diff) |
feature: Add support for displaying load average (#392)
Diffstat (limited to 'src/app/data_harvester.rs')
-rw-r--r-- | src/app/data_harvester.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/app/data_harvester.rs b/src/app/data_harvester.rs index 0fc8c6a5..3b7a0f63 100644 --- a/src/app/data_harvester.rs +++ b/src/app/data_harvester.rs @@ -19,6 +19,7 @@ use super::DataFilters; pub mod batteries; pub mod cpu; pub mod disks; +pub mod load_avg; pub mod mem; pub mod network; pub mod processes; @@ -28,6 +29,7 @@ pub mod temperature; pub struct Data { pub last_collection_time: Instant, pub cpu: Option<cpu::CpuHarvest>, + pub load_avg: Option<load_avg::LoadAvgHarvest>, pub memory: Option<mem::MemHarvest>, pub swap: Option<mem::MemHarvest>, pub temperature_sensors: Option<Vec<temperature::TempHarvest>>, @@ -43,6 +45,7 @@ impl Default for Data { Data { last_collection_time: Instant::now(), cpu: None, + load_avg: None, memory: None, swap: None, temperature_sensors: None, @@ -64,6 +67,7 @@ impl Data { self.memory = None; self.swap = None; self.cpu = None; + self.load_avg = None; if let Some(network) = &mut self.network { network.first_run_cleanup(); @@ -248,6 +252,14 @@ impl DataCollector { self.data.cpu = Some(cpu_data); } } + + #[cfg(target_family = "unix")] + { + // Load Average + if let Ok(load_avg_data) = load_avg::get_load_avg().await { + self.data.load_avg = Some(load_avg_data); + } + } } // Batteries |