static const oid rebalancedQueriesOID[] = { RECURSOR_STATS_OID, 99 };
static const oid qnameMinFallbackSuccessOID[] = { RECURSOR_STATS_OID, 100 };
static const oid proxyProtocolInvalidOID[] = { RECURSOR_STATS_OID, 101 };
+static const oid recordCacheContendedOID[] = { RECURSOR_STATS_OID, 102 };
+static const oid recordCacheAcquiredOID[] = { RECURSOR_STATS_OID, 103 };
static std::unordered_map<oid, std::string> s_statsMap;
registerCounter64Stat("special-memory-usage", specialMemoryUsageOID, OID_LENGTH(specialMemoryUsageOID));
registerCounter64Stat("rebalanced-queries", rebalancedQueriesOID, OID_LENGTH(rebalancedQueriesOID));
registerCounter64Stat("proxy-protocol-invalid", proxyProtocolInvalidOID, OID_LENGTH(proxyProtocolInvalidOID));
+ registerCounter64Stat("record-cache-contended", recordCacheContendedOID, OID_LENGTH(recordCacheContendedOID));
+ registerCounter64Stat("record-cache-acquired", recordCacheAcquiredOID, OID_LENGTH(recordCacheAcquiredOID));
#endif /* HAVE_NET_SNMP */
}
addGetStat("max-cache-entries", []() { return g_maxCacheEntries.load(); });
addGetStat("max-packetcache-entries", []() { return g_maxPacketCacheEntries.load();});
addGetStat("cache-bytes", doGetCacheBytes);
+ addGetStat("record-cache-contended", []() { return s_RC->stats().first;});
+ addGetStat("record-cache-acquired", []() { return s_RC->stats().second;});
addGetStat("packetcache-hits", doGetPacketCacheHits);
addGetStat("packetcache-misses", doGetPacketCacheMisses);
"Number of invalid proxy protocol headers received"
::= { stats 101 }
+recordCacheContended OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of contended record cache mutex acquisitions"
+ ::= { stats 102 }
+
+recordCacheAcquired OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of record cache mutex acquisitions"
+ ::= { stats 103 }
+
---
--- Traps / Notifications
---
rebalancedQueries,
trapReason,
qnameMinFallbackSuccess,
- proxyProtocolInvalid
+ proxyProtocolInvalid,
+ recordCacheContended,
+ recordCacheAcquired
}
STATUS current
DESCRIPTION "Objects conformance group for PowerDNS Recursor"
number of queries balanced to a different worker thread because the first selected one was above the target load configured with 'distribution-load-factor'
+record-cache-contended
+^^^^^^^^^^^^^^^^^^^^^^
+.. versionadded:: 4.4.0
+
+number of contented record cache mutex acquisitions
+
+record-cache-acquired
+^^^^^^^^^^^^^^^^^^^^^
+.. versionadded:: 4.4.0
+number of record cache mutex acquisitions
+
+
resource-limits
^^^^^^^^^^^^^^^
counts number of queries that could not be performed because of resource limits