1syntax = "proto2"; 2 3package com.android.server.telecom; 4 5option java_package = "com.android.server.telecom"; 6option java_outer_classname = "PulledAtomsClass"; 7 8message PulledAtoms { 9 repeated CallStats call_stats = 1; 10 optional int64 call_stats_pull_timestamp_millis = 2; 11 repeated CallAudioRouteStats call_audio_route_stats = 3; 12 optional int64 call_audio_route_stats_pull_timestamp_millis = 4; 13 repeated TelecomApiStats telecom_api_stats = 5; 14 optional int64 telecom_api_stats_pull_timestamp_millis = 6; 15 repeated TelecomErrorStats telecom_error_stats = 7; 16 optional int64 telecom_error_stats_pull_timestamp_millis = 8; 17 repeated TelecomEventStats telecom_event_stats = 9; 18 optional int64 telecom_event_stats_pull_timestamp_millis = 10; 19} 20 21/** 22 * Pulled atom to capture stats of the calls 23 * From frameworks/proto_logging/stats/atoms/telecomm/telecom_extension_atom.proto 24 */ 25message CallStats { 26 // The value should be converted to android.telecom.CallDirectionEnum 27 // From frameworks/proto_logging/stats/enums/telecomm/enums.proto 28 optional int32 call_direction = 1; 29 30 // True if call is external. External calls are calls on connected Wear 31 // devices but show up in Telecom so the user can pull them onto the device. 32 optional bool external_call = 2; 33 34 // True if call is emergency call. 35 optional bool emergency_call = 3; 36 37 // True if there are multiple audio routes available 38 optional bool multiple_audio_available = 4; 39 40 // The value should be converted to android.telecom.AccountTypeEnum 41 // From frameworks/proto_logging/stats/enums/telecomm/enums.proto 42 optional int32 account_type = 5; 43 44 // UID of the package to init the call. This should always be -1/unknown for 45 // the private space calls 46 optional int32 uid = 6; 47 48 // Total number of the calls 49 optional int32 count = 7; 50 51 // Average elapsed time between CALL_STATE_ACTIVE to CALL_STATE_DISCONNECTED. 52 optional int32 average_duration_ms = 8; 53 54 // The disconnect cause of the call. Eg. ERROR, LOCAL, REMOTE, etc. 55 // From frameworks/proto_logging/stats/enums/telecomm/enums.proto 56 optional int32 disconnect_cause = 9; 57 58 // The type of simultaneous call type. Eg. SINGLE, DUAL_SAME_ACCOUNT, 59 // DUAL_DIFF_ACCOUNT, etc. 60 // From frameworks/proto_logging/stats/enums/telecomm/enums.proto 61 optional int32 simultaneous_type = 10; 62 63 // True if it is a video call 64 optional bool video_call = 11; 65} 66 67/** 68 * Pulled atom to capture stats of the call audio route 69 * From frameworks/proto_logging/stats/atoms/telecomm/telecom_extension_atom.proto 70 */ 71message CallAudioRouteStats { 72 // The value should be converted to android.telecom.CallAudioEnum 73 // From frameworks/proto_logging/stats/enums/telecomm/enums.proto 74 optional int32 call_audio_route_source = 1; 75 76 // The value should be converted to android.telecom.CallAudioEnum 77 // From frameworks/proto_logging/stats/enums/telecomm/enums.proto 78 optional int32 call_audio_route_dest = 2; 79 80 // True if the route is successful. 81 optional bool success = 3; 82 83 // True if the route is revert 84 optional bool revert = 4; 85 86 // Total number of the audio route 87 optional int32 count = 5; 88 89 // Average time from the audio route start to complete 90 optional int32 average_latency_ms = 6; 91} 92 93/** 94 * Pulled atom to capture stats of Telecom API usage 95 * From frameworks/proto_logging/stats/atoms/telecomm/telecom_extension_atom.proto 96 */ 97message TelecomApiStats { 98 // The value should be converted to android.telecom.ApiNameEnum 99 // From frameworks/proto_logging/stats/enums/telecomm/enums.proto 100 optional int32 api_name = 1; 101 102 // UID of the caller. This is always -1/unknown for the private space. 103 optional int32 uid = 2; 104 105 // The value should be converted to android.telecom.ApiResultEnum 106 // From frameworks/proto_logging/stats/enums/telecomm/enums.proto 107 optional int32 api_result = 3; 108 109 // The number of times this event occurs 110 optional int32 count = 4; 111} 112 113/** 114 * Pulled atom to capture stats of Telecom module errors 115 * From frameworks/proto_logging/stats/atoms/telecomm/telecom_extension_atom.proto 116 */ 117message TelecomErrorStats { 118 // The value should be converted to android.telecom.SubmoduleEnum 119 // From frameworks/proto_logging/stats/enums/telecomm/enums.proto 120 optional int32 submodule = 1; 121 122 // The value should be converted to android.telecom.ErrorEnum 123 // From frameworks/proto_logging/stats/enums/telecomm/enums.proto 124 optional int32 error = 2; 125 126 // The number of times this error occurs 127 optional int32 count = 3; 128} 129 130/** 131 * Pulled atom to capture stats of Telecom critical events 132 */ 133message TelecomEventStats { 134 // The event name 135 // From frameworks/proto_logging/stats/enums/telecomm/enums.proto 136 optional int32 event = 1; 137 138 // UID of the caller. This is always -1/unknown for the private space. 139 optional int32 uid = 2; 140 141 // The cause related to the event 142 // From frameworks/proto_logging/stats/enums/telecomm/enums.proto 143 optional int32 event_cause = 3; 144 145 // The number of times this event occurs 146 optional int32 count = 4; 147} 148