]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
doq: add doq-responses-pipe-full metric
authorCharles-Henri Bruyand <charles-henri.bruyand@open-xchange.com>
Tue, 26 Sep 2023 08:39:27 +0000 (10:39 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 9 Oct 2023 11:38:02 +0000 (13:38 +0200)
pdns/dnsdistdist/dnsdist-metrics.cc
pdns/dnsdistdist/dnsdist-metrics.hh
pdns/dnsdistdist/doq.cc
regression-tests.dnsdist/test_API.py

index 268778aef23a26b19abeac276b599c23bc98d423..6497a455d338d92e548ea823a392a5d0d2666043 100644 (file)
@@ -141,6 +141,7 @@ Stats::Stats() :
     {"security-status", &securityStatus},
     {"doh-query-pipe-full", &dohQueryPipeFull},
     {"doh-response-pipe-full", &dohResponsePipeFull},
+    {"doq-response-pipe-full", &doqResponsePipeFull},
     {"outgoing-doh-query-pipe-full", &outgoingDoHQueryPipeFull},
     {"tcp-query-pipe-full", &tcpQueryPipeFull},
     {"tcp-cross-protocol-query-pipe-full", &tcpCrossProtocolQueryPipeFull},
index b14cb804ef300fd3a1af175b3689e4e34593beaf..37e75d1865a8635be8ec8416c792d797c83f87ee 100644 (file)
@@ -74,6 +74,7 @@ struct Stats
   stat_t securityStatus{0};
   stat_t dohQueryPipeFull{0};
   stat_t dohResponsePipeFull{0};
+  stat_t doqResponsePipeFull{0};
   stat_t outgoingDoHQueryPipeFull{0};
   stat_t proxyProtocolInvalid{0};
   stat_t tcpQueryPipeFull{0};
index f58c6de940b8f3043d719a84b96f4f5af38df8dc..06a432a9dabbb27b6d93f87c5a3f8c4645fa4d18 100644 (file)
@@ -504,6 +504,7 @@ static void sendBackDOQUnit(DOQUnitUniquePtr&& du, const char* description)
   }
   try {
     if (!du->dsc->d_responseSender.send(std::move(du))) {
+      ++dnsdist::metrics::g_stats.doqResponsePipeFull;
       vinfolog("Unable to pass a %s to the DoQ worker thread because the pipe is full", description);
     }
   }
index c89322569dc8775a900a95567d872dd9b38609f6..d36da2e76e4609ac6d84db2f64a3175bfe98e610 100644 (file)
@@ -38,7 +38,7 @@ class APITestsBase(DNSDistTest):
                         'dyn-block-nmg-size', 'rule-servfail', 'rule-truncated', 'security-status',
                         'udp-in-csum-errors', 'udp-in-errors', 'udp-noport-errors', 'udp-recvbuf-errors', 'udp-sndbuf-errors',
                         'udp6-in-errors', 'udp6-recvbuf-errors', 'udp6-sndbuf-errors', 'udp6-noport-errors', 'udp6-in-csum-errors',
-                        'doh-query-pipe-full', 'doh-response-pipe-full', 'proxy-protocol-invalid', 'tcp-listen-overflows',
+                        'doh-query-pipe-full', 'doh-response-pipe-full', 'doq-response-pipe-full', 'proxy-protocol-invalid', 'tcp-listen-overflows',
                         'outgoing-doh-query-pipe-full', 'tcp-query-pipe-full', 'tcp-cross-protocol-query-pipe-full',
                         'tcp-cross-protocol-response-pipe-full']
     _verboseMode = True