diff options
| author | chenbruce <chenbruce@google.com> | 2021-08-18 22:24:56 +0800 |
|---|---|---|
| committer | chenbruce <chenbruce@google.com> | 2021-08-25 14:54:01 +0800 |
| commit | 52cf009bf98d4575e67f96a732f1b715dc588d13 (patch) | |
| tree | cfe26d359a638f4504c76ab541fc5c5a4081dd52 /ResolverController.cpp | |
| parent | 9b72daa3b7f3f33fcc5bf25269a9221cf296e904 (diff) | |
Subsampling DNS event for mDNS
Currently, a device generates some mDNS queries when the user uses
mDNS .local resolution.
Using the query info by subsampling events based on how interesting
they are. Because the number of mDNS query is much less than DNS
query, the mDNS subsampling rate is higer than DNS query.
- if return_code == 0,2,7 -> log 1 in 1 event
- if return_code == default -> log 1 in 1 event
Also allow to use experiment flag to update sub-sampling denom.
Example for dumpsys dnsresolver:
NetId: 100
DnsEvent subsampling map for MDNS: default:1
Bug: 197092658
Test: cd packages/modules/DnsResolver && atest
m statsd_testdrive and run "statsd_testdrive 116"
Change-Id: I76073aa9a1cea43bda2675334592ed22e96a238e
Diffstat (limited to 'ResolverController.cpp')
| -rw-r--r-- | ResolverController.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ResolverController.cpp b/ResolverController.cpp index 2f143f5d..eaf9aa38 100644 --- a/ResolverController.cpp +++ b/ResolverController.cpp @@ -319,7 +319,9 @@ void ResolverController::dump(DumpWriter& dw, unsigned netId) { dw.println("No DNS servers defined"); } else { dw.println("DnsEvent subsampling map: " + - android::base::Join(resolv_cache_dump_subsampling_map(netId), ' ')); + android::base::Join(resolv_cache_dump_subsampling_map(netId, false), ' ')); + dw.println("DnsEvent subsampling map for MDNS: " + + android::base::Join(resolv_cache_dump_subsampling_map(netId, true), ' ')); dw.println( "DNS servers: # IP (total, successes, errors, timeouts, internal errors, " "RTT avg, last sample)"); |
