1/* 2 * Copyright (C) 2023 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17syntax = "proto2"; 18 19package android.os.statsd.telephony; 20 21import "frameworks/proto_logging/stats/atom_field_options.proto"; 22import "frameworks/proto_logging/stats/atoms.proto"; 23import "frameworks/proto_logging/stats/enums/telephony/enums.proto"; 24import "frameworks/proto_logging/stats/enums/telephony/satellite/enums.proto"; 25 26option java_package = "com.android.os.telephony"; 27option java_multiple_files = true; 28 29extend Atom { 30 optional SatelliteController satellite_controller = 10182 31 [(module) = "telephony"]; 32 optional SatelliteSession satellite_session = 10183 33 [(module) = "telephony"]; 34 optional SatelliteIncomingDatagram satellite_incoming_datagram = 10184 35 [(module) = "telephony"]; 36 optional SatelliteOutgoingDatagram satellite_outgoing_datagram = 10185 37 [(module) = "telephony"]; 38 optional SatelliteProvision satellite_provision = 10186 39 [(module) = "telephony"]; 40 optional SatelliteSosMessageRecommender satellite_sos_message_recommender = 10187 41 [(module) = "telephony"]; 42} 43 44/** 45 * One data point of this metric is logged per day if the satellite is enabled 46 * or provisioned/deprovisioned at least once 47 */ 48message SatelliteController { 49 // Total count of successful attempts for turning on satellite service. 50 optional int32 count_of_satellite_service_enablements_success = 1; 51 // Total count of failed attempts for turning on satellite service. 52 optional int32 count_of_satellite_service_enablements_fail = 2; 53 // Total count of successful attempt for outgoing datagrams. 54 optional int32 count_of_outgoing_datagram_success = 3; 55 // Total count of failed attempts for outgoing datagrams. 56 optional int32 count_of_outgoing_datagram_fail = 4; 57 // Total count of successful attempt for incoming datagrams. 58 optional int32 count_of_incoming_datagram_success = 5; 59 // Total count of failed attempts for incoming datagrams. 60 optional int32 count_of_incoming_datagram_fail = 6; 61 // Total count of successful attempts for transferring SOS SMS. 62 optional int32 count_of_datagram_type_sos_sms_success = 7; 63 // Total count of failed attempts for transferring SOS SMS. 64 optional int32 count_of_datagram_type_sos_sms_fail = 8; 65 // Total count of successful attempts for transferring location sharing. 66 optional int32 count_of_datagram_type_location_sharing_success = 9; 67 // Total count of failed attempts for transferring location sharing. 68 optional int32 count_of_datagram_type_location_sharing_fail = 10; 69 // Total count of successful attempt for provisioning. 70 optional int32 count_of_provision_success = 11; 71 // Total count of failed attempts for provisioning. 72 optional int32 count_of_provision_fail = 12; 73 // Total count of successful attempts for deprovisioning. 74 optional int32 count_of_deprovision_success = 13; 75 // Total count of failed attempts for deprovisioning. 76 optional int32 count_of_deprovision_fail = 14; 77 // The sum of all duration from the satellite is turned on until it is turned off in seconds. 78 optional int32 total_service_uptime_sec = 15; 79 // The amount of battery consumption, while the satellite state is on. 80 // excluded while in charging state rounded to percent. 81 optional int32 total_battery_consumption_percent = 16; 82 // The total duration of the battery being charged while satellite modem is on 83 optional int32 total_battery_charged_time_sec = 17; 84} 85 86/** 87 * One data point of this metric is logged per satellite enablement 88 */ 89message SatelliteSession { 90 // The result for satellite modem initialization. 91 optional android.telephony.SatelliteError satellite_service_initialization_result = 1; 92 // Satellite technology to datagram transfer. 93 optional android.telephony.NTRadioTechnology satellite_technology = 2; 94 // Total count of times this event has occurred. 95 optional int32 count = 3; 96} 97 98/** 99 * Snapshot of satellite incoming datagram 100 */ 101message SatelliteIncomingDatagram { 102 // Return code in receiving the datagram. 103 optional android.telephony.SatelliteError result_code = 1; 104 // The size of the datagram in bytes. 105 optional int32 datagram_size_bytes = 2; 106 // The amount of time took to receive the datagram. 107 optional int64 datagram_transfer_time_millis = 3; 108} 109 110/** 111 * Snapshot of satellite outgoing datagram 112 */ 113message SatelliteOutgoingDatagram { 114 // Feature type of datagram. 115 optional android.telephony.DatagramType satellite_datagram_type = 1; 116 // Return code in sending the datagram. 117 optional android.telephony.SatelliteError result_code = 2; 118 // The size of the datagram in bytes. 119 optional int32 datagram_size_bytes = 3; 120 // The amount of time took to send the datagram. 121 optional int64 datagram_transfer_time_millis = 4; 122} 123 124/** 125 * Stats about the provision/deprovision result for satellite service 126 */ 127message SatelliteProvision { 128 // The result of satellite service provision/deprovision. 129 optional android.telephony.SatelliteError result_code = 1; 130 // The amount of time in seconds from start to complete provision/deprovision. 131 optional int32 processing_time_sec = 2; 132 // Indicator whether this is for provision/deprovision. 133 // true means a provision request, and false means a deprovision request. 134 optional bool is_provision_request = 3; 135 // Whether the provisioning request was canceled. 136 optional bool is_canceled = 4; 137} 138 139/** 140 * Snapshot of satellite SOS message recommender 141 */ 142message SatelliteSosMessageRecommender { 143 // Whether the Dialer is notified with the event DISPLAY_SOS_MESSAGE. 144 optional bool is_display_sos_message_sent = 1; 145 // Number of times the timer is started. 146 optional int32 count_of_timer_started = 2; 147 // Whether IMS is registered. 148 optional bool is_ims_registered = 3; 149 // The cellular service state. 150 optional android.telephony.ServiceStateEnum cellular_service_state = 4; 151 // Total count of times this event has occurred. 152 optional int32 count = 5; 153}