Further tweaking of network

This commit is contained in:
ClementTsang 2020-01-21 23:10:32 -05:00
parent 1339df81e1
commit e6b6048afb
2 changed files with 29 additions and 9 deletions

View File

@ -37,6 +37,22 @@ pub struct Data {
pub list_of_disks: Vec<disks::DiskData>,
}
impl Data {
pub fn first_run_cleanup(&mut self) {
self.list_of_cpu_packages = Vec::new();
self.list_of_io = Vec::new();
self.list_of_physical_io = Vec::new();
self.memory = Vec::new();
self.swap = Vec::new();
self.list_of_temperature_sensor = Vec::new();
self.list_of_processes = Vec::new();
self.grouped_list_of_processes = None;
self.list_of_disks = Vec::new();
self.network.first_run();
}
}
pub struct DataState {
pub data: Data,
first_run: bool,
@ -110,7 +126,6 @@ impl DataState {
.get(&self.data.network.last_collection_time)
{
// If not empty, inject joining points
let rx_diff = new_network_data.rx as f64 - prev_data.0.rx as f64;
let tx_diff = new_network_data.tx as f64 - prev_data.0.tx as f64;
let time_gap = current_instant
@ -188,7 +203,7 @@ impl DataState {
);
if self.first_run {
self.data = Data::default();
self.data.first_run_cleanup();
self.first_run = false;
}

View File

@ -35,6 +35,14 @@ impl Default for NetworkStorage {
}
}
impl NetworkStorage {
pub fn first_run(&mut self) {
self.data_points = BTreeMap::default();
self.rx = 0;
self.tx = 0;
}
}
#[derive(Clone, Debug)]
/// Note all values are in bytes...
pub struct NetworkData {
@ -68,13 +76,10 @@ pub async fn get_network_data(
.duration_since(*prev_net_access_time)
.as_secs_f64();
if *prev_net_rx == 0 {
*prev_net_rx = net_rx;
}
if *prev_net_tx == 0 {
*prev_net_tx = net_tx;
}
debug!(
"net rx: {}, net tx: {}, net prev rx: {}, net prev tx: {}",
net_rx, net_tx, *prev_net_rx, *prev_net_tx
);
let rx = ((net_rx - *prev_net_rx) as f64 / elapsed_time) as u64;
let tx = ((net_tx - *prev_net_tx) as f64 / elapsed_time) as u64;