Keep a per-DNS-server moving average of query latency.

This commit is contained in:
Simon Kelley
2022-09-15 23:22:02 +01:00
parent 84bd46ddd7
commit a2ee2426bf
4 changed files with 22 additions and 8 deletions

View File

@@ -682,6 +682,8 @@ static DBusMessage *dbus_get_server_metrics(DBusMessage* message)
{
unsigned int port;
unsigned int queries = 0, failed_queries = 0, nxdomain_replies = 0;
unsigned int sigma_latency = 0, count_latency = 0;
struct server *serv1;
for (serv1 = serv; serv1; serv1 = serv1->next)
@@ -691,6 +693,8 @@ static DBusMessage *dbus_get_server_metrics(DBusMessage* message)
queries += serv1->queries;
failed_queries += serv1->failed_queries;
nxdomain_replies += serv1->nxdomain_replies;
sigma_latency += serv1->query_latency;
count_latency++;
}
dbus_message_iter_open_container(&server_array, DBUS_TYPE_ARRAY, "{ss}", &dict_array);
@@ -702,7 +706,8 @@ static DBusMessage *dbus_get_server_metrics(DBusMessage* message)
add_dict_int(&dict_array, "queries", serv->queries);
add_dict_int(&dict_array, "failed_queries", serv->failed_queries);
add_dict_int(&dict_array, "nxdomain", serv->nxdomain_replies);
add_dict_int(&dict_array, "latency", sigma_latency/count_latency;
dbus_message_iter_close_container(&server_array, &dict_array);
}