Define DNS statistic data atom in atoms.proto file

Test: run runtests.sh, make sure no missing test and get all pass
      run /out/host/linux-x86/bin/statsd_testdrive
      116
      Got following metric data dump:pass for local test
Bug: 119862317

Change-Id: I83ee8500fac7f443711ced097cbd376feb801ccf
Merged-in: I4588cec0dea8a4c5a19847a32a6d53bfc5953be7
This commit is contained in:
lifr
2018-12-12 16:38:04 +08:00
parent 3c0efa4e0a
commit 35a7cf0192

View File

@@ -125,7 +125,7 @@ message Atom {
PhoneServiceStateChanged phone_service_state_changed = 94;
PhoneStateChanged phone_state_changed = 95;
LowMemReported low_mem_reported = 81;
NetworkDnsEventReported network_dns_event_reported = 116;
}
@@ -2017,3 +2017,52 @@ message Temperature {
// Temperature in tenths of a degree C.
optional int32 temperature_dC = 3;
}
/**
* Logs the latency period(in microseconds) and the return code of
* the DNS(Domain Name System) lookups.
* These 4 methods(GETADDRINFO,GETHOSTBYNAME,GETHOSTBYADDR,RES_NSEND)
* to get info(address or hostname) from DNS server(or DNS cache).
* Logged from:
* /system/netd/server/DnsProxyListener.cpp
*/
message NetworkDnsEventReported {
// The types of the DNS lookups, as defined in
//system/netd/server/binder/android/net/metrics/INetdEventListener.aidl
enum EventType {
EVENT_UNKNOWN = 0;
EVENT_GETADDRINFO = 1;
EVENT_GETHOSTBYNAME = 2;
EVENT_GETHOSTBYADDR = 3;
EVENT_RES_NSEND = 4;
}
optional EventType event_type = 1;
// The return value of the DNS resolver for each DNS lookups.
//bionic/libc/include/netdb.h
//system/netd/resolv/include/netd_resolv/resolv.h
enum ReturnCode {
EAI_NO_ERROR = 0;
EAI_ADDRFAMILY = 1;
EAI_AGAIN = 2;
EAI_BADFLAGS = 3;
EAI_FAIL = 4;
EAI_FAMILY = 5;
EAI_MEMORY = 6;
EAI_NODATA = 7;
EAI_NONAME = 8;
EAI_SERVICE = 9;
EAI_SOCKTYPE = 10;
EAI_SYSTEM = 11;
EAI_BADHINTS = 12;
EAI_PROTOCOL = 13;
EAI_OVERFLOW = 14;
RESOLV_TIMEOUT = 255;
EAI_MAX = 256;
}
optional ReturnCode return_code = 2;
// The latency period(in microseconds) it took for this DNS lookup to complete.
optional int32 latency_micros = 3;
}