From a2b2021360206c3199e286fde8415f28e676c788 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 8 May 2023 13:08:12 +0200 Subject: [PATCH] Fix slow queries sensor value calculation --- resolver/metrics.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/resolver/metrics.go b/resolver/metrics.go index 6d59a289..8d531107 100644 --- a/resolver/metrics.go +++ b/resolver/metrics.go @@ -31,13 +31,15 @@ func reportRequestDuration(started time.Time, resolver *Resolver) { // getSlowQueriesSensorValue returns the current avg query time recorded by the // slow queries sensor. func getSlowQueriesSensorValue() (avgQueryTime time.Duration) { - return time.Duration( - slowQueriesSensorSum.Load() / slowQueriesSensorCnt.Load(), - ) -} + // Get values and check them. + sum := slowQueriesSensorSum.Load() + cnt := slowQueriesSensorCnt.Load() + if cnt < 1 { + cnt = 1 + } -// getAndResetSlowQueriesSensorValue returns the current avg query time -// recorded by the slow queries sensor and reset the sensor values. + return time.Duration(sum / cnt) +} // resetSlowQueriesSensorValue reset the slow queries sensor values. func resetSlowQueriesSensorValue() {