History log of /frameworks/base/services/core/java/com/android/server/connectivity/IpConnectivityEventBuilder.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0e4b41527449cb52c479c8e5abb2a6a49cf33641 19-Sep-2017 Hugo Benichi <hugobenichi@google.com> Wakeup packet events: addressing a few comments

This patch addresses a few post-submit comment for
commits f562ac34a51dc and 60c9f63b66921.

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

(cherry picked from commit 175b574e27daa0d8832b8cc9615a15fce998309a)

Change-Id: Ied9d0cec98685e5a91ed2ca2c81ad88d7ae8d751
/frameworks/base/services/core/java/com/android/server/connectivity/IpConnectivityEventBuilder.java
a87b15c95f01b80c6bcfa71cbf66e8456342ea28 05-Sep-2017 Hugo Benichi <hugobenichi@google.com> 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
/frameworks/base/services/core/java/com/android/server/connectivity/IpConnectivityEventBuilder.java
f7f7ed013ca7641c784b81ef685bd84c4c45cfbb 18-Jul-2017 Hugo Benichi <hugobenichi@google.com> IP metrics: update link layer mapping

Properly map transport nan and lowpan to their corresponding link layer
enum. Also do so for interface names

Bug: 34901696
Test: runtest frameworks-net
Change-Id: I44a1cb3b6d21881b64adda7744360e4dfc519b12
/frameworks/base/services/core/java/com/android/server/connectivity/IpConnectivityEventBuilder.java
dfc2cc5857199345e08f07977b79b20292f964a2 23-Mar-2017 Hugo Benichi <hugobenichi@google.com> Connectivity metrics: add transports to connect stats

This patch groups connect() events per netId. It adds netid and
transport information to serialized ConnectStatistics events.

Test: updated NetdEventListenerServiceTest
updated IpConnectivityMetricsTest
$ runtest frameworks-net passes
Bug: 34901696

Change-Id: I4769496383943e714a1d350c298e093c2ed57477
/frameworks/base/services/core/java/com/android/server/connectivity/IpConnectivityEventBuilder.java
0699cf98042a64e41ee076c464eb115a6579be08 22-Mar-2017 Hugo Benichi <hugobenichi@google.com> Connectivity metrics: log DnsEvents in-band

This patch changes how DnsEvents are logged in IpConnectivityMetrics.
The following changes are made:
- DnsEventBatch are not logged after 100 queries on the same network
- this allows to merge DnsEvent and DnsEventBatch into one class
- DnsEventBatch are not logged after a network disconnect
- this allows to remove the NetworkCallback
- DnsEvent are now logged similarly to ConnectStats when statistics are
flushed, in a direct call from IpConnectivityMetrics into
NetdEventListenerService, in a direct call from IpConnectivityMetrics
into NetdEventListenerService.
- this allows to remove the Parcelable implementation of DnsEvent
- transports information is added to DnsEvent.

Test: - simplified NetdEventListenerServiceTest covering dns logging
- updated IpConnectivityEventBuilderTest
- updated IpConnectivityMetricsTest
- $ runtest frameworks-net passes
- manually verified $ adb shell dumpsys connmetrics list proto
Bug: 34901696

Change-Id: Ia4b33fd4212741152662a2adbb0533bd1b4902ee
/frameworks/base/services/core/java/com/android/server/connectivity/IpConnectivityEventBuilder.java
f927f0c52e7df5b057e7d28888c3cfed164d241a 17-Mar-2017 Hugo Benichi <hugobenichi@google.com> Connectivity metrics: add transports to validation probes

This patch adds transports info to ValidationProbeEvent and migrates
netId logging for this event to the topt-level netId field in
ConnectivityMetricsEvent.

Test: modified unit tests. $ runtest frameworks-net passes
Bug: 3490169
Change-Id: Ibf51049ba8901ae5ca4ea86e2f500944a4738b5c
/frameworks/base/services/core/java/com/android/server/connectivity/IpConnectivityEventBuilder.java
948a85948dcccea4aaa9d70a74405308581b0925 16-Mar-2017 Hugo Benichi <hugobenichi@google.com> Connectivity metrics: change how interface names are logged

This patch deprecates the ifname field for specific metrics events of
types DhcpClientEvent, DhcpErrorEvent, IpReachabilityEvent and
IpManagerEvent.

Instead ifnames are logged in ConnectivityMetricsEvent, allowing for
link layer inference.

Test: updated unit tests, $ runtest frameworks-net passes
Bug: 34901696
Change-Id: I8bfabcb115bbd5289471d653c153a40bb48f28cd
/frameworks/base/services/core/java/com/android/server/connectivity/IpConnectivityEventBuilder.java
73fd4d1fafd0208e843abb6a6ad8a46a6fb18143 15-Mar-2017 Hugo Benichi <hugobenichi@google.com> Connectivity metrics: serialize networkId, transports, ifname

This patch adds translation from ConnectivityMetricsEvent to
IpConnectivityEvent of recently added fields:
- top-level network id
- top-level ifname
- transports

Also adds inference of link layer from transports or ifname.

At the moment these new fields are not populated in
ConnectivityMetricsEvent. Follow-up patches will fill this gap for
the events of the android.net.metrics package.

Test: new unit tests, $ runtest frameworks-net passes
Bug: 34901696
Change-Id: I563a6a3183470bdfaabb7c781a1beaf6b1058bf0
/frameworks/base/services/core/java/com/android/server/connectivity/IpConnectivityEventBuilder.java
22d9b2d430c9a4fe17b54811bb77289b821e32db 22-Feb-2017 Hugo Benichi <hugobenichi@google.com> IP connectivity metrics: add new APF counters.

This patch adds a few missing counters to APF events:
- an actual lifetime duration to ApfProgramEvent.
- counters for total number of updates to ApfStatistics.

ApfProgramEvents are now recorded at program removal in order to
populate the actual lifetime of the program. ApfProgramEvents whose
actual lifetime was less than 1 second are filtered out.

Finally, instance fields of ApfProgramEvent and ApfStats classes are
made mutable to allow for simple record-like creation. This was not
possible when these classes were tagged @SystemApi.

Test: - manually verified output of $ dumpsys connmetrics list
- unit tests updated.
Bug: 34901696

Change-Id: I02694ebb9421ce1c2aa757fa6aa209d19a654dcd
/frameworks/base/services/core/java/com/android/server/connectivity/IpConnectivityEventBuilder.java
0d4a398b7846f26e4452180915ecb5a9d4566148 25-Nov-2016 Hugo Benichi <hugobenichi@google.com> IP Connectivity metrics: add connect() statistics

This patch adds a ConnectStats class to aggregate connect() statistics
gathered in NetdEventListenerService. ConnectStats is uploaded once a
day by IpConnectivityMetrics.

Test: $ runtest frameworks-net + new unit test
Bug: 32198976
Change-Id: Iea63339035415513a5ba0ff4b8f4d79f75fc652d
/frameworks/base/services/core/java/com/android/server/connectivity/IpConnectivityEventBuilder.java
383db5ebcc3a4a615faf249bf4f126f42e80b82e 22-Jun-2016 Tamas Berghammer <tberghammer@google.com> Update package names to work with the proto3 compiler

Bug: b/28974522
Change-Id: I5f3adf4946ee4ba1e09e4f40afe83c151405972a
/frameworks/base/services/core/java/com/android/server/connectivity/IpConnectivityEventBuilder.java
d680d4c856f54bea0c60dea74ba4204822391e49 13-Oct-2016 Hugo Benichi <hugobenichi@google.com> IpConnectivity metrics: add version number

This patch adds a version field to ipconnectivity.proto and populates it
to 2, which is the logical version number for NYC-MR2.

Test: IpConnectivity{EventBuilder,Metrics}Test pass
Bug: 32127906
Change-Id: I1439f012b7f9b4211d5d5429c274ad03d2ac9d6b
/frameworks/base/services/core/java/com/android/server/connectivity/IpConnectivityEventBuilder.java
50a84c6210f4f165b489dd1bf1c535d86dda2fba 02-Sep-2016 Hugo Benichi <hugobenichi@google.com> Add ipconnectivity.proto to services jar

This patch moves ipconnectivity.proto and companion serialization
classes from /vendor/google/app/ConnectivityMetrics into the framework
services jar.

This will allow to implement a dumpsys interface for IpConnectivity
metrics events defined in android.net.metrics that output metrics as
a serialized proto.

Bug: 31254800
Change-Id: Ia4449103fd7222c9d899352fea2dce47a790a49c
/frameworks/base/services/core/java/com/android/server/connectivity/IpConnectivityEventBuilder.java