mirror of
https://github.com/LibreQoE/LibreQoS.git
synced 2025-02-16 14:34:45 -06:00
Limit RTT tracking to flows that have achieved 1 Mbps or more.
This commit is contained in:
parent
dec1440b31
commit
7b6da8e32e
@ -99,6 +99,9 @@ pub unsafe extern "C" fn flowbee_handle_events(
|
||||
|
||||
if let Ok(now) = time_since_boot() {
|
||||
let since_boot = Duration::from(now);
|
||||
if incoming.rtt == 0 {
|
||||
return 0;
|
||||
}
|
||||
let mut lock = FLOW_RTT.lock().unwrap();
|
||||
if let Some(entry) = lock.get_mut(&incoming.key) {
|
||||
entry.push(
|
||||
|
@ -267,16 +267,19 @@ impl ThroughputTracker {
|
||||
rtts.sort();
|
||||
let median = rtts[rtts.len() / 2];
|
||||
if let Some(mut tracker) = self.raw_data.get_mut(&local_ip) {
|
||||
// Shift left
|
||||
for i in 1..60 {
|
||||
tracker.recent_rtt_data[i] = tracker.recent_rtt_data[i - 1];
|
||||
}
|
||||
tracker.recent_rtt_data[0] = *median;
|
||||
tracker.last_fresh_rtt_data_cycle = self_cycle;
|
||||
if let Some(parents) = &tracker.network_json_parents {
|
||||
let net_json = NETWORK_JSON.write().unwrap();
|
||||
if let Some(rtt) = tracker.median_latency() {
|
||||
net_json.add_rtt_cycle(parents, rtt);
|
||||
// Only apply if the flow has achieved 1 Mbps or more
|
||||
if tracker.bytes_per_second.0 + tracker.bytes_per_second.1 > 125000 {
|
||||
// Shift left
|
||||
for i in 1..60 {
|
||||
tracker.recent_rtt_data[i] = tracker.recent_rtt_data[i - 1];
|
||||
}
|
||||
tracker.recent_rtt_data[0] = *median;
|
||||
tracker.last_fresh_rtt_data_cycle = self_cycle;
|
||||
if let Some(parents) = &tracker.network_json_parents {
|
||||
let net_json = NETWORK_JSON.write().unwrap();
|
||||
if let Some(rtt) = tracker.median_latency() {
|
||||
net_json.add_rtt_cycle(parents, rtt);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user