diff options
-rw-r--r-- | cmds/statsd/src/atoms.proto | 26 | ||||
-rw-r--r-- | core/proto/android/server/connectivity/data_stall_event.proto | 89 |
2 files changed, 114 insertions, 1 deletions
diff --git a/cmds/statsd/src/atoms.proto b/cmds/statsd/src/atoms.proto index c70a397b4aca..7cfa58fb7bba 100644 --- a/cmds/statsd/src/atoms.proto +++ b/cmds/statsd/src/atoms.proto @@ -24,7 +24,9 @@ import "frameworks/base/cmds/statsd/src/atom_field_options.proto"; import "frameworks/base/core/proto/android/app/enums.proto"; import "frameworks/base/core/proto/android/app/job/enums.proto"; import "frameworks/base/core/proto/android/bluetooth/enums.proto"; +import "frameworks/base/core/proto/android/net/networkcapabilities.proto"; import "frameworks/base/core/proto/android/os/enums.proto"; +import "frameworks/base/core/proto/android/server/connectivity/data_stall_event.proto"; import "frameworks/base/core/proto/android/server/enums.proto"; import "frameworks/base/core/proto/android/stats/launcher/launcher.proto"; import "frameworks/base/core/proto/android/telecomm/enums.proto"; @@ -126,7 +128,7 @@ message Atom { PhoneStateChanged phone_state_changed = 95; LowMemReported low_mem_reported = 81; NetworkDnsEventReported network_dns_event_reported = 116; - + DataStallEvent data_stall_event = 121; } // Pulled events will start at field 10000. @@ -2066,3 +2068,25 @@ message NetworkDnsEventReported { optional int32 latency_micros = 3; } +/** + * Logs when a data stall event occurs. + * + * Log from: + * frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java + */ +message DataStallEvent { + // Data stall evaluation type. + // See frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java + // Refer to the definition of DATA_STALL_EVALUATION_TYPE_*. + optional int32 evaluation_type = 1; + // See definition in data_stall_event.proto. + optional com.android.server.connectivity.ProbeResult validation_result = 2; + // See definition in data_stall_event.proto. + optional android.net.NetworkCapabilitiesProto.Transport network_type = 3; + // See definition in data_stall_event.proto. + optional com.android.server.connectivity.WifiData wifi_info = 4 [(log_mode) = MODE_BYTES]; + // See definition in data_stall_event.proto. + optional com.android.server.connectivity.CellularData cell_info = 5 [(log_mode) = MODE_BYTES]; + // See definition in data_stall_event.proto. + optional com.android.server.connectivity.DnsEvent dns_event = 6 [(log_mode) = MODE_BYTES]; +} diff --git a/core/proto/android/server/connectivity/data_stall_event.proto b/core/proto/android/server/connectivity/data_stall_event.proto new file mode 100644 index 000000000000..b70bb677d7a0 --- /dev/null +++ b/core/proto/android/server/connectivity/data_stall_event.proto @@ -0,0 +1,89 @@ +/* + * Copyright (C) 2019 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 com.android.server.connectivity; +option java_multiple_files = true; +option java_outer_classname = "DataStallEventProto"; + +enum ProbeResult { + UNKNOWN = 0; + VALID = 1; + INVALID = 2; + PORTAL = 3; +} + +enum ApBand { + AP_BAND_UNKNOWN = 0; + AP_BAND_2GHZ = 1; + AP_BAND_5GHZ = 2; +} + +// Refer to definition in ServiceState.java. +enum RadioTech { + RADIO_TECHNOLOGY_UNKNOWN = 0; + RADIO_TECHNOLOGY_GPRS = 1; + RADIO_TECHNOLOGY_EDGE = 2; + RADIO_TECHNOLOGY_UMTS = 3; + RADIO_TECHNOLOGY_IS95A = 4; + RADIO_TECHNOLOGY_IS95B = 5; + RADIO_TECHNOLOGY_1xRTT = 6; + RADIO_TECHNOLOGY_EVDO_0 = 7; + RADIO_TECHNOLOGY_EVDO_A = 8; + RADIO_TECHNOLOGY_HSDPA = 9; + RADIO_TECHNOLOGY_HSUPA = 10; + RADIO_TECHNOLOGY_HSPA = 11; + RADIO_TECHNOLOGY_EVDO_B = 12; + RADIO_TECHNOLOGY_EHRPD = 13; + RADIO_TECHNOLOGY_LTE = 14; + RADIO_TECHNOLOGY_HSPAP = 15; + RADIO_TECHNOLOGY_GSM = 16; + RADIO_TECHNOLOGY_TD_SCDMA = 17; + RADIO_TECHNOLOGY_IWLAN = 18; + RADIO_TECHNOLOGY_LTE_CA = 19; + RADIO_TECHNOLOGY_NR = 20; +} + +// Cellular specific information. +message CellularData { + // Indicate the radio technology at the time of data stall suspected. + optional RadioTech rat_type = 1; + // True if device is in roaming network at the time of data stall suspected. + optional bool is_roaming = 2; + // Registered network MccMnc when data stall happen + optional string network_mccmnc = 3; + // Indicate the SIM card carrier. + optional string sim_mccmnc = 4; + // Signal strength level at the time of data stall suspected. + optional int32 signal_strength = 5; +} + +// Wifi specific information. +message WifiData { + // Signal strength at the time of data stall suspected. + // RSSI range is between -55 to -110. + optional int32 signal_strength = 1; + // AP band. + optional ApBand wifi_band = 2; +} + +message DnsEvent { + // The dns return code. + repeated int32 dns_return_code = 1; + // Indicate the timestamp of the dns event. + repeated int64 dns_time = 2; +}
\ No newline at end of file |