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
2022-09-16 00:16:18 +01:00
parent 6722ec6c78
commit fa45e06431

View File

@@ -1241,6 +1241,9 @@ void reply_query(int fd, time_t now)
free_rfds(&forward->rfds);
/* calculate modified moving average of server 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;