blob: 2916dadc50ccaa8034b8a35da65c35856c94a172 [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 Wangfe47a862024-09-17 17:05:30 +000062}
63
64/**
65 * Pulled atom to capture stats of the call audio route
66 * From frameworks/proto_logging/stats/atoms/telecomm/telecom_extension_atom.proto
67 */
68message CallAudioRouteStats {
69 // The value should be converted to android.telecom.CallAudioEnum
70 // From frameworks/proto_logging/stats/enums/telecomm/enums.proto
71 optional int32 call_audio_route_source = 1;
72
73 // The value should be converted to android.telecom.CallAudioEnum
74 // From frameworks/proto_logging/stats/enums/telecomm/enums.proto
75 optional int32 call_audio_route_dest = 2;
76
77 // True if the route is successful.
78 optional bool success = 3;
79
80 // True if the route is revert
81 optional bool revert = 4;
82
83 // Total number of the audio route
84 optional int32 count = 5;
85
86 // Average time from the audio route start to complete
87 optional int32 average_latency_ms = 6;
88}
89
90/**
91 * Pulled atom to capture stats of Telecom API usage
92 * From frameworks/proto_logging/stats/atoms/telecomm/telecom_extension_atom.proto
93 */
94message TelecomApiStats {
95 // The value should be converted to android.telecom.ApiNameEnum
96 // From frameworks/proto_logging/stats/enums/telecomm/enums.proto
97 optional int32 api_name = 1;
98
99 // UID of the caller. This is always -1/unknown for the private space.
100 optional int32 uid = 2;
101
102 // The value should be converted to android.telecom.ApiResultEnum
103 // From frameworks/proto_logging/stats/enums/telecomm/enums.proto
104 optional int32 api_result = 3;
105
106 // The number of times this event occurs
107 optional int32 count = 4;
108}
109
110/**
111 * Pulled atom to capture stats of Telecom module errors
112 * From frameworks/proto_logging/stats/atoms/telecomm/telecom_extension_atom.proto
113 */
114message TelecomErrorStats {
Hui Wang74a56662024-09-24 18:37:22 -0500115 // The value should be converted to android.telecom.SubmoduleEnum
Hui Wangfe47a862024-09-17 17:05:30 +0000116 // From frameworks/proto_logging/stats/enums/telecomm/enums.proto
Hui Wang74a56662024-09-24 18:37:22 -0500117 optional int32 submodule = 1;
Hui Wangfe47a862024-09-17 17:05:30 +0000118
Hui Wang74a56662024-09-24 18:37:22 -0500119 // The value should be converted to android.telecom.ErrorEnum
Hui Wangfe47a862024-09-17 17:05:30 +0000120 // From frameworks/proto_logging/stats/enums/telecomm/enums.proto
Hui Wang74a56662024-09-24 18:37:22 -0500121 optional int32 error = 2;
Hui Wangfe47a862024-09-17 17:05:30 +0000122
123 // The number of times this error occurs
124 optional int32 count = 3;
125}
Hui Wang94ab0f72025-02-18 21:44:38 -0600126
127/**
128 * Pulled atom to capture stats of Telecom critical events
129 */
130message TelecomEventStats {
131 // The event name
132 // From frameworks/proto_logging/stats/enums/telecomm/enums.proto
133 optional int32 event = 1;
134
135 // UID of the caller. This is always -1/unknown for the private space.
136 optional int32 uid = 2;
137
138 // The cause related to the event
139 // From frameworks/proto_logging/stats/enums/telecomm/enums.proto
140 optional int32 event_cause = 3;
141
142 // The number of times this event occurs
143 optional int32 count = 4;
144}