From: Remi Gacogne Date: Mon, 9 Jan 2023 16:15:03 +0000 (+0100) Subject: dnsdist: Properly record cache-hits as responses X-Git-Tag: dnsdist-1.8.0-rc1~118^2~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=17bd955664bc44d4f36e4c0bfb814f5027e3f712;p=thirdparty%2Fpdns.git dnsdist: Properly record cache-hits as responses For a very long time we have not been adding cache-hits to the responses counter, which is wrong. Let's fix it now. --- diff --git a/pdns/dnsdist.cc b/pdns/dnsdist.cc index 9f76591b5a..91158f442f 100644 --- a/pdns/dnsdist.cc +++ b/pdns/dnsdist.cc @@ -1286,6 +1286,10 @@ ProcessQueryResult processQuery(DNSQuestion& dq, ClientState& cs, LocalHolders& return ProcessQueryResult::Drop; } + ++g_stats.responses; + if (dq.ids.cs) { + ++dq.ids.cs->responses; + } return ProcessQueryResult::SendAnswer; } @@ -1317,15 +1321,23 @@ ProcessQueryResult processQuery(DNSQuestion& dq, ClientState& cs, LocalHolders& return ProcessQueryResult::Drop; } + ++g_stats.responses; + if (dq.ids.cs) { + ++dq.ids.cs->responses; + } return ProcessQueryResult::SendAnswer; } else if (dq.ids.protocol == dnsdist::Protocol::DoH && !forwardedOverUDP) { /* do a second-lookup for UDP responses, but we do not want TC=1 answers */ - if (dq.ids.packetCache->get(dq, dq.getHeader()->id, &dq.ids.cacheKeyUDP, dq.ids.subnet, dq.ids.dnssecOK, true, allowExpired, false)) { + if (dq.ids.packetCache->get(dq, dq.getHeader()->id, &dq.ids.cacheKeyUDP, dq.ids.subnet, dq.ids.dnssecOK, true, allowExpired, false, false, false)) { if (!prepareOutgoingResponse(holders, cs, dq, true)) { return ProcessQueryResult::Drop; } + ++g_stats.responses; + if (dq.ids.cs) { + ++dq.ids.cs->responses; + } return ProcessQueryResult::SendAnswer; } } @@ -1348,6 +1360,10 @@ ProcessQueryResult processQuery(DNSQuestion& dq, ClientState& cs, LocalHolders& if (!prepareOutgoingResponse(holders, cs, dq, false)) { return ProcessQueryResult::Drop; } + ++g_stats.responses; + if (dq.ids.cs) { + ++dq.ids.cs->responses; + } // no response-only statistics counter to update. return ProcessQueryResult::SendAnswer; } diff --git a/pdns/dnsdistdist/docs/upgrade_guide.rst b/pdns/dnsdistdist/docs/upgrade_guide.rst index bf5748ac49..88c9630ca0 100644 --- a/pdns/dnsdistdist/docs/upgrade_guide.rst +++ b/pdns/dnsdistdist/docs/upgrade_guide.rst @@ -1,6 +1,11 @@ Upgrade Guide ============= +1.7.x to 1.8.0 +-------------- + +Cache-hits are now counted as responses in our metrics. + 1.7.0 to 1.7.1 --------------