From f089d71cee8001beff03d71ccfd278eb57bbd783 Mon Sep 17 00:00:00 2001 From: Charles-Henri Bruyand Date: Tue, 26 Sep 2023 10:39:27 +0200 Subject: [PATCH] doq: add doq-responses-pipe-full metric --- pdns/dnsdistdist/dnsdist-metrics.cc | 1 + pdns/dnsdistdist/dnsdist-metrics.hh | 1 + pdns/dnsdistdist/doq.cc | 1 + regression-tests.dnsdist/test_API.py | 2 +- 4 files changed, 4 insertions(+), 1 deletion(-) 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 -- 2.47.2