From dee2c465be1991754fafb7e20d45cd94953f5f8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Chac=C3=B3n?= Date: Mon, 6 Feb 2023 19:22:51 -0700 Subject: [PATCH] Fix https://github.com/LibreQoE/LibreQoS/issues/253 --- src/graphInfluxDB.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/graphInfluxDB.py b/src/graphInfluxDB.py index 5d54c060..13b38de7 100644 --- a/src/graphInfluxDB.py +++ b/src/graphInfluxDB.py @@ -318,18 +318,23 @@ def getCircuitLatencyStats(subscriberCircuits): # To avoid outliers messing up avg for each circuit - cap at ceiling of 200ms ceiling = 200.0 tcpLatencyForClassID[handle] = min(entry['median'], ceiling) - for circuit in subscriberCircuits: if 'stats' not in circuit: circuit['stats'] = {} circuit['stats']['sinceLastQuery'] = {} - + for circuit in subscriberCircuits: classID = circuit['classid'] if classID in tcpLatencyForClassID: circuit['stats']['sinceLastQuery']['tcpLatency'] = tcpLatencyForClassID[classID] else: + # If we can't identify RTT this time around, use most recently recorded RTT + # None by default, change if found in priorQuery circuit['stats']['sinceLastQuery']['tcpLatency'] = None + if circuit['stats']['priorQuery'] != None: + if 'priorQuery' in circuit['stats']: + if 'tcpLatency' in circuit['stats']['priorQuery']: + circuit['stats']['sinceLastQuery']['tcpLatency'] = circuit['stats']['priorQuery']['tcpLatency'] return subscriberCircuits