Add and use dns_cache_total_allocation()

This commit is contained in:
Neel Chauhan 2018-07-16 17:19:53 -04:00
parent 5aaea38d88
commit d807ca1b01
2 changed files with 10 additions and 2 deletions

View File

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

View File

@ -38,6 +38,7 @@ void dns_launch_correctness_checks(void);
int dns_seems_to_be_broken(void); int dns_seems_to_be_broken(void);
int dns_seems_to_be_broken_for_ipv6(void); int dns_seems_to_be_broken_for_ipv6(void);
void dns_reset_correctness_checks(void); void dns_reset_correctness_checks(void);
size_t dns_cache_total_allocation(void);
void dump_dns_mem_usage(int severity); void dump_dns_mem_usage(int severity);
#ifdef DNS_PRIVATE #ifdef DNS_PRIVATE