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
17 #ifndef INCLUDE_PERFETTO_PUBLIC_PROTOS_CONFIG_DATA_SOURCE_CONFIG_PZC_H_
18 #define INCLUDE_PERFETTO_PUBLIC_PROTOS_CONFIG_DATA_SOURCE_CONFIG_PZC_H_
19
20 #include <stdbool.h>
21 #include <stdint.h>
22
23 #include "perfetto/public/pb_macros.h"
24
25 PERFETTO_PB_MSG_DECL(perfetto_protos_AndroidGameInterventionListConfig);
26 PERFETTO_PB_MSG_DECL(perfetto_protos_AndroidLogConfig);
27 PERFETTO_PB_MSG_DECL(perfetto_protos_AndroidPolledStateConfig);
28 PERFETTO_PB_MSG_DECL(perfetto_protos_AndroidPowerConfig);
29 PERFETTO_PB_MSG_DECL(perfetto_protos_AndroidSystemPropertyConfig);
30 PERFETTO_PB_MSG_DECL(perfetto_protos_ChromeConfig);
31 PERFETTO_PB_MSG_DECL(perfetto_protos_FtraceConfig);
32 PERFETTO_PB_MSG_DECL(perfetto_protos_GpuCounterConfig);
33 PERFETTO_PB_MSG_DECL(perfetto_protos_HeapprofdConfig);
34 PERFETTO_PB_MSG_DECL(perfetto_protos_InodeFileConfig);
35 PERFETTO_PB_MSG_DECL(perfetto_protos_InterceptorConfig);
36 PERFETTO_PB_MSG_DECL(perfetto_protos_JavaHprofConfig);
37 PERFETTO_PB_MSG_DECL(perfetto_protos_NetworkPacketTraceConfig);
38 PERFETTO_PB_MSG_DECL(perfetto_protos_PackagesListConfig);
39 PERFETTO_PB_MSG_DECL(perfetto_protos_PerfEventConfig);
40 PERFETTO_PB_MSG_DECL(perfetto_protos_ProcessStatsConfig);
41 PERFETTO_PB_MSG_DECL(perfetto_protos_StatsdTracingConfig);
42 PERFETTO_PB_MSG_DECL(perfetto_protos_SysStatsConfig);
43 PERFETTO_PB_MSG_DECL(perfetto_protos_SystemInfoConfig);
44 PERFETTO_PB_MSG_DECL(perfetto_protos_TestConfig);
45 PERFETTO_PB_MSG_DECL(perfetto_protos_TrackEventConfig);
46 PERFETTO_PB_MSG_DECL(perfetto_protos_VulkanMemoryConfig);
47
PERFETTO_PB_ENUM_IN_MSG(perfetto_protos_DataSourceConfig,SessionInitiator)48 PERFETTO_PB_ENUM_IN_MSG(perfetto_protos_DataSourceConfig, SessionInitiator){
49 PERFETTO_PB_ENUM_IN_MSG_ENTRY(perfetto_protos_DataSourceConfig,
50 SESSION_INITIATOR_UNSPECIFIED) = 0,
51 PERFETTO_PB_ENUM_IN_MSG_ENTRY(perfetto_protos_DataSourceConfig,
52 SESSION_INITIATOR_TRUSTED_SYSTEM) = 1,
53 };
54
55 PERFETTO_PB_MSG(perfetto_protos_DataSourceConfig);
56 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
57 STRING,
58 const char*,
59 name,
60 1);
61 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
62 VARINT,
63 uint32_t,
64 target_buffer,
65 2);
66 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
67 VARINT,
68 uint32_t,
69 trace_duration_ms,
70 3);
71 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
72 VARINT,
73 bool,
74 prefer_suspend_clock_for_duration,
75 122);
76 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
77 VARINT,
78 uint32_t,
79 stop_timeout_ms,
80 7);
81 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
82 VARINT,
83 bool,
84 enable_extra_guardrails,
85 6);
86 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
87 VARINT,
88 enum perfetto_protos_DataSourceConfig_SessionInitiator,
89 session_initiator,
90 8);
91 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
92 VARINT,
93 uint64_t,
94 tracing_session_id,
95 4);
96 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
97 MSG,
98 perfetto_protos_FtraceConfig,
99 ftrace_config,
100 100);
101 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
102 MSG,
103 perfetto_protos_InodeFileConfig,
104 inode_file_config,
105 102);
106 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
107 MSG,
108 perfetto_protos_ProcessStatsConfig,
109 process_stats_config,
110 103);
111 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
112 MSG,
113 perfetto_protos_SysStatsConfig,
114 sys_stats_config,
115 104);
116 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
117 MSG,
118 perfetto_protos_HeapprofdConfig,
119 heapprofd_config,
120 105);
121 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
122 MSG,
123 perfetto_protos_JavaHprofConfig,
124 java_hprof_config,
125 110);
126 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
127 MSG,
128 perfetto_protos_AndroidPowerConfig,
129 android_power_config,
130 106);
131 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
132 MSG,
133 perfetto_protos_AndroidLogConfig,
134 android_log_config,
135 107);
136 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
137 MSG,
138 perfetto_protos_GpuCounterConfig,
139 gpu_counter_config,
140 108);
141 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
142 MSG,
143 perfetto_protos_AndroidGameInterventionListConfig,
144 android_game_intervention_list_config,
145 116);
146 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
147 MSG,
148 perfetto_protos_PackagesListConfig,
149 packages_list_config,
150 109);
151 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
152 MSG,
153 perfetto_protos_PerfEventConfig,
154 perf_event_config,
155 111);
156 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
157 MSG,
158 perfetto_protos_VulkanMemoryConfig,
159 vulkan_memory_config,
160 112);
161 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
162 MSG,
163 perfetto_protos_TrackEventConfig,
164 track_event_config,
165 113);
166 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
167 MSG,
168 perfetto_protos_AndroidPolledStateConfig,
169 android_polled_state_config,
170 114);
171 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
172 MSG,
173 perfetto_protos_AndroidSystemPropertyConfig,
174 android_system_property_config,
175 118);
176 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
177 MSG,
178 perfetto_protos_StatsdTracingConfig,
179 statsd_tracing_config,
180 117);
181 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
182 MSG,
183 perfetto_protos_SystemInfoConfig,
184 system_info_config,
185 119);
186 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
187 MSG,
188 perfetto_protos_ChromeConfig,
189 chrome_config,
190 101);
191 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
192 MSG,
193 perfetto_protos_InterceptorConfig,
194 interceptor_config,
195 115);
196 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
197 MSG,
198 perfetto_protos_NetworkPacketTraceConfig,
199 network_packet_trace_config,
200 120);
201 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
202 STRING,
203 const char*,
204 legacy_config,
205 1000);
206 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
207 MSG,
208 perfetto_protos_TestConfig,
209 for_testing,
210 1001);
211
212 #endif // INCLUDE_PERFETTO_PUBLIC_PROTOS_CONFIG_DATA_SOURCE_CONFIG_PZC_H_
213