REVISION "202302240000Z"
DESCRIPTION "Added metrics for sharded packet cache contention"
+ REVISION "202306080000Z"
+ DESCRIPTION "Added metrics for NOD and UDR events"
+
::= { powerdns 2 }
powerdns OBJECT IDENTIFIER ::= { enterprises 43315 }
"Number of packet cache lock acquisitions"
::= { stats 146 }
+nodCount OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Count of NOD events"
+ ::= { stats 147 }
+
+udrCount OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Count of UDR events"
+ ::= { stats 148 }
---
--- Traps / Notifications
authrcode14Count,
authrcode15Count,
packetCacheContended,
- packetCacheAcquired
+ packetCacheAcquired,
+ nodCount,
+ udrCount
}
STATUS current
DESCRIPTION "Objects conformance group for PowerDNS Recursor"
^^^^^^^^^^^^^^^
number of erroneous received packets
+nod-count
+^^^^^^^^^
+.. versionadded:: 4.9.0
+Count of NOD events
+
+udr-count
+^^^^^^^^^
+.. versionadded:: 4.9.0
+Count of UDR events
+
nod-lookups-dropped-oversize
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Number of NOD lookups dropped because they would exceed the maximum name length
static const oid packetCacheContendedOID[] = {RECURSOR_STATS_OID, 145};
static const oid packetCacheAcquiredOID[] = {RECURSOR_STATS_OID, 146};
+static const oid nodCountOID[] = {RECURSOR_STATS_OID, 147};
+static const oid udrCountOID[] = {RECURSOR_STATS_OID, 148};
+
static std::unordered_map<oid, std::string> s_statsMap;
/* We are never called for a GETNEXT if it's registered as a
RCODE(14);
RCODE(15);
+ registerCounter64Stat("nod-count", nodCountOID, OID_LENGTH(nodCountOID));
+ registerCounter64Stat("udr-count", udrCountOID, OID_LENGTH(udrCountOID));
+
#endif /* HAVE_NET_SNMP */
}
{"remote-logger-count-o-0",
MetricDefinition(PrometheusMetricType::multicounter,
"Number of remote logging events")},
+ {"nod-count",
+ MetricDefinition(PrometheusMetricType::counter,
+ "Count of NOD events")},
+
+ {"udr-count",
+ MetricDefinition(PrometheusMetricType::counter,
+ "Count of UDR events")},
};
constexpr bool CHECK_PROMETHEUS_METRICS = false;
if (metricName.find("cumul-") == 0) {
continue;
}
+ if (metricName.find("auth-") == 0 && metricName.find("-answers") != string::npos) {
+ continue;
+ }
MetricDefinition metricDetails;
if (!s_metricDefinitions.getMetricDetails(metricName, metricDetails)) {