From: phonedph1 Date: Thu, 14 Nov 2019 15:54:01 +0000 (+0000) Subject: qname metrics X-Git-Tag: dnsdist-1.4.0~2^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c701672a17812d246f1d99d84f97ad55f1690716;p=thirdparty%2Fpdns.git qname metrics --- diff --git a/pdns/rec-snmp.cc b/pdns/rec-snmp.cc index 536b597402..d48c570887 100644 --- a/pdns/rec-snmp.cc +++ b/pdns/rec-snmp.cc @@ -115,6 +115,7 @@ static const oid dnssecCheckDisabledQueriesOID[] = { RECURSOR_STATS_OID, 96 }; static const oid variableResponsesOID[] = { RECURSOR_STATS_OID, 97 }; static const oid specialMemoryUsageOID[] = { RECURSOR_STATS_OID, 98 }; static const oid rebalancedQueriesOID[] = { RECURSOR_STATS_OID, 99 }; +static const oid qnameMinFallbackSuccessOID[] = { RECURSOR_STATS_OID, 100 }; static std::unordered_map s_statsMap; @@ -288,6 +289,7 @@ RecursorSNMPAgent::RecursorSNMPAgent(const std::string& name, const std::string& registerCounter64Stat("ipv6-outqueries", ipv6OutqueriesOID, OID_LENGTH(ipv6OutqueriesOID)); registerCounter64Stat("throttled-outqueries", throttledOutqueriesOID, OID_LENGTH(throttledOutqueriesOID)); registerCounter64Stat("dont-outqueries", dontOutqueriesOID, OID_LENGTH(dontOutqueriesOID)); + registerCounter64Stat("qname-min-fallback-success", qnameMinFallbackSuccessOID, OID_LENGTH(qnameMinFallbackSuccessOID)); registerCounter64Stat("unreachables", unreachablesOID, OID_LENGTH(unreachablesOID)); registerCounter64Stat("chain-resends", chainResendsOID, OID_LENGTH(chainResendsOID)); registerCounter64Stat("tcp-clients", tcpClientsOID, OID_LENGTH(tcpClientsOID)); diff --git a/pdns/rec_channel_rec.cc b/pdns/rec_channel_rec.cc index a294e62ac7..6bba88e6c5 100644 --- a/pdns/rec_channel_rec.cc +++ b/pdns/rec_channel_rec.cc @@ -1089,6 +1089,7 @@ void registerAllStats() addGetStat("ipv6-outqueries", &g_stats.ipv6queries); addGetStat("throttled-outqueries", &SyncRes::s_throttledqueries); addGetStat("dont-outqueries", &SyncRes::s_dontqueries); + addGetStat("qname-min-fallback-success", &SyncRes::s_qnameminfallbacksuccess); addGetStat("throttled-out", &SyncRes::s_throttledqueries); addGetStat("unreachables", &SyncRes::s_unreachables); addGetStat("ecs-queries", &SyncRes::s_ecsqueries); diff --git a/pdns/recursordist/RECURSOR-MIB.txt b/pdns/recursordist/RECURSOR-MIB.txt index 463a1b0d96..79528eef24 100644 --- a/pdns/recursordist/RECURSOR-MIB.txt +++ b/pdns/recursordist/RECURSOR-MIB.txt @@ -15,7 +15,7 @@ IMPORTS FROM SNMPv2-CONF; rec MODULE-IDENTITY - LAST-UPDATED "201812240000Z" + LAST-UPDATED "201911140000Z" ORGANIZATION "PowerDNS BV" CONTACT-INFO "support@powerdns.com" DESCRIPTION @@ -27,6 +27,9 @@ rec MODULE-IDENTITY REVISION "201812240000Z" DESCRIPTION "Added the dnssecAuthenticDataQueries and dnssecCheckDisabledQueries stats." + REVISION "201911140000Z" + DESCRIPTION "Added qnameMinFallbackSuccess stats." + ::= { powerdns 2 } powerdns OBJECT IDENTIFIER ::= { enterprises 43315 } @@ -825,6 +828,14 @@ rebalancedQueries OBJECT-TYPE "Number of queries re-distributed because the first selected worker thread was above the target load" ::= { stats 99 } +qnameMinFallbackSuccess OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of successful queries due to fallback mechanism within 'qname-minimisation' setting" + ::= { stats 100 } + --- --- Traps / Notifications --- @@ -967,7 +978,8 @@ recGroup OBJECT-GROUP variableResponses, specialMemoryUsage, rebalancedQueries, - trapReason + trapReason, + qnameMinFallbackSuccess } STATUS current DESCRIPTION "Objects conformance group for PowerDNS Recursor" diff --git a/pdns/recursordist/docs/metrics.rst b/pdns/recursordist/docs/metrics.rst index c04ebbc01f..1d29ca2d34 100644 --- a/pdns/recursordist/docs/metrics.rst +++ b/pdns/recursordist/docs/metrics.rst @@ -237,6 +237,11 @@ dont-outqueries ^^^^^^^^^^^^^^^ number of outgoing queries dropped because of :ref:`setting-dont-query` setting (since 3.3) +qname-min-fallback-success +^^^^^^^^^^^^^^^^^^^^^^^^^^ +.. versionadded:: 4.3.0 +number of successful queries due to fallback mechanism within :ref:`setting-dont-query` setting (since 4.3) + ecs-queries ^^^^^^^^^^^ number of outgoing queries adorned with an EDNS Client Subnet option (since 4.1) diff --git a/pdns/recursordist/rec_metrics.hh b/pdns/recursordist/rec_metrics.hh index e5aa14cdee..80eb4428bd 100644 --- a/pdns/recursordist/rec_metrics.hh +++ b/pdns/recursordist/rec_metrics.hh @@ -127,6 +127,7 @@ private: { "dnssec-validations", MetricDefinition(PrometheusMetricType::counter, "Number of DNSSEC validations performed") }, { "dont-outqueries", MetricDefinition(PrometheusMetricType::counter, "Number of outgoing queries dropped because of `setting-dont-query` setting") }, + { "qname-min-fallback-success", MetricDefinition(PrometheusMetricType::counter, "Number of successful queries due to fallback mechanism within 'qname-minimisation' setting") }, { "ecs-queries", MetricDefinition(PrometheusMetricType::counter, "Number of outgoing queries adorned with an EDNS Client Subnet option") }, { "ecs-responses", MetricDefinition(PrometheusMetricType::counter, "Number of responses received from authoritative servers with an EDNS Client Subnet option we used") }, { "edns-ping-matches", MetricDefinition(PrometheusMetricType::counter, "Number of servers that sent a valid EDNS PING response") }, diff --git a/pdns/syncres.cc b/pdns/syncres.cc index 8bd1a6861d..4063f70709 100644 --- a/pdns/syncres.cc +++ b/pdns/syncres.cc @@ -71,6 +71,7 @@ std::atomic SyncRes::s_outqueries; std::atomic SyncRes::s_tcpoutqueries; std::atomic SyncRes::s_throttledqueries; std::atomic SyncRes::s_dontqueries; +std::atomic SyncRes::s_qnameminfallbacksuccess; std::atomic SyncRes::s_nodelegated; std::atomic SyncRes::s_unreachables; std::atomic SyncRes::s_ecsqueries; @@ -691,6 +692,11 @@ int SyncRes::doResolve(const DNSName &qname, const QType &qtype, vector s_outgoing6timeouts; static std::atomic s_throttledqueries; static std::atomic s_dontqueries; + static std::atomic s_qnameminfallbacksuccess; static std::atomic s_authzonequeries; static std::atomic s_outqueries; static std::atomic s_tcpoutqueries;