mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
get_dns_stats: Expose total cache size and cached text entries
It wasn't possible from script land to determine the total size of the cache table held by the DNS_Mgr. Add the total and also also the TEXT entries count.
This commit is contained in:
parent
16bdcd27bd
commit
2251c67e56
6 changed files with 16 additions and 0 deletions
|
@ -757,6 +757,8 @@ type DNSStats: record {
|
|||
pending: count; ##< Current pending queries.
|
||||
cached_hosts: count; ##< Number of cached hosts.
|
||||
cached_addresses: count; ##< Number of cached addresses.
|
||||
cached_texts: count; ##< Number of cached text entries.
|
||||
cached_total: count; ##< Total number of cached entries.
|
||||
};
|
||||
|
||||
## Statistics about number of gaps in TCP connections.
|
||||
|
|
|
@ -1485,6 +1485,7 @@ void DNS_Mgr::GetStats(Stats* stats)
|
|||
stats->cached_hosts = 0;
|
||||
stats->cached_addresses = 0;
|
||||
stats->cached_texts = 0;
|
||||
stats->cached_total = all_mappings.size();
|
||||
|
||||
for ( const auto& [key, mapping] : all_mappings )
|
||||
{
|
||||
|
|
|
@ -209,6 +209,7 @@ public:
|
|||
unsigned long cached_hosts;
|
||||
unsigned long cached_addresses;
|
||||
unsigned long cached_texts;
|
||||
unsigned long cached_total;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -259,6 +259,8 @@ function get_dns_stats%(%): DNSStats
|
|||
r->Assign(n++, static_cast<uint64_t>(dstats.pending));
|
||||
r->Assign(n++, static_cast<uint64_t>(dstats.cached_hosts));
|
||||
r->Assign(n++, static_cast<uint64_t>(dstats.cached_addresses));
|
||||
r->Assign(n++, static_cast<uint64_t>(dstats.cached_texts));
|
||||
r->Assign(n++, static_cast<uint64_t>(dstats.cached_total));
|
||||
|
||||
return r;
|
||||
%}
|
||||
|
|
2
testing/btest/Baseline/bifs.get_dns_stats/out
Normal file
2
testing/btest/Baseline/bifs.get_dns_stats/out
Normal file
|
@ -0,0 +1,2 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
[requests=0, successful=0, failed=0, pending=0, cached_hosts=0, cached_addresses=0, cached_texts=0, cached_total=0]
|
8
testing/btest/bifs/get_dns_stats.test
Normal file
8
testing/btest/bifs/get_dns_stats.test
Normal file
|
@ -0,0 +1,8 @@
|
|||
# @TEST-DOC: With FAKE_DNS mode caching is disabled, so testing is difficult, invoke the bif once at least.
|
||||
# @TEST-EXEC: zeek -b %INPUT >out
|
||||
# @TEST-EXEC: btest-diff out
|
||||
|
||||
event zeek_init()
|
||||
{
|
||||
print get_dns_stats();
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue