From: Charles-Henri Bruyand Date: Tue, 26 Sep 2023 08:39:27 +0000 (+0200) Subject: doq: add doq-responses-pipe-full metric X-Git-Tag: rec-5.0.0-alpha2~6^2~24 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f089d71cee8001beff03d71ccfd278eb57bbd783;p=thirdparty%2Fpdns.git doq: add doq-responses-pipe-full metric --- diff --git a/pdns/dnsdistdist/dnsdist-metrics.cc b/pdns/dnsdistdist/dnsdist-metrics.cc index 268778aef2..6497a455d3 100644 --- a/pdns/dnsdistdist/dnsdist-metrics.cc +++ b/pdns/dnsdistdist/dnsdist-metrics.cc @@ -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}, diff --git a/pdns/dnsdistdist/dnsdist-metrics.hh b/pdns/dnsdistdist/dnsdist-metrics.hh index b14cb804ef..37e75d1865 100644 --- a/pdns/dnsdistdist/dnsdist-metrics.hh +++ b/pdns/dnsdistdist/dnsdist-metrics.hh @@ -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}; diff --git a/pdns/dnsdistdist/doq.cc b/pdns/dnsdistdist/doq.cc index f58c6de940..06a432a9da 100644 --- a/pdns/dnsdistdist/doq.cc +++ b/pdns/dnsdistdist/doq.cc @@ -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); } } diff --git a/regression-tests.dnsdist/test_API.py b/regression-tests.dnsdist/test_API.py index c89322569d..d36da2e76e 100644 --- a/regression-tests.dnsdist/test_API.py +++ b/regression-tests.dnsdist/test_API.py @@ -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