]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
modules/stats: add answer.sum_ms metric
authorVladimír Čunát <vladimir.cunat@nic.cz>
Mon, 20 May 2024 11:32:45 +0000 (13:32 +0200)
committerOto Šťáva <oto.stava@nic.cz>
Mon, 20 May 2024 11:32:45 +0000 (13:32 +0200)
(cherry picked from commit 44df5dd0d0fedfae390e7137572bcb14270e4d48)

modules/stats/README.rst
modules/stats/stats.c

index 7d423aa8afe94eb9409c53259b001e490d8b6fb5..014c9f06fac0f9140d844bf6a619081d79eb9bc7 100644 (file)
@@ -89,6 +89,8 @@ Built-in counters keep track of number of queries and answers matching specific
 +-----------------+----------------------------------+
 | answer.slow     | completed in more than 1500ms    |
 +-----------------+----------------------------------+
+| answer.sum_ms   | sum of all latencies in ms       |
++-----------------+----------------------------------+
 
 +-----------------+----------------------------------+
 | **Answer flags**                                   |
index 129023f83f8c931e7c0c74d8bf7e1d17e8ef02c9..c93401cf50b0b28c561d7b6940f5523e8ffa1412 100644 (file)
@@ -42,6 +42,7 @@
        X(answer,total) X(answer,noerror) X(answer,nodata) X(answer,nxdomain) X(answer,servfail) \
        X(answer,cached) X(answer,1ms) X(answer,10ms) X(answer,50ms) X(answer,100ms) \
        X(answer,250ms) X(answer,500ms) X(answer,1000ms) X(answer,1500ms) X(answer,slow) \
+       X(answer,sum_ms) \
        X(answer,aa) X(answer,tc) X(answer,rd) X(answer,ra) X(answer, ad) X(answer,cd) \
        X(answer,edns0) X(answer,do) \
        X(query,edns) X(query,dnssec) \
@@ -220,6 +221,7 @@ static int collect(kr_layer_t *ctx)
                /* Histogram of answer latency. */
                struct kr_query *first = rplan->resolved.at[0];
                uint64_t elapsed = kr_now() - first->timestamp_mono;
+               stat_const_add(data, metric_answer_sum_ms, elapsed);
                if (elapsed <= 1) {
                        stat_const_add(data, metric_answer_1ms, 1);
                } else if (elapsed <= 10) {