commit d807ca1b014e27a2808959dba1a37a0c1d53240f Author: Neel Chauhan neel@neelc.org Date: Mon Jul 16 17:19:53 2018 -0400
Add and use dns_cache_total_allocation() --- src/feature/relay/dns.c | 11 +++++++++-- src/feature/relay/dns.h | 1 + 2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/feature/relay/dns.c b/src/feature/relay/dns.c index f4e39dfd3..8a49829d5 100644 --- a/src/feature/relay/dns.c +++ b/src/feature/relay/dns.c @@ -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. diff --git a/src/feature/relay/dns.h b/src/feature/relay/dns.h index 69c1764b7..1d5266c73 100644 --- a/src/feature/relay/dns.h +++ b/src/feature/relay/dns.h @@ -38,6 +38,7 @@ void dns_launch_correctness_checks(void); int dns_seems_to_be_broken(void); int dns_seems_to_be_broken_for_ipv6(void); void dns_reset_correctness_checks(void); +size_t dns_cache_total_allocation(void); void dump_dns_mem_usage(int severity);
#ifdef DNS_PRIVATE