OSDN Git Service

Connectivity metrics: add WakeupStats events
authorHugo Benichi <hugobenichi@google.com>
Tue, 5 Sep 2017 04:34:48 +0000 (13:34 +0900)
committerHugo Benichi <hugobenichi@google.com>
Fri, 15 Sep 2017 01:36:24 +0000 (10:36 +0900)
commita87b15c95f01b80c6bcfa71cbf66e8456342ea28
treef4692aa360f4f8bf688f97b6eb7321533eaf3b0f
parent1e327edae342b7d0060ca61c98c95cf1fee0b0cd
Connectivity metrics: add WakeupStats events

This patch defines a new WakeupStats event in ipconnectivity.proto and
populates these events from the NFLOG wakeup events stored in
NetdEventListenerService.

There is one WakeupStats object per known interface on which ingress
packets arrive and may wake the system up.

Example from $ adb shell dumpsys connmetrics list:

...
WakeupStats(wlan0, total: 58, root: 0, system: 3, apps: 38, non-apps: 0, unrouted: 17, 6111s)
WakeupEvent(13:36:31.686, iface wlan0, uid -1)
WakeupEvent(13:38:50.846, iface wlan0, uid -1)
WakeupEvent(13:39:16.676, iface wlan0, uid 10065)
WakeupEvent(13:40:32.144, iface wlan0, uid 1000)
WakeupEvent(13:40:35.827, iface wlan0, uid 1000)
WakeupEvent(13:40:47.913, iface wlan0, uid 10004)
WakeupEvent(13:40:52.622, iface wlan0, uid 10014)
WakeupEvent(13:41:06.036, iface wlan0, uid 10004)
...

Bug: 34901696
Bug: 62179647
Test: runtest frameworks-net
Merged-In: Ie2676b20bfb411a1902f4942643df0c20e268d99

(cherry pick from commit 60c9f63b66926745603978e1bd6372b3a44561d1)

Change-Id: I3087f446fc998fc1ca895d975b80c4a1dd029bf3
core/java/android/net/metrics/WakeupStats.java [new file with mode: 0644]
proto/src/ipconnectivity.proto
services/core/java/com/android/server/connectivity/IpConnectivityEventBuilder.java
services/core/java/com/android/server/connectivity/NetdEventListenerService.java
tests/net/java/com/android/server/connectivity/IpConnectivityEventBuilderTest.java
tests/net/java/com/android/server/connectivity/IpConnectivityMetricsTest.java
tests/net/java/com/android/server/connectivity/NetdEventListenerServiceTest.java