ADB stats don't provide any information useful to assess the utility that it is able to provide
As mentioned on #2405, the stats related to the ADB are inadequate for an operator to identify when there are issues.
The current ADB stats are limited to:
-
dns_adbstats_entriescnt
- "Addresses in hash table" -
dns_adbstats_namescnt
- "Names in hash table" -
dns_adbstats_nentries
- "Address hash table size" -
dns_adbstats_nnames
- "Name hash table size"
It is also possible, using the stats channel, to see the stats for the memory contexts used by the ADBs, though there is not an explicit strong association between those memory contexts and the ADB (as identified by view).
It was perhaps expected that these would be sufficient to characterize what is going on in the hash table, but I have recently inspected a customer core file in which the ADB seems to have been in a state of near-constant overmem cleaning with about 73% of the address entries being marked as ENTRY_IS_DEAD
.
It doesn't matter whether or not those "dead" entries are counted in those stats, the reported values are necessarily providing an incomplete picture of the state of the ADB.
At minimum there should be stats for the number of "live" entries separate from the number of "dead" entries. It may also be informative for an operator to see how many entries are associated with other flags, such as NOEDNS
.
I have not yet done a thorough analysis to identify any other "missing" stats that may be useful to operators in understanding how their system is performing and utilizing resources.