Merge "Add the new DTS audio formats to metrics"
diff --git a/OWNERS b/OWNERS
index e02753e..4886179 100644
--- a/OWNERS
+++ b/OWNERS
@@ -8,4 +8,4 @@
yaochen@google.com
# Settings UI
-per-file settings_enums.proto=tmfang@google.com
+per-file settings_enums.proto=edgarwang@google.com
diff --git a/stats/atoms.proto b/stats/atoms.proto
index 7cb9e15..22092bb 100644
--- a/stats/atoms.proto
+++ b/stats/atoms.proto
@@ -728,6 +728,7 @@
ProviderAcquisitionEventReported provider_acquisition_event_reported =
477 [(module) = "framework"];
BluetoothDeviceNameReported bluetooth_device_name_reported = 478 [(module) = "bluetooth"];
+ UwbStartRanging uwb_ranging_start = 489 [(module) = "uwb"];
NetworkDnsServerSupportReported network_dns_server_support_reported = 504 [(module) = "resolv"];
VmBooted vm_booted = 505 [(module) = "virtualizationservice"];
VmExited vm_exited = 506 [(module) = "virtualizationservice"];
@@ -739,9 +740,11 @@
510 [(module) = "media_metrics"];
MediametricsHeadTrackerDeviceSupportedReported mediametrics_headtrackerdevicesupported_reported =
511 [(module) = "media_metrics"];
+ IwlanSetupDataCallResultReported iwlan_setup_data_call_result_reported = 519 [(module) = "iwlan"];
+ IwlanPdnDisconnectedReasonReported iwlan_pdn_disconnected_reason_reported = 520 [(module) = "iwlan"];
AirplaneModeSessionReported airplane_mode_session_reported = 521 [(module) = "wifi", (module) = "bluetooth"];
- VmCpuStatusReported vm_cpu_status_reported = 522 [(module) = "virtualizationservice"];
- VmMemStatusReported vm_mem_status_reported = 523 [(module) = "virtualizationservice"];
+ VmCpuStatusReported vm_cpu_status_reported = 522 [(module) = "virtualizationservice", deprecated = true];
+ VmMemStatusReported vm_mem_status_reported = 523 [(module) = "virtualizationservice", deprecated = true];
DefaultNetworkRematchInfo default_network_rematch_info = 525 [(module) = "connectivity"];
NetworkSelectionPerformance network_selection_performance = 526 [(module) = "connectivity"];
NetworkNsdReported network_nsd_reported = 527 [(module) = "connectivity"];
@@ -752,12 +755,15 @@
BluetoothLocalSupportedFeaturesReported bluetooth_local_supported_features_reported = 532 [(module) = "bluetooth"];
BluetoothGattAppInfo bluetooth_gatt_app_info = 533 [(module) = "bluetooth"];
OdsignReported odsign_reported = 548 [(module) = "art"];
+ ArtDeviceDatumReported art_device_datum_reported = 550 [(module) = "art"];
+ NetworkSliceSessionEnded network_slice_session_ended = 558 [(module) = "connectivity"];
+ NetworkSliceDailyDataUsageReported network_slice_daily_data_usage_reported = 559 [(module) = "connectivity"];
// StatsdStats tracks platform atoms with ids upto 750.
// Update StatsdStats::kMaxPushedAtomId when atom ids here approach that value.
}
// Pulled events will start at field 10000.
- // Next: 10165
+ // Next: 10169
oneof pulled {
WifiBytesTransfer wifi_bytes_transfer = 10000 [(module) = "framework"];
WifiBytesTransferByFgBg wifi_bytes_transfer_by_fg_bg = 10001 [(module) = "framework"];
@@ -948,6 +954,7 @@
NetworkBpfMapInfo network_bpf_map_info = 10161 [(module) = "connectivity"];
ConnectivityStateSample connectivity_state_sample = 10163 [(module) = "connectivity"];
NetworkSelectionRematchReasonsInfo network_selection_rematch_reasons_info = 10164 [(module) = "connectivity"];
+ NetworkSliceRequestCountSample network_slice_request_count = 10168 [(module) = "connectivity"];
}
// DO NOT USE field numbers above 100,000 in AOSP.
@@ -17054,15 +17061,25 @@
optional DeathReason death_reason = 3;
// Elapsed time between start and termination of a VM
optional int64 elapsed_time_millis = 4;
+
+ // Guest time for CPU usage
+ optional int64 guest_time_millis = 5;
+
+ // RSS for memory usage
+ optional int64 rss_vm_kb = 6;
+ optional int64 rss_crosvm_kb = 7;
}
/**
+ * (Deprecated)
* Logs telemetry for Android Virtualization framework
*
* For every second while VM is running, an atom is pushed that records CPU time information of VM.
* Logged from: packages/modules/Virtualization/
*/
message VmCpuStatusReported {
+ option deprecated = true;
+
optional int32 uid = 1 [(is_uid) = true];
optional string vm_identifier = 2;
@@ -17073,12 +17090,15 @@
}
/**
+ * (Deprecated)
* Logs telemetry for Android Virtualization framework
*
* For every second while VM is running, an atom is pushed that records memory information of VM.
* Logged from: packages/modules/Virtualization/
*/
message VmMemStatusReported {
+ option deprecated = true;
+
optional int32 uid = 1 [(is_uid) = true];
optional string vm_identifier = 2;
@@ -20209,6 +20229,28 @@
}
/*
+ * Logs details of start UWB ranging
+ * Logged from packages/modules/Uwb/service/java/com/android/server/uwb/UwbMetrics.java
+ */
+message UwbStartRanging {
+ // UWB profiles
+ optional android.uwb.Profile profile = 1;
+ // Scrambled timestamp sequence (STS) Type
+ optional android.uwb.Sts sts = 2;
+ // Was it an initiator as opposed to responder?
+ optional bool is_initiator = 3;
+ // Was it a controller as opposed to controlee?
+ optional bool is_controller = 4;
+ // Was the connection done by the app as opposed to by the framework?
+ optional bool is_framework_initiated = 5;
+ // Was it out-of-band connection as opposed to in-band connection?
+ // Note that this field is ignored if is_framework_initiated is false.
+ optional bool is_out_of_band = 6;
+ // The status code of ranging start.
+ optional android.uwb.RangingStatus status = 7;
+}
+
+/*
* Log that the ranging measurement is received
* Logged from packages/modules/Uwb/service/java/com/android/server/uwb/UwbMetrics.java
*/
@@ -21366,13 +21408,13 @@
// cancellation.
optional android.app.job.StopReasonEnum cancellation_reason = 2;
- // The duration of the job run, in milliseconds, not counting time spent in
- // sleep.
+ // The duration of the job run, in milliseconds.
optional int64 duration_ms = 3;
// The duration of the job run, in milliseconds, including time spent in
- // sleep.
- optional int64 duration_including_sleep_ms = 4;
+ // sleep. Deprecated as the job scheduler holds a wake lock, hence this
+ // duration is always going to be the same as above.
+ optional int64 duration_including_sleep_ms = 4 [deprecated = true];
}
/**
@@ -21767,6 +21809,69 @@
optional int32 selection_issued_latency_milli = 5;
}
+message NetworkSliceRequestCountSample {
+ // Bitfield representing the network's capability(e.g. NET_CAPABILITY_PRIORITIZE_LATENCY),
+ // defined in packages/modules/Connectivity/framework/src/android/net/NetworkCapabilities.java
+ optional int64 slice_id = 1;
+
+ // Bitfield representing the network's enterprise capability identifier
+ // (e.g. NET_ENTERPRISE_ID_1), defined in
+ // packages/modules/Connectivity/framework/src/android/net/NetworkCapabilities.java
+ optional int32 enterprise_id = 2;
+
+ // number of request for this slice
+ optional int32 request_count = 3;
+
+ // number of apps with outstanding request(s) for this slice
+ optional int32 distinct_app_count = 4;
+}
+
+message NetworkSliceSessionEnded {
+ // Bitfield representing the network's capability(e.g. NET_CAPABILITY_PRIORITIZE_LATENCY),
+ // defined in packages/modules/Connectivity/framework/src/android/net/NetworkCapabilities.java
+ optional int64 slice_id = 1;
+
+ // Bitfield representing the network's enterprise capability identifier
+ // (e.g. NET_ENTERPRISE_ID_1), defined in
+ // packages/modules/Connectivity/framework/src/android/net/NetworkCapabilities.java
+ optional int32 enterprise_id = 2;
+
+ // Number of bytes received at the device on this slice id
+ optional int64 rx_bytes = 3;
+
+ // Number of bytes transmitted by the device on this slice id
+ optional int64 tx_bytes = 4;
+
+ // Number of apps that have used this slice
+ optional int32 number_of_apps = 5;
+
+ // How long(in seconds) this slice has been connected
+ optional int32 slice_connection_duration_sec = 6;
+}
+
+message NetworkSliceDailyDataUsageReported {
+ // Bitfield representing the network's capability(e.g. NET_CAPABILITY_PRIORITIZE_LATENCY),
+ // defined in packages/modules/Connectivity/framework/src/android/net/NetworkCapabilities.java
+ optional int64 slice_id = 1;
+
+ // Bitfield representing the network's enterprise capability identifier
+ // (e.g. NET_ENTERPRISE_ID_1), defined in
+ // packages/modules/Connectivity/framework/src/android/net/NetworkCapabilities.java
+ optional int32 enterprise_id = 2;
+
+ // Number of bytes received at the device on this slice id
+ optional int64 rx_bytes = 3;
+
+ // Number of bytes transmitted by the device on this slice id
+ optional int64 tx_bytes = 4;
+
+ // Number of apps that have used this slice
+ optional int32 number_of_apps = 5;
+
+ // How long(in seconds) this slice has been connected
+ optional int32 slice_connection_duration_sec = 6;
+}
+
/**
* Logs odsign metrics.
*
@@ -21798,3 +21903,110 @@
optional Status status = 1;
}
+
+/**
+ * Logs when Iwlan responds the setup data call request.
+ *
+ * Logged from:
+ * packages/services/Iwlan/src/com/google/android/iwlan/IwlanDataService.java
+ */
+message IwlanSetupDataCallResultReported {
+ enum IwlanError {
+ NO_ERROR = 0;
+ IKE_PROTOCOL_EXCEPTION = 1;
+ IKE_INTERNAL_IO_EXCEPTION = 2;
+ IKE_GENERIC_EXCEPTION = 3;
+ EPDG_SELECTOR_SERVER_SELECTION_FAILED = 4;
+ TUNNEL_TRANSFORM_FAILED = 5;
+ SIM_NOT_READY_EXCEPTION = 6;
+ NETWORK_FAILURE = 7;
+ UNKNOWN_EXCEPTION = 8;
+ }
+
+ // Setup data call apn type
+ // See go/apntypedefinition
+ optional int32 apn_type = 1;
+ // Is the request for handover
+ optional bool is_handover = 2;
+ // ePDG server address
+ optional string epdg_server_address = 3;
+ // If the request type is handover, record the source network type
+ // See
+ // frameworks/base/telephony/java/android/telephony/TelephonyManager.java
+ optional int32 source_rat = 4;
+ // If the request type is handover, record the source network roaming status
+ optional bool is_cellular_roaming = 5;
+ // Is network connected
+ optional bool is_network_connected = 6;
+ // Default network transport type
+ // See
+ // packages/modules/Connectivity/framework/src/android/net/NetworkCapabilities.java
+ optional int32 transport_type = 7;
+ // Setup result
+ optional int32 setup_request_result = 8;
+ // Iwlan error code if setup failed
+ optional IwlanError iwlan_error = 9;
+ // Data call fail cause
+ // See
+ // frameworks/base/telephony/java/android/telephony/DataFailCause.java
+ optional int32 data_call_fail_cause = 10;
+ // Setup request processing duration
+ optional int32 processing_duration_millis = 11;
+ // Time for doing ePDG server selection through DNS query of FQDNs
+ optional int32 epdg_server_selection_duration_millis = 12;
+ // Time for establishing IKE tunnel
+ optional int32 ike_tunnel_establishment_duration_millis = 13;
+ // Tunnel State
+ // See
+ // packages/services/Iwlan/src/com/google/android/iwlan/IwlanDataService.java
+ optional int32 tunnel_state = 14;
+ // Handover failure mode
+ // See
+ // frameworks/base/telephony/java/android/telephony/data/DataCallResponse.java
+ optional int32 handover_failure_mode = 15;
+ // Retry duration
+ optional int32 retry_duration_millis = 16;
+}
+
+/**
+ * Logs when Iwlan reports IWLAN PDN disconnected without deactivation request.
+ *
+ * Logged from:
+ * packages/services/Iwlan/src/com/google/android/iwlan/IwlanDataService.java
+ */
+message IwlanPdnDisconnectedReasonReported {
+ // Disconnection cause
+ // See
+ // frameworks/base/telephony/java/android/telephony/DataFailCause.java
+ optional int32 cause = 1;
+ // Is network connected
+ optional bool is_network_connected = 2;
+ // default network transport type
+ // See
+ // packages/services/Iwlan/src/com/google/android/iwlan/IwlanDataService.java
+ optional int32 transport_type = 3;
+ // Wifi signal level
+ optional int32 wifi_signal_level = 4;
+}
+
+/**
+ * Logs ART metrics that are device-specific (as opposed to app-specific ones logged by
+ * ArtDatumReported).
+ *
+ * Logged from:
+ * art/runtime/metrics/statsd.cc
+ */
+message ArtDeviceDatumReported {
+ enum BootImageStatus {
+ // Unknown value.
+ STATUS_UNSPECIFIED = 0;
+ // Boot image(s) are fully usable.
+ STATUS_FULL = 1;
+ // Only the minimal boot image is usable.
+ STATUS_MINIMAL = 2;
+ // No boot image is usable.
+ STATUS_NONE = 3;
+ }
+
+ optional BootImageStatus boot_image_status = 1;
+}
diff --git a/stats/enums/uwb/enums.proto b/stats/enums/uwb/enums.proto
index 9802a5b..99aac80 100644
--- a/stats/enums/uwb/enums.proto
+++ b/stats/enums/uwb/enums.proto
@@ -48,6 +48,22 @@
PROVISION_FAILED = 8;
}
+// UWB ranging session status codes
+enum RangingStatus {
+ RANGING_STATUS_UNKNOWN = 0;
+ RANGING_SUCCESS = 1;
+ RANGING_GENERAL_FAILURE = 2;
+ RANGING_BAD_PARAMs = 3;
+ RANGING_REJECTED = 4;
+ TX_FAILED = 5;
+ RX_PHY_DEC_FAILED = 6;
+ RX_PHY_TOA_FAILED = 7;
+ RX_PHY_STS_FAILED = 8;
+ RX_MAC_DEC_FAILED = 9;
+ RX_MAC_IE_DEC_FAILED = 10;
+ RX_MAC_IE_MISSING = 11;
+}
+
// UWB session duration buckets
enum DurationBucket {
DURATION_UNKNOWN = 0;