]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
nsrep: count timeouts per query
authorŠtěpán Balážik <stepan.balazik@nic.cz>
Sat, 29 Aug 2020 12:13:38 +0000 (14:13 +0200)
committerŠtěpán Balážik <stepan.balazik@nic.cz>
Thu, 15 Oct 2020 11:22:21 +0000 (13:22 +0200)
daemon/lua/kres-gen.lua
lib/selection.c
lib/selection.h

index 9afe512bb65b8dd758ea91dcd7322ecca3f2e3fb..ba96fe0cdc1530c472f523d2d483ce8ed84e6a23 100644 (file)
@@ -275,6 +275,7 @@ struct kr_server_selection {
        void (*success)(struct kr_query *, const struct kr_transport *);
        void (*update_rtt)(struct kr_query *, const struct kr_transport *, unsigned int);
        void (*error)(struct kr_query *, const struct kr_transport *, enum kr_selection_error);
+       int timeouts;
        void *local_state;
 };
 kr_layer_t kr_layer_t_static;
index 48a0739a7d6b8b72c9f6126bd9b12d74e4535b72..d8a0ac00ad2561fff888effcbe6c33c115dd6435 100644 (file)
@@ -270,6 +270,10 @@ void error(struct kr_query *qry, struct address_state *addr_state, const struct
         assert(0);
     }
 
+    if (sel_error == KR_SELECTION_TIMEOUT) {
+        qry->server_selection.timeouts++;
+    }
+
     addr_state->errors[sel_error]++;
     addr_state->error_count++;
 
index f8c4913960d4d4d5bad00a4d44c9dc9080f81303..3edeab33cbbfc629474cfb25c88289ba7bbb3def 100644 (file)
@@ -51,6 +51,7 @@ struct kr_server_selection
     void (*update_rtt)(struct kr_query *qry, const struct kr_transport *transport, unsigned rtt);
     void (*error)(struct kr_query *qry, const struct kr_transport *transport, enum kr_selection_error error);
 
+    int timeouts;
     void *local_state;
 };