DefaultNetworkEvent metrics: rehaul
This patch changes instrumentation of default networks and default network events: - stop logging events for default network transitions, but instead consistently log one event per continuous segment when one given network was the default, including logging an event for when there is no default network. - keep a separate rolling buffer of DefaultNetworkEvent for dumpsys and bug reports. These changes allow to simplify post aggregation of default network event metrics by removing any need to do time series processing. Instead, metrics and counters can be implemented withouth any ambiguity by following the recipe: % of x = sum(duration | x = true) / sum (all durations) where x can be various conditions such as: - the default network was validated - the default network was WiFi - the default network was IPv6 - there was no default network - ... Most importantly, this new logging scheme allows to measure much more reliably: - the % of the time that a device had Internet, in the sense that the default network was validated. - the time transitions between default networks, keyed by previous and new transports/link layer, which allows to derive wakelock durations and wakelock power costs from default network switches. This patch also simplifies the dumpsys interface of the connmetrics service and reduces the commands to three: - "flush" for metrics upload. - "proto" for printing buffered event in text proto format. - "list" for listing all events and statistics. Bug: 34901696 Bug: 65700460 Test: runtest frameworks-net Change-Id: I0521f1681a60cca07ac3bfd5741d64ce44de4cdd
Loading
Please register or sign in to comment