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_TRACE_TRACE_PACKET_PZC_H_
18 #define INCLUDE_PERFETTO_PUBLIC_PROTOS_TRACE_TRACE_PACKET_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_AndroidCameraFrameEvent);
26 PERFETTO_PB_MSG_DECL(perfetto_protos_AndroidCameraSessionStats);
27 PERFETTO_PB_MSG_DECL(perfetto_protos_AndroidEnergyEstimationBreakdown);
28 PERFETTO_PB_MSG_DECL(perfetto_protos_AndroidGameInterventionList);
29 PERFETTO_PB_MSG_DECL(perfetto_protos_AndroidLogPacket);
30 PERFETTO_PB_MSG_DECL(perfetto_protos_AndroidSystemProperty);
31 PERFETTO_PB_MSG_DECL(perfetto_protos_BatteryCounters);
32 PERFETTO_PB_MSG_DECL(perfetto_protos_ChromeBenchmarkMetadata);
33 PERFETTO_PB_MSG_DECL(perfetto_protos_ChromeEventBundle);
34 PERFETTO_PB_MSG_DECL(perfetto_protos_ChromeMetadataPacket);
35 PERFETTO_PB_MSG_DECL(perfetto_protos_ClockSnapshot);
36 PERFETTO_PB_MSG_DECL(perfetto_protos_CpuInfo);
37 PERFETTO_PB_MSG_DECL(perfetto_protos_DeobfuscationMapping);
38 PERFETTO_PB_MSG_DECL(perfetto_protos_EntityStateResidency);
39 PERFETTO_PB_MSG_DECL(perfetto_protos_ExtensionDescriptor);
40 PERFETTO_PB_MSG_DECL(perfetto_protos_FrameTimelineEvent);
41 PERFETTO_PB_MSG_DECL(perfetto_protos_FtraceEventBundle);
42 PERFETTO_PB_MSG_DECL(perfetto_protos_FtraceStats);
43 PERFETTO_PB_MSG_DECL(perfetto_protos_GpuCounterEvent);
44 PERFETTO_PB_MSG_DECL(perfetto_protos_GpuLog);
45 PERFETTO_PB_MSG_DECL(perfetto_protos_GpuMemTotalEvent);
46 PERFETTO_PB_MSG_DECL(perfetto_protos_GpuRenderStageEvent);
47 PERFETTO_PB_MSG_DECL(perfetto_protos_GraphicsFrameEvent);
48 PERFETTO_PB_MSG_DECL(perfetto_protos_HeapGraph);
49 PERFETTO_PB_MSG_DECL(perfetto_protos_InitialDisplayState);
50 PERFETTO_PB_MSG_DECL(perfetto_protos_InodeFileMap);
51 PERFETTO_PB_MSG_DECL(perfetto_protos_InternedData);
52 PERFETTO_PB_MSG_DECL(perfetto_protos_MemoryTrackerSnapshot);
53 PERFETTO_PB_MSG_DECL(perfetto_protos_ModuleSymbols);
54 PERFETTO_PB_MSG_DECL(perfetto_protos_NetworkPacketEvent);
55 PERFETTO_PB_MSG_DECL(perfetto_protos_PackagesList);
56 PERFETTO_PB_MSG_DECL(perfetto_protos_PerfSample);
57 PERFETTO_PB_MSG_DECL(perfetto_protos_PerfettoMetatrace);
58 PERFETTO_PB_MSG_DECL(perfetto_protos_PowerRails);
59 PERFETTO_PB_MSG_DECL(perfetto_protos_ProcessDescriptor);
60 PERFETTO_PB_MSG_DECL(perfetto_protos_ProcessStats);
61 PERFETTO_PB_MSG_DECL(perfetto_protos_ProcessTree);
62 PERFETTO_PB_MSG_DECL(perfetto_protos_ProfilePacket);
63 PERFETTO_PB_MSG_DECL(perfetto_protos_ProfiledFrameSymbols);
64 PERFETTO_PB_MSG_DECL(perfetto_protos_SmapsPacket);
65 PERFETTO_PB_MSG_DECL(perfetto_protos_StatsdAtom);
66 PERFETTO_PB_MSG_DECL(perfetto_protos_StreamingAllocation);
67 PERFETTO_PB_MSG_DECL(perfetto_protos_StreamingFree);
68 PERFETTO_PB_MSG_DECL(perfetto_protos_StreamingProfilePacket);
69 PERFETTO_PB_MSG_DECL(perfetto_protos_SysStats);
70 PERFETTO_PB_MSG_DECL(perfetto_protos_SystemInfo);
71 PERFETTO_PB_MSG_DECL(perfetto_protos_TestEvent);
72 PERFETTO_PB_MSG_DECL(perfetto_protos_ThreadDescriptor);
73 PERFETTO_PB_MSG_DECL(perfetto_protos_TraceConfig);
74 PERFETTO_PB_MSG_DECL(perfetto_protos_TracePacketDefaults);
75 PERFETTO_PB_MSG_DECL(perfetto_protos_TraceStats);
76 PERFETTO_PB_MSG_DECL(perfetto_protos_TraceUuid);
77 PERFETTO_PB_MSG_DECL(perfetto_protos_TracingServiceEvent);
78 PERFETTO_PB_MSG_DECL(perfetto_protos_TrackDescriptor);
79 PERFETTO_PB_MSG_DECL(perfetto_protos_TrackEvent);
80 PERFETTO_PB_MSG_DECL(perfetto_protos_TrackEventRangeOfInterest);
81 PERFETTO_PB_MSG_DECL(perfetto_protos_TranslationTable);
82 PERFETTO_PB_MSG_DECL(perfetto_protos_Trigger);
83 PERFETTO_PB_MSG_DECL(perfetto_protos_UiState);
84 PERFETTO_PB_MSG_DECL(perfetto_protos_VulkanApiEvent);
85 PERFETTO_PB_MSG_DECL(perfetto_protos_VulkanMemoryEvent);
86
PERFETTO_PB_ENUM_IN_MSG(perfetto_protos_TracePacket,SequenceFlags)87 PERFETTO_PB_ENUM_IN_MSG(perfetto_protos_TracePacket, SequenceFlags){
88 PERFETTO_PB_ENUM_IN_MSG_ENTRY(perfetto_protos_TracePacket,
89 SEQ_UNSPECIFIED) = 0,
90 PERFETTO_PB_ENUM_IN_MSG_ENTRY(perfetto_protos_TracePacket,
91 SEQ_INCREMENTAL_STATE_CLEARED) = 1,
92 PERFETTO_PB_ENUM_IN_MSG_ENTRY(perfetto_protos_TracePacket,
93 SEQ_NEEDS_INCREMENTAL_STATE) = 2,
94 };
95
96 PERFETTO_PB_MSG(perfetto_protos_TracePacket);
97 PERFETTO_PB_FIELD(perfetto_protos_TracePacket, VARINT, uint64_t, timestamp, 8);
98 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
99 VARINT,
100 uint32_t,
101 timestamp_clock_id,
102 58);
103 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
104 MSG,
105 perfetto_protos_ProcessTree,
106 process_tree,
107 2);
108 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
109 MSG,
110 perfetto_protos_ProcessStats,
111 process_stats,
112 9);
113 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
114 MSG,
115 perfetto_protos_InodeFileMap,
116 inode_file_map,
117 4);
118 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
119 MSG,
120 perfetto_protos_ChromeEventBundle,
121 chrome_events,
122 5);
123 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
124 MSG,
125 perfetto_protos_ClockSnapshot,
126 clock_snapshot,
127 6);
128 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
129 MSG,
130 perfetto_protos_SysStats,
131 sys_stats,
132 7);
133 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
134 MSG,
135 perfetto_protos_TrackEvent,
136 track_event,
137 11);
138 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
139 MSG,
140 perfetto_protos_TraceUuid,
141 trace_uuid,
142 89);
143 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
144 MSG,
145 perfetto_protos_TraceConfig,
146 trace_config,
147 33);
148 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
149 MSG,
150 perfetto_protos_FtraceStats,
151 ftrace_stats,
152 34);
153 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
154 MSG,
155 perfetto_protos_TraceStats,
156 trace_stats,
157 35);
158 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
159 MSG,
160 perfetto_protos_ProfilePacket,
161 profile_packet,
162 37);
163 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
164 MSG,
165 perfetto_protos_StreamingAllocation,
166 streaming_allocation,
167 74);
168 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
169 MSG,
170 perfetto_protos_StreamingFree,
171 streaming_free,
172 75);
173 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
174 MSG,
175 perfetto_protos_BatteryCounters,
176 battery,
177 38);
178 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
179 MSG,
180 perfetto_protos_PowerRails,
181 power_rails,
182 40);
183 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
184 MSG,
185 perfetto_protos_AndroidLogPacket,
186 android_log,
187 39);
188 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
189 MSG,
190 perfetto_protos_SystemInfo,
191 system_info,
192 45);
193 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
194 MSG,
195 perfetto_protos_Trigger,
196 trigger,
197 46);
198 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
199 MSG,
200 perfetto_protos_PackagesList,
201 packages_list,
202 47);
203 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
204 MSG,
205 perfetto_protos_ChromeBenchmarkMetadata,
206 chrome_benchmark_metadata,
207 48);
208 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
209 MSG,
210 perfetto_protos_PerfettoMetatrace,
211 perfetto_metatrace,
212 49);
213 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
214 MSG,
215 perfetto_protos_ChromeMetadataPacket,
216 chrome_metadata,
217 51);
218 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
219 MSG,
220 perfetto_protos_GpuCounterEvent,
221 gpu_counter_event,
222 52);
223 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
224 MSG,
225 perfetto_protos_GpuRenderStageEvent,
226 gpu_render_stage_event,
227 53);
228 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
229 MSG,
230 perfetto_protos_StreamingProfilePacket,
231 streaming_profile_packet,
232 54);
233 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
234 MSG,
235 perfetto_protos_HeapGraph,
236 heap_graph,
237 56);
238 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
239 MSG,
240 perfetto_protos_GraphicsFrameEvent,
241 graphics_frame_event,
242 57);
243 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
244 MSG,
245 perfetto_protos_VulkanMemoryEvent,
246 vulkan_memory_event,
247 62);
248 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
249 MSG,
250 perfetto_protos_GpuLog,
251 gpu_log,
252 63);
253 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
254 MSG,
255 perfetto_protos_VulkanApiEvent,
256 vulkan_api_event,
257 65);
258 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
259 MSG,
260 perfetto_protos_PerfSample,
261 perf_sample,
262 66);
263 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
264 MSG,
265 perfetto_protos_CpuInfo,
266 cpu_info,
267 67);
268 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
269 MSG,
270 perfetto_protos_SmapsPacket,
271 smaps_packet,
272 68);
273 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
274 MSG,
275 perfetto_protos_TracingServiceEvent,
276 service_event,
277 69);
278 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
279 MSG,
280 perfetto_protos_InitialDisplayState,
281 initial_display_state,
282 70);
283 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
284 MSG,
285 perfetto_protos_GpuMemTotalEvent,
286 gpu_mem_total_event,
287 71);
288 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
289 MSG,
290 perfetto_protos_MemoryTrackerSnapshot,
291 memory_tracker_snapshot,
292 73);
293 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
294 MSG,
295 perfetto_protos_FrameTimelineEvent,
296 frame_timeline_event,
297 76);
298 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
299 MSG,
300 perfetto_protos_AndroidEnergyEstimationBreakdown,
301 android_energy_estimation_breakdown,
302 77);
303 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
304 MSG,
305 perfetto_protos_UiState,
306 ui_state,
307 78);
308 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
309 MSG,
310 perfetto_protos_AndroidCameraFrameEvent,
311 android_camera_frame_event,
312 80);
313 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
314 MSG,
315 perfetto_protos_AndroidCameraSessionStats,
316 android_camera_session_stats,
317 81);
318 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
319 MSG,
320 perfetto_protos_TranslationTable,
321 translation_table,
322 82);
323 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
324 MSG,
325 perfetto_protos_AndroidGameInterventionList,
326 android_game_intervention_list,
327 83);
328 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
329 MSG,
330 perfetto_protos_StatsdAtom,
331 statsd_atom,
332 84);
333 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
334 MSG,
335 perfetto_protos_AndroidSystemProperty,
336 android_system_property,
337 86);
338 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
339 MSG,
340 perfetto_protos_EntityStateResidency,
341 entity_state_residency,
342 91);
343 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
344 MSG,
345 perfetto_protos_ProfiledFrameSymbols,
346 profiled_frame_symbols,
347 55);
348 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
349 MSG,
350 perfetto_protos_ModuleSymbols,
351 module_symbols,
352 61);
353 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
354 MSG,
355 perfetto_protos_DeobfuscationMapping,
356 deobfuscation_mapping,
357 64);
358 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
359 MSG,
360 perfetto_protos_TrackDescriptor,
361 track_descriptor,
362 60);
363 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
364 MSG,
365 perfetto_protos_ProcessDescriptor,
366 process_descriptor,
367 43);
368 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
369 MSG,
370 perfetto_protos_ThreadDescriptor,
371 thread_descriptor,
372 44);
373 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
374 MSG,
375 perfetto_protos_FtraceEventBundle,
376 ftrace_events,
377 1);
378 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
379 STRING,
380 const char*,
381 synchronization_marker,
382 36);
383 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
384 STRING,
385 const char*,
386 compressed_packets,
387 50);
388 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
389 MSG,
390 perfetto_protos_ExtensionDescriptor,
391 extension_descriptor,
392 72);
393 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
394 MSG,
395 perfetto_protos_NetworkPacketEvent,
396 network_packet,
397 88);
398 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
399 MSG,
400 perfetto_protos_TrackEventRangeOfInterest,
401 track_event_range_of_interest,
402 90);
403 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
404 MSG,
405 perfetto_protos_TestEvent,
406 for_testing,
407 900);
408 PERFETTO_PB_FIELD(perfetto_protos_TracePacket, VARINT, int32_t, trusted_uid, 3);
409 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
410 VARINT,
411 uint32_t,
412 trusted_packet_sequence_id,
413 10);
414 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
415 VARINT,
416 int32_t,
417 trusted_pid,
418 79);
419 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
420 MSG,
421 perfetto_protos_InternedData,
422 interned_data,
423 12);
424 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
425 VARINT,
426 uint32_t,
427 sequence_flags,
428 13);
429 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
430 VARINT,
431 bool,
432 incremental_state_cleared,
433 41);
434 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
435 MSG,
436 perfetto_protos_TracePacketDefaults,
437 trace_packet_defaults,
438 59);
439 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
440 VARINT,
441 bool,
442 previous_packet_dropped,
443 42);
444 PERFETTO_PB_FIELD(perfetto_protos_TracePacket,
445 VARINT,
446 bool,
447 first_packet_on_sequence,
448 87);
449
450 #endif // INCLUDE_PERFETTO_PUBLIC_PROTOS_TRACE_TRACE_PACKET_PZC_H_
451