|
@@ -2076,14 +2076,21 @@ dns_cache_entry_count(void)
|
|
|
return HT_SIZE(&cache_root);
|
|
|
}
|
|
|
|
|
|
+/* Return the total size in bytes of the DNS cache. */
|
|
|
+size_t
|
|
|
+dns_cache_total_allocation(void)
|
|
|
+{
|
|
|
+ return sizeof(struct cached_resolve_t) * dns_cache_entry_count() +
|
|
|
+ HT_MEM_USAGE(&cache_root);
|
|
|
+}
|
|
|
+
|
|
|
/** Log memory information about our internal DNS cache at level 'severity'. */
|
|
|
void
|
|
|
dump_dns_mem_usage(int severity)
|
|
|
{
|
|
|
/* This should never be larger than INT_MAX. */
|
|
|
int hash_count = dns_cache_entry_count();
|
|
|
- size_t hash_mem = sizeof(struct cached_resolve_t) * hash_count;
|
|
|
- hash_mem += HT_MEM_USAGE(&cache_root);
|
|
|
+ size_t hash_mem = dns_cache_total_allocation();
|
|
|
|
|
|
/* Print out the count and estimated size of our &cache_root. It undercounts
|
|
|
hostnames in cached reverse resolves.
|