• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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