blob: a72e847d97d4e21b9a7e38e24ee94d13f0342d13 [file] [log] [blame]
Hui Wangfe47a862024-09-17 17:05:30 +00001syntax = "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;
Hui Wang94ab0f72025-02-18 21:44:38 -060017 repeated TelecomEventStats telecom_event_stats = 9;
18 optional int64 telecom_event_stats_pull_timestamp_millis = 10;
Hui Wangfe47a862024-09-17 17:05:30 +000019}
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;
Hui Wang94ab0f72025-02-18 21:44:38 -060053
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;
Hui Wanga02ca1a2025-03-07 15:44:39 -060062
63 // True if it is a video call
64 optional bool video_call = 11;
Hui Wangfe47a862024-09-17 17:05:30 +000065}
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 {
Hui Wang74a56662024-09-24 18:37:22 -0500118 // The value should be converted to android.telecom.SubmoduleEnum
Hui Wangfe47a862024-09-17 17:05:30 +0000119 // From frameworks/proto_logging/stats/enums/telecomm/enums.proto
Hui Wang74a56662024-09-24 18:37:22 -0500120 optional int32 submodule = 1;
Hui Wangfe47a862024-09-17 17:05:30 +0000121
Hui Wang74a56662024-09-24 18:37:22 -0500122 // The value should be converted to android.telecom.ErrorEnum
Hui Wangfe47a862024-09-17 17:05:30 +0000123 // From frameworks/proto_logging/stats/enums/telecomm/enums.proto
Hui Wang74a56662024-09-24 18:37:22 -0500124 optional int32 error = 2;
Hui Wangfe47a862024-09-17 17:05:30 +0000125
126 // The number of times this error occurs
127 optional int32 count = 3;
128}
Hui Wang94ab0f72025-02-18 21:44:38 -0600129
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}