From: Remi Gacogne Date: Mon, 14 Feb 2022 16:30:03 +0000 (+0100) Subject: dnsdist: Fix the latency-count metric X-Git-Tag: rec-4.7.0-alpha1~12^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3df91da4c285a82179434f3009c94b865490a5a3;p=thirdparty%2Fpdns.git dnsdist: Fix the latency-count metric --- diff --git a/pdns/dnsdist-web.cc b/pdns/dnsdist-web.cc index eeb90dd1d3..6e9afc9f2a 100644 --- a/pdns/dnsdist-web.cc +++ b/pdns/dnsdist-web.cc @@ -483,7 +483,7 @@ static void handlePrometheus(const YaHTTP::Request& req, YaHTTP::Response& resp) latency_amounts += g_stats.latencySlow; // Should be the same as latency_count output << "dnsdist_latency_bucket{le=\"+Inf\"} " << latency_amounts << "\n"; output << "dnsdist_latency_sum " << g_stats.latencySum << "\n"; - output << "dnsdist_latency_count " << getLatencyCount(std::string()) << "\n"; + output << "dnsdist_latency_count " << g_stats.latencyCount << "\n"; auto states = g_dstates.getLocal(); const string statesbase = "dnsdist_server_"; diff --git a/pdns/dnsdist.cc b/pdns/dnsdist.cc index 3260371e8f..7694bb41d6 100644 --- a/pdns/dnsdist.cc +++ b/pdns/dnsdist.cc @@ -230,6 +230,7 @@ void doLatencyStats(double udiff) else if(udiff < 1000000) ++g_stats.latency100_1000; else ++g_stats.latencySlow; g_stats.latencySum += udiff / 1000; + ++g_stats.latencyCount; auto doAvg = [](double& var, double n, double weight) { var = (weight -1) * var/weight + n/weight; @@ -2784,8 +2785,3 @@ int main(int argc, char** argv) #endif } } - -uint64_t getLatencyCount(const std::string&) -{ - return g_stats.responses + g_stats.selfAnswered + g_stats.cacheHits; -} diff --git a/pdns/dnsdist.hh b/pdns/dnsdist.hh index 028f1a6bf8..22d583d8f4 100644 --- a/pdns/dnsdist.hh +++ b/pdns/dnsdist.hh @@ -329,8 +329,6 @@ extern GlobalStateHolder> g_dynblockN extern vector > g_confDelta; -extern uint64_t getLatencyCount(const std::string&); - using pdns::stat_t; struct DNSDistStats @@ -359,7 +357,7 @@ struct DNSDistStats stat_t noPolicy{0}; stat_t cacheHits{0}; stat_t cacheMisses{0}; - stat_t latency0_1{0}, latency1_10{0}, latency10_50{0}, latency50_100{0}, latency100_1000{0}, latencySlow{0}, latencySum{0}; + stat_t latency0_1{0}, latency1_10{0}, latency10_50{0}, latency50_100{0}, latency100_1000{0}, latencySlow{0}, latencySum{0}, latencyCount{0}; stat_t securityStatus{0}; stat_t dohQueryPipeFull{0}; stat_t dohResponsePipeFull{0}; @@ -437,7 +435,7 @@ struct DNSDistStats {"tcp-cross-protocol-response-pipe-full", &tcpCrossProtocolResponsePipeFull}, // Latency histogram {"latency-sum", &latencySum}, - {"latency-count", getLatencyCount}, + {"latency-count", &latencyCount}, }; }; diff --git a/pdns/dnsdistdist/test-dnsdisttcp_cc.cc b/pdns/dnsdistdist/test-dnsdisttcp_cc.cc index 9b81805ca3..9198955bfe 100644 --- a/pdns/dnsdistdist/test-dnsdisttcp_cc.cc +++ b/pdns/dnsdistdist/test-dnsdisttcp_cc.cc @@ -58,11 +58,6 @@ uint64_t uptimeOfProcess(const std::string& str) return 0; } -uint64_t getLatencyCount(const std::string&) -{ - return 0; -} - void handleResponseSent(const IDState& ids, double udiff, const ComboAddress& client, const ComboAddress& backend, unsigned int size, const dnsheader& cleartextDH, dnsdist::Protocol protocol) { }