Initialise modified-moving-average latency calc better.

Use the first value, rather than initialising at zero,
which takes many queries to converge.
This commit is contained in:
Simon Kelley committed 2022-09-16 00:16:18 +01:00
1 parent 6722ec6c78
commit fa45e06431
1 file changed
+4 -1
+4 -1
View File
@@ -1241,7 +1241,10 @@ void reply_query(int fd, time_t now)
free_rfds(&forward->rfds);
/* calculate modified moving average of server latency */
server->mma_latency += dnsmasq_milliseconds() - forward->forward_timestamp - server->query_latency;
if (server->query_latency == 0)
server->mma_latency = (dnsmasq_milliseconds() - forward->forward_timestamp) * 128; /* init */
else
server->mma_latency += dnsmasq_milliseconds() - forward->forward_timestamp - server->query_latency;
/* denominator controls how many queries we average over. */
server->query_latency = server->mma_latency/128;