diff options
author | Frank Li <lifr@google.com> | 2020-06-20 01:52:12 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2020-06-20 01:52:12 +0000 |
commit | 280471d6d130cbdcf5e93daeca6d747411f00738 (patch) | |
tree | 9efb11c5ae9eb324f00327d0817ef942bbeb2e6b | |
parent | fbb36c8bd8a935bef23b63ab3bfafdad88660ece (diff) | |
parent | 8d9850d3927dffeaf6b57911d9c8c0759716247a (diff) |
Merge "Adding Network Tethering Metrics/atoms in the statsd"
-rw-r--r-- | cmds/statsd/src/atoms.proto | 20 | ||||
-rw-r--r-- | core/proto/android/stats/connectivity/Android.bp | 14 | ||||
-rw-r--r-- | core/proto/android/stats/connectivity/tethering.proto | 97 |
3 files changed, 131 insertions, 0 deletions
diff --git a/cmds/statsd/src/atoms.proto b/cmds/statsd/src/atoms.proto index 331182935a0c..c8f2efab3783 100644 --- a/cmds/statsd/src/atoms.proto +++ b/cmds/statsd/src/atoms.proto @@ -41,6 +41,7 @@ import "frameworks/base/core/proto/android/server/location/enums.proto"; import "frameworks/base/core/proto/android/service/procstats_enum.proto"; import "frameworks/base/core/proto/android/service/usb.proto"; import "frameworks/base/core/proto/android/stats/connectivity/network_stack.proto"; +import "frameworks/base/core/proto/android/stats/connectivity/tethering.proto"; import "frameworks/base/core/proto/android/stats/dnsresolver/dns_resolver.proto"; import "frameworks/base/core/proto/android/stats/devicepolicy/device_policy.proto"; import "frameworks/base/core/proto/android/stats/devicepolicy/device_policy_enums.proto"; @@ -364,6 +365,7 @@ message Atom { NetworkDhcpRenewReported network_dhcp_renew_reported = 291 [(log_from_module) = "network_stack"]; NetworkValidationReported network_validation_reported = 292 [(log_from_module) = "network_stack"]; NetworkStackQuirkReported network_stack_quirk_reported = 293 [(log_from_module) = "network_stack"]; + NetworkTetheringReported network_tethering_reported = 303 [(log_from_module) = "network_tethering"]; } // Pulled events will start at field 10000. @@ -5853,6 +5855,24 @@ message AppCompacted { } /** + * Logs when a Tethering event occurs. + * + */ +message NetworkTetheringReported { + // tethering error code + optional android.stats.connectivity.ErrorCode error_code = 1; + + // tethering downstream type + optional android.stats.connectivity.DownstreamType downstream_type = 2; + + // transport type of upstream network + optional android.stats.connectivity.UpstreamType upstream_type = 3; + + // The user type of Tethering + optional android.stats.connectivity.UserType user_type= 4; +} + +/** * Logs a DNS lookup operation initiated by the system resolver on behalf of an application * invoking native APIs such as getaddrinfo() or Java APIs such as Network#getAllByName(). * diff --git a/core/proto/android/stats/connectivity/Android.bp b/core/proto/android/stats/connectivity/Android.bp index 9cd233e1ba85..5e6ac3cd3ca1 100644 --- a/core/proto/android/stats/connectivity/Android.bp +++ b/core/proto/android/stats/connectivity/Android.bp @@ -22,3 +22,17 @@ java_library_static { ], sdk_version: "system_29", } + +java_library_static { + name: "tetheringprotos", + proto: { + type: "lite", + }, + srcs: [ + "tethering.proto", + ], + apex_available: [ + "com.android.tethering", + ], + sdk_version: "system_current", +} diff --git a/core/proto/android/stats/connectivity/tethering.proto b/core/proto/android/stats/connectivity/tethering.proto new file mode 100644 index 000000000000..6303b7d1870b --- /dev/null +++ b/core/proto/android/stats/connectivity/tethering.proto @@ -0,0 +1,97 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +syntax = "proto2"; +package android.stats.connectivity; +option java_multiple_files = true; +option java_outer_classname = "TetheringProto"; + +enum ErrorCode { + EC_NO_ERROR = 0; + EC_UNKNOWN_IFACE = 1; + EC_SERVICE_UNAVAIL = 2; + EC_UNSUPPORTED = 3; + EC_UNAVAIL_IFACE = 4; + EC_INTERNAL_ERROR = 5; + EC_TETHER_IFACE_ERROR = 6; + EC_UNTETHER_IFACE_ERROR = 7; + EC_ENABLE_FORWARDING_ERROR = 8; + EC_DISABLE_FORWARDING_ERROR = 9; + EC_IFACE_CFG_ERROR = 10; + EC_PROVISIONING_FAILED = 11; + EC_DHCPSERVER_ERROR = 12; + EC_ENTITLEMENT_UNKNOWN = 13; + EC_NO_CHANGE_TETHERING_PERMISSION = 14; + EC_NO_ACCESS_TETHERING_PERMISSION = 15; + EC_UNKNOWN_TYPE = 16; +} + +enum DownstreamType { + // Unspecific tethering type. + DS_UNSPECIFIED = 0; + // Wifi tethering type. + DS_TETHERING_WIFI = 1; + // USB tethering type. + DS_TETHERING_USB = 2; + // Bluetooth tethering type. + DS_TETHERING_BLUETOOTH = 3; + // Wifi P2p tethering type. + DS_TETHERING_WIFI_P2P = 4; + // NCM (Network Control Model) local tethering type. + DS_TETHERING_NCM = 5; + // Ethernet tethering type. + DS_TETHERING_ETHERNET = 6; +} + +enum UpstreamType { + UT_UNKNOWN = 0; + // Indicates upstream using a Cellular transport. + UT_CELLULAR = 1; + // Indicates upstream using a Wi-Fi transport. + UT_WIFI = 2; + // Indicates upstream using a Bluetooth transport. + UT_BLUETOOTH = 3; + // Indicates upstream using an Ethernet transport. + UT_ETHERNET = 4; + // Indicates upstream using a Wi-Fi Aware transport. + UT_WIFI_AWARE = 5; + // Indicates upstream using a LoWPAN transport. + UT_LOWPAN = 6; + // Indicates upstream using a Cellular+VPN transport. + UT_CELLULAR_VPN = 7; + // Indicates upstream using a Wi-Fi+VPN transport. + UT_WIFI_VPN = 8; + // Indicates upstream using a Bluetooth+VPN transport. + UT_BLUETOOTH_VPN = 9; + // Indicates upstream using an Ethernet+VPN transport. + UT_ETHERNET_VPN = 10; + // Indicates upstream using a Wi-Fi+Cellular+VPN transport. + UT_WIFI_CELLULAR_VPN = 11; + // Indicates upstream using for test only. + UT_TEST = 12; + // Indicates upstream using DUN capability + Cellular transport. + UT_DUN_CELLULAR = 13; +} + +enum UserType { + // Unknown. + USER_UNKOWNN = 0; + // Settings. + USER_SETTINGS = 1; + // System UI. + USER_SYSTEMUI = 2; + // Google mobile service. + USER_GMS = 3; +} |