diff options
Diffstat (limited to 'src/stats.rs')
| -rw-r--r-- | src/stats.rs | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/src/stats.rs b/src/stats.rs index 1d2f451..db99fb4 100644 --- a/src/stats.rs +++ b/src/stats.rs @@ -21,7 +21,10 @@ pub fn compute_stats(states: &[crate::state::State]) -> Option<Stats> { let mut rtts: Vec<u64> = Vec::new(); let mut ttls: Vec<u32> = Vec::new(); - let received = states.iter().filter(|state| matches!(state, crate::state::State::Received { .. })).count(); + let received = states + .iter() + .filter(|state| matches!(state, crate::state::State::Received { .. })) + .count(); let lost = states.len() - received; if received == 0 { @@ -42,7 +45,11 @@ pub fn compute_stats(states: &[crate::state::State]) -> Option<Stats> { let sum_rtt: u64 = rtts.iter().sum(); let avg_rtt = sum_rtt as f64 / rtts.len() as f64; - let mad_rtt: f64 = rtts.iter().map(|&x| (x as f64 - avg_rtt).abs()).sum::<f64>() / rtts.len() as f64; + let mad_rtt: f64 = rtts + .iter() + .map(|&x| (x as f64 - avg_rtt).abs()) + .sum::<f64>() + / rtts.len() as f64; // TTL stats let min_ttl = ttls.iter().min().copied().unwrap(); @@ -51,15 +58,15 @@ pub fn compute_stats(states: &[crate::state::State]) -> Option<Stats> { let sum_ttl: u32 = ttls.iter().sum(); let avg_ttl = sum_ttl as f64 / ttls.len() as f64; - Some(Stats { + Some(Stats { received, lost, - min_rtt, - max_rtt, - avg_rtt, + min_rtt, + max_rtt, + avg_rtt, mad_rtt, - min_ttl, - max_ttl, - avg_ttl + min_ttl, + max_ttl, + avg_ttl, }) } |