• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Autogenerated by the ProtoZero compiler plugin. DO NOT EDIT.
2 
3 #ifndef PERFETTO_PROTOS_TRACE_PACKET_PROTO_H_
4 #define PERFETTO_PROTOS_TRACE_PACKET_PROTO_H_
5 
6 #include <stddef.h>
7 #include <stdint.h>
8 
9 #include "perfetto/protozero/message.h"
10 #include "perfetto/protozero/packed_repeated_fields.h"
11 #include "perfetto/protozero/proto_decoder.h"
12 #include "perfetto/protozero/proto_utils.h"
13 
14 namespace perfetto {
15 namespace protos {
16 namespace pbzero {
17 
18 class AndroidLogPacket;
19 class BatteryCounters;
20 class ChromeBenchmarkMetadata;
21 class ChromeEventBundle;
22 class ChromeMetadataPacket;
23 class ClockSnapshot;
24 class CpuInfo;
25 class DeobfuscationMapping;
26 class ExtensionDescriptor;
27 class FtraceEventBundle;
28 class FtraceStats;
29 class GpuCounterEvent;
30 class GpuLog;
31 class GpuMemTotalEvent;
32 class GpuRenderStageEvent;
33 class GraphicsFrameEvent;
34 class HeapGraph;
35 class InitialDisplayState;
36 class InodeFileMap;
37 class InternedData;
38 class MemoryTrackerSnapshot;
39 class ModuleSymbols;
40 class PackagesList;
41 class PerfSample;
42 class PerfettoMetatrace;
43 class PowerRails;
44 class ProcessDescriptor;
45 class ProcessStats;
46 class ProcessTree;
47 class ProfilePacket;
48 class ProfiledFrameSymbols;
49 class SmapsPacket;
50 class StreamingProfilePacket;
51 class SysStats;
52 class SystemInfo;
53 class TestEvent;
54 class ThreadDescriptor;
55 class TraceConfig;
56 class TracePacketDefaults;
57 class TraceStats;
58 class TracingServiceEvent;
59 class TrackDescriptor;
60 class TrackEvent;
61 class Trigger;
62 class VulkanApiEvent;
63 class VulkanMemoryEvent;
64 
65 enum TracePacket_SequenceFlags : int32_t {
66   TracePacket_SequenceFlags_SEQ_UNSPECIFIED = 0,
67   TracePacket_SequenceFlags_SEQ_INCREMENTAL_STATE_CLEARED = 1,
68   TracePacket_SequenceFlags_SEQ_NEEDS_INCREMENTAL_STATE = 2,
69 };
70 
71 const TracePacket_SequenceFlags TracePacket_SequenceFlags_MIN = TracePacket_SequenceFlags_SEQ_UNSPECIFIED;
72 const TracePacket_SequenceFlags TracePacket_SequenceFlags_MAX = TracePacket_SequenceFlags_SEQ_NEEDS_INCREMENTAL_STATE;
73 
74 class TracePacket_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/900, /*HAS_NONPACKED_REPEATED_FIELDS=*/false> {
75  public:
TracePacket_Decoder(const uint8_t * data,size_t len)76   TracePacket_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {}
TracePacket_Decoder(const std::string & raw)77   explicit TracePacket_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {}
TracePacket_Decoder(const::protozero::ConstBytes & raw)78   explicit TracePacket_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {}
has_timestamp()79   bool has_timestamp() const { return at<8>().valid(); }
timestamp()80   uint64_t timestamp() const { return at<8>().as_uint64(); }
has_timestamp_clock_id()81   bool has_timestamp_clock_id() const { return at<58>().valid(); }
timestamp_clock_id()82   uint32_t timestamp_clock_id() const { return at<58>().as_uint32(); }
has_process_tree()83   bool has_process_tree() const { return at<2>().valid(); }
process_tree()84   ::protozero::ConstBytes process_tree() const { return at<2>().as_bytes(); }
has_process_stats()85   bool has_process_stats() const { return at<9>().valid(); }
process_stats()86   ::protozero::ConstBytes process_stats() const { return at<9>().as_bytes(); }
has_inode_file_map()87   bool has_inode_file_map() const { return at<4>().valid(); }
inode_file_map()88   ::protozero::ConstBytes inode_file_map() const { return at<4>().as_bytes(); }
has_chrome_events()89   bool has_chrome_events() const { return at<5>().valid(); }
chrome_events()90   ::protozero::ConstBytes chrome_events() const { return at<5>().as_bytes(); }
has_clock_snapshot()91   bool has_clock_snapshot() const { return at<6>().valid(); }
clock_snapshot()92   ::protozero::ConstBytes clock_snapshot() const { return at<6>().as_bytes(); }
has_sys_stats()93   bool has_sys_stats() const { return at<7>().valid(); }
sys_stats()94   ::protozero::ConstBytes sys_stats() const { return at<7>().as_bytes(); }
has_track_event()95   bool has_track_event() const { return at<11>().valid(); }
track_event()96   ::protozero::ConstBytes track_event() const { return at<11>().as_bytes(); }
has_trace_config()97   bool has_trace_config() const { return at<33>().valid(); }
trace_config()98   ::protozero::ConstBytes trace_config() const { return at<33>().as_bytes(); }
has_ftrace_stats()99   bool has_ftrace_stats() const { return at<34>().valid(); }
ftrace_stats()100   ::protozero::ConstBytes ftrace_stats() const { return at<34>().as_bytes(); }
has_trace_stats()101   bool has_trace_stats() const { return at<35>().valid(); }
trace_stats()102   ::protozero::ConstBytes trace_stats() const { return at<35>().as_bytes(); }
has_profile_packet()103   bool has_profile_packet() const { return at<37>().valid(); }
profile_packet()104   ::protozero::ConstBytes profile_packet() const { return at<37>().as_bytes(); }
has_battery()105   bool has_battery() const { return at<38>().valid(); }
battery()106   ::protozero::ConstBytes battery() const { return at<38>().as_bytes(); }
has_power_rails()107   bool has_power_rails() const { return at<40>().valid(); }
power_rails()108   ::protozero::ConstBytes power_rails() const { return at<40>().as_bytes(); }
has_android_log()109   bool has_android_log() const { return at<39>().valid(); }
android_log()110   ::protozero::ConstBytes android_log() const { return at<39>().as_bytes(); }
has_system_info()111   bool has_system_info() const { return at<45>().valid(); }
system_info()112   ::protozero::ConstBytes system_info() const { return at<45>().as_bytes(); }
has_trigger()113   bool has_trigger() const { return at<46>().valid(); }
trigger()114   ::protozero::ConstBytes trigger() const { return at<46>().as_bytes(); }
has_packages_list()115   bool has_packages_list() const { return at<47>().valid(); }
packages_list()116   ::protozero::ConstBytes packages_list() const { return at<47>().as_bytes(); }
has_chrome_benchmark_metadata()117   bool has_chrome_benchmark_metadata() const { return at<48>().valid(); }
chrome_benchmark_metadata()118   ::protozero::ConstBytes chrome_benchmark_metadata() const { return at<48>().as_bytes(); }
has_perfetto_metatrace()119   bool has_perfetto_metatrace() const { return at<49>().valid(); }
perfetto_metatrace()120   ::protozero::ConstBytes perfetto_metatrace() const { return at<49>().as_bytes(); }
has_chrome_metadata()121   bool has_chrome_metadata() const { return at<51>().valid(); }
chrome_metadata()122   ::protozero::ConstBytes chrome_metadata() const { return at<51>().as_bytes(); }
has_gpu_counter_event()123   bool has_gpu_counter_event() const { return at<52>().valid(); }
gpu_counter_event()124   ::protozero::ConstBytes gpu_counter_event() const { return at<52>().as_bytes(); }
has_gpu_render_stage_event()125   bool has_gpu_render_stage_event() const { return at<53>().valid(); }
gpu_render_stage_event()126   ::protozero::ConstBytes gpu_render_stage_event() const { return at<53>().as_bytes(); }
has_streaming_profile_packet()127   bool has_streaming_profile_packet() const { return at<54>().valid(); }
streaming_profile_packet()128   ::protozero::ConstBytes streaming_profile_packet() const { return at<54>().as_bytes(); }
has_heap_graph()129   bool has_heap_graph() const { return at<56>().valid(); }
heap_graph()130   ::protozero::ConstBytes heap_graph() const { return at<56>().as_bytes(); }
has_graphics_frame_event()131   bool has_graphics_frame_event() const { return at<57>().valid(); }
graphics_frame_event()132   ::protozero::ConstBytes graphics_frame_event() const { return at<57>().as_bytes(); }
has_vulkan_memory_event()133   bool has_vulkan_memory_event() const { return at<62>().valid(); }
vulkan_memory_event()134   ::protozero::ConstBytes vulkan_memory_event() const { return at<62>().as_bytes(); }
has_gpu_log()135   bool has_gpu_log() const { return at<63>().valid(); }
gpu_log()136   ::protozero::ConstBytes gpu_log() const { return at<63>().as_bytes(); }
has_vulkan_api_event()137   bool has_vulkan_api_event() const { return at<65>().valid(); }
vulkan_api_event()138   ::protozero::ConstBytes vulkan_api_event() const { return at<65>().as_bytes(); }
has_perf_sample()139   bool has_perf_sample() const { return at<66>().valid(); }
perf_sample()140   ::protozero::ConstBytes perf_sample() const { return at<66>().as_bytes(); }
has_cpu_info()141   bool has_cpu_info() const { return at<67>().valid(); }
cpu_info()142   ::protozero::ConstBytes cpu_info() const { return at<67>().as_bytes(); }
has_smaps_packet()143   bool has_smaps_packet() const { return at<68>().valid(); }
smaps_packet()144   ::protozero::ConstBytes smaps_packet() const { return at<68>().as_bytes(); }
has_service_event()145   bool has_service_event() const { return at<69>().valid(); }
service_event()146   ::protozero::ConstBytes service_event() const { return at<69>().as_bytes(); }
has_initial_display_state()147   bool has_initial_display_state() const { return at<70>().valid(); }
initial_display_state()148   ::protozero::ConstBytes initial_display_state() const { return at<70>().as_bytes(); }
has_gpu_mem_total_event()149   bool has_gpu_mem_total_event() const { return at<71>().valid(); }
gpu_mem_total_event()150   ::protozero::ConstBytes gpu_mem_total_event() const { return at<71>().as_bytes(); }
has_memory_tracker_snapshot()151   bool has_memory_tracker_snapshot() const { return at<73>().valid(); }
memory_tracker_snapshot()152   ::protozero::ConstBytes memory_tracker_snapshot() const { return at<73>().as_bytes(); }
has_profiled_frame_symbols()153   bool has_profiled_frame_symbols() const { return at<55>().valid(); }
profiled_frame_symbols()154   ::protozero::ConstBytes profiled_frame_symbols() const { return at<55>().as_bytes(); }
has_module_symbols()155   bool has_module_symbols() const { return at<61>().valid(); }
module_symbols()156   ::protozero::ConstBytes module_symbols() const { return at<61>().as_bytes(); }
has_deobfuscation_mapping()157   bool has_deobfuscation_mapping() const { return at<64>().valid(); }
deobfuscation_mapping()158   ::protozero::ConstBytes deobfuscation_mapping() const { return at<64>().as_bytes(); }
has_track_descriptor()159   bool has_track_descriptor() const { return at<60>().valid(); }
track_descriptor()160   ::protozero::ConstBytes track_descriptor() const { return at<60>().as_bytes(); }
has_process_descriptor()161   bool has_process_descriptor() const { return at<43>().valid(); }
process_descriptor()162   ::protozero::ConstBytes process_descriptor() const { return at<43>().as_bytes(); }
has_thread_descriptor()163   bool has_thread_descriptor() const { return at<44>().valid(); }
thread_descriptor()164   ::protozero::ConstBytes thread_descriptor() const { return at<44>().as_bytes(); }
has_ftrace_events()165   bool has_ftrace_events() const { return at<1>().valid(); }
ftrace_events()166   ::protozero::ConstBytes ftrace_events() const { return at<1>().as_bytes(); }
has_synchronization_marker()167   bool has_synchronization_marker() const { return at<36>().valid(); }
synchronization_marker()168   ::protozero::ConstBytes synchronization_marker() const { return at<36>().as_bytes(); }
has_compressed_packets()169   bool has_compressed_packets() const { return at<50>().valid(); }
compressed_packets()170   ::protozero::ConstBytes compressed_packets() const { return at<50>().as_bytes(); }
has_extension_descriptor()171   bool has_extension_descriptor() const { return at<72>().valid(); }
extension_descriptor()172   ::protozero::ConstBytes extension_descriptor() const { return at<72>().as_bytes(); }
has_for_testing()173   bool has_for_testing() const { return at<900>().valid(); }
for_testing()174   ::protozero::ConstBytes for_testing() const { return at<900>().as_bytes(); }
has_trusted_uid()175   bool has_trusted_uid() const { return at<3>().valid(); }
trusted_uid()176   int32_t trusted_uid() const { return at<3>().as_int32(); }
has_trusted_packet_sequence_id()177   bool has_trusted_packet_sequence_id() const { return at<10>().valid(); }
trusted_packet_sequence_id()178   uint32_t trusted_packet_sequence_id() const { return at<10>().as_uint32(); }
has_interned_data()179   bool has_interned_data() const { return at<12>().valid(); }
interned_data()180   ::protozero::ConstBytes interned_data() const { return at<12>().as_bytes(); }
has_sequence_flags()181   bool has_sequence_flags() const { return at<13>().valid(); }
sequence_flags()182   uint32_t sequence_flags() const { return at<13>().as_uint32(); }
has_incremental_state_cleared()183   bool has_incremental_state_cleared() const { return at<41>().valid(); }
incremental_state_cleared()184   bool incremental_state_cleared() const { return at<41>().as_bool(); }
has_trace_packet_defaults()185   bool has_trace_packet_defaults() const { return at<59>().valid(); }
trace_packet_defaults()186   ::protozero::ConstBytes trace_packet_defaults() const { return at<59>().as_bytes(); }
has_previous_packet_dropped()187   bool has_previous_packet_dropped() const { return at<42>().valid(); }
previous_packet_dropped()188   bool previous_packet_dropped() const { return at<42>().as_bool(); }
189 };
190 
191 class TracePacket : public ::protozero::Message {
192  public:
193   using Decoder = TracePacket_Decoder;
194   enum : int32_t {
195     kTimestampFieldNumber = 8,
196     kTimestampClockIdFieldNumber = 58,
197     kProcessTreeFieldNumber = 2,
198     kProcessStatsFieldNumber = 9,
199     kInodeFileMapFieldNumber = 4,
200     kChromeEventsFieldNumber = 5,
201     kClockSnapshotFieldNumber = 6,
202     kSysStatsFieldNumber = 7,
203     kTrackEventFieldNumber = 11,
204     kTraceConfigFieldNumber = 33,
205     kFtraceStatsFieldNumber = 34,
206     kTraceStatsFieldNumber = 35,
207     kProfilePacketFieldNumber = 37,
208     kBatteryFieldNumber = 38,
209     kPowerRailsFieldNumber = 40,
210     kAndroidLogFieldNumber = 39,
211     kSystemInfoFieldNumber = 45,
212     kTriggerFieldNumber = 46,
213     kPackagesListFieldNumber = 47,
214     kChromeBenchmarkMetadataFieldNumber = 48,
215     kPerfettoMetatraceFieldNumber = 49,
216     kChromeMetadataFieldNumber = 51,
217     kGpuCounterEventFieldNumber = 52,
218     kGpuRenderStageEventFieldNumber = 53,
219     kStreamingProfilePacketFieldNumber = 54,
220     kHeapGraphFieldNumber = 56,
221     kGraphicsFrameEventFieldNumber = 57,
222     kVulkanMemoryEventFieldNumber = 62,
223     kGpuLogFieldNumber = 63,
224     kVulkanApiEventFieldNumber = 65,
225     kPerfSampleFieldNumber = 66,
226     kCpuInfoFieldNumber = 67,
227     kSmapsPacketFieldNumber = 68,
228     kServiceEventFieldNumber = 69,
229     kInitialDisplayStateFieldNumber = 70,
230     kGpuMemTotalEventFieldNumber = 71,
231     kMemoryTrackerSnapshotFieldNumber = 73,
232     kProfiledFrameSymbolsFieldNumber = 55,
233     kModuleSymbolsFieldNumber = 61,
234     kDeobfuscationMappingFieldNumber = 64,
235     kTrackDescriptorFieldNumber = 60,
236     kProcessDescriptorFieldNumber = 43,
237     kThreadDescriptorFieldNumber = 44,
238     kFtraceEventsFieldNumber = 1,
239     kSynchronizationMarkerFieldNumber = 36,
240     kCompressedPacketsFieldNumber = 50,
241     kExtensionDescriptorFieldNumber = 72,
242     kForTestingFieldNumber = 900,
243     kTrustedUidFieldNumber = 3,
244     kTrustedPacketSequenceIdFieldNumber = 10,
245     kInternedDataFieldNumber = 12,
246     kSequenceFlagsFieldNumber = 13,
247     kIncrementalStateClearedFieldNumber = 41,
248     kTracePacketDefaultsFieldNumber = 59,
249     kPreviousPacketDroppedFieldNumber = 42,
250   };
251   using SequenceFlags = ::perfetto::protos::pbzero::TracePacket_SequenceFlags;
252   static const SequenceFlags SEQ_UNSPECIFIED = TracePacket_SequenceFlags_SEQ_UNSPECIFIED;
253   static const SequenceFlags SEQ_INCREMENTAL_STATE_CLEARED = TracePacket_SequenceFlags_SEQ_INCREMENTAL_STATE_CLEARED;
254   static const SequenceFlags SEQ_NEEDS_INCREMENTAL_STATE = TracePacket_SequenceFlags_SEQ_NEEDS_INCREMENTAL_STATE;
set_timestamp(uint64_t value)255   void set_timestamp(uint64_t value) {
256     AppendVarInt(8, value);
257   }
set_timestamp_clock_id(uint32_t value)258   void set_timestamp_clock_id(uint32_t value) {
259     AppendVarInt(58, value);
260   }
set_process_tree()261   template <typename T = ProcessTree> T* set_process_tree() {
262     return BeginNestedMessage<T>(2);
263   }
264 
set_process_stats()265   template <typename T = ProcessStats> T* set_process_stats() {
266     return BeginNestedMessage<T>(9);
267   }
268 
set_inode_file_map()269   template <typename T = InodeFileMap> T* set_inode_file_map() {
270     return BeginNestedMessage<T>(4);
271   }
272 
set_chrome_events()273   template <typename T = ChromeEventBundle> T* set_chrome_events() {
274     return BeginNestedMessage<T>(5);
275   }
276 
set_clock_snapshot()277   template <typename T = ClockSnapshot> T* set_clock_snapshot() {
278     return BeginNestedMessage<T>(6);
279   }
280 
set_sys_stats()281   template <typename T = SysStats> T* set_sys_stats() {
282     return BeginNestedMessage<T>(7);
283   }
284 
set_track_event()285   template <typename T = TrackEvent> T* set_track_event() {
286     return BeginNestedMessage<T>(11);
287   }
288 
set_trace_config()289   template <typename T = TraceConfig> T* set_trace_config() {
290     return BeginNestedMessage<T>(33);
291   }
292 
set_ftrace_stats()293   template <typename T = FtraceStats> T* set_ftrace_stats() {
294     return BeginNestedMessage<T>(34);
295   }
296 
set_trace_stats()297   template <typename T = TraceStats> T* set_trace_stats() {
298     return BeginNestedMessage<T>(35);
299   }
300 
set_profile_packet()301   template <typename T = ProfilePacket> T* set_profile_packet() {
302     return BeginNestedMessage<T>(37);
303   }
304 
set_battery()305   template <typename T = BatteryCounters> T* set_battery() {
306     return BeginNestedMessage<T>(38);
307   }
308 
set_power_rails()309   template <typename T = PowerRails> T* set_power_rails() {
310     return BeginNestedMessage<T>(40);
311   }
312 
set_android_log()313   template <typename T = AndroidLogPacket> T* set_android_log() {
314     return BeginNestedMessage<T>(39);
315   }
316 
set_system_info()317   template <typename T = SystemInfo> T* set_system_info() {
318     return BeginNestedMessage<T>(45);
319   }
320 
set_trigger()321   template <typename T = Trigger> T* set_trigger() {
322     return BeginNestedMessage<T>(46);
323   }
324 
set_packages_list()325   template <typename T = PackagesList> T* set_packages_list() {
326     return BeginNestedMessage<T>(47);
327   }
328 
set_chrome_benchmark_metadata()329   template <typename T = ChromeBenchmarkMetadata> T* set_chrome_benchmark_metadata() {
330     return BeginNestedMessage<T>(48);
331   }
332 
set_perfetto_metatrace()333   template <typename T = PerfettoMetatrace> T* set_perfetto_metatrace() {
334     return BeginNestedMessage<T>(49);
335   }
336 
set_chrome_metadata()337   template <typename T = ChromeMetadataPacket> T* set_chrome_metadata() {
338     return BeginNestedMessage<T>(51);
339   }
340 
set_gpu_counter_event()341   template <typename T = GpuCounterEvent> T* set_gpu_counter_event() {
342     return BeginNestedMessage<T>(52);
343   }
344 
set_gpu_render_stage_event()345   template <typename T = GpuRenderStageEvent> T* set_gpu_render_stage_event() {
346     return BeginNestedMessage<T>(53);
347   }
348 
set_streaming_profile_packet()349   template <typename T = StreamingProfilePacket> T* set_streaming_profile_packet() {
350     return BeginNestedMessage<T>(54);
351   }
352 
set_heap_graph()353   template <typename T = HeapGraph> T* set_heap_graph() {
354     return BeginNestedMessage<T>(56);
355   }
356 
set_graphics_frame_event()357   template <typename T = GraphicsFrameEvent> T* set_graphics_frame_event() {
358     return BeginNestedMessage<T>(57);
359   }
360 
set_vulkan_memory_event()361   template <typename T = VulkanMemoryEvent> T* set_vulkan_memory_event() {
362     return BeginNestedMessage<T>(62);
363   }
364 
set_gpu_log()365   template <typename T = GpuLog> T* set_gpu_log() {
366     return BeginNestedMessage<T>(63);
367   }
368 
set_vulkan_api_event()369   template <typename T = VulkanApiEvent> T* set_vulkan_api_event() {
370     return BeginNestedMessage<T>(65);
371   }
372 
set_perf_sample()373   template <typename T = PerfSample> T* set_perf_sample() {
374     return BeginNestedMessage<T>(66);
375   }
376 
set_cpu_info()377   template <typename T = CpuInfo> T* set_cpu_info() {
378     return BeginNestedMessage<T>(67);
379   }
380 
set_smaps_packet()381   template <typename T = SmapsPacket> T* set_smaps_packet() {
382     return BeginNestedMessage<T>(68);
383   }
384 
set_service_event()385   template <typename T = TracingServiceEvent> T* set_service_event() {
386     return BeginNestedMessage<T>(69);
387   }
388 
set_initial_display_state()389   template <typename T = InitialDisplayState> T* set_initial_display_state() {
390     return BeginNestedMessage<T>(70);
391   }
392 
set_gpu_mem_total_event()393   template <typename T = GpuMemTotalEvent> T* set_gpu_mem_total_event() {
394     return BeginNestedMessage<T>(71);
395   }
396 
set_memory_tracker_snapshot()397   template <typename T = MemoryTrackerSnapshot> T* set_memory_tracker_snapshot() {
398     return BeginNestedMessage<T>(73);
399   }
400 
set_profiled_frame_symbols()401   template <typename T = ProfiledFrameSymbols> T* set_profiled_frame_symbols() {
402     return BeginNestedMessage<T>(55);
403   }
404 
set_module_symbols()405   template <typename T = ModuleSymbols> T* set_module_symbols() {
406     return BeginNestedMessage<T>(61);
407   }
408 
set_deobfuscation_mapping()409   template <typename T = DeobfuscationMapping> T* set_deobfuscation_mapping() {
410     return BeginNestedMessage<T>(64);
411   }
412 
set_track_descriptor()413   template <typename T = TrackDescriptor> T* set_track_descriptor() {
414     return BeginNestedMessage<T>(60);
415   }
416 
set_process_descriptor()417   template <typename T = ProcessDescriptor> T* set_process_descriptor() {
418     return BeginNestedMessage<T>(43);
419   }
420 
set_thread_descriptor()421   template <typename T = ThreadDescriptor> T* set_thread_descriptor() {
422     return BeginNestedMessage<T>(44);
423   }
424 
set_ftrace_events()425   template <typename T = FtraceEventBundle> T* set_ftrace_events() {
426     return BeginNestedMessage<T>(1);
427   }
428 
set_synchronization_marker(const std::string & value)429   void set_synchronization_marker(const std::string& value) {
430     AppendBytes(36, value.data(), value.size());
431   }
set_synchronization_marker(const uint8_t * data,size_t size)432   void set_synchronization_marker(const uint8_t* data, size_t size) {
433     AppendBytes(36, data, size);
434   }
set_compressed_packets(const std::string & value)435   void set_compressed_packets(const std::string& value) {
436     AppendBytes(50, value.data(), value.size());
437   }
set_compressed_packets(const uint8_t * data,size_t size)438   void set_compressed_packets(const uint8_t* data, size_t size) {
439     AppendBytes(50, data, size);
440   }
set_extension_descriptor()441   template <typename T = ExtensionDescriptor> T* set_extension_descriptor() {
442     return BeginNestedMessage<T>(72);
443   }
444 
set_for_testing()445   template <typename T = TestEvent> T* set_for_testing() {
446     return BeginNestedMessage<T>(900);
447   }
448 
set_trusted_uid(int32_t value)449   void set_trusted_uid(int32_t value) {
450     AppendVarInt(3, value);
451   }
set_trusted_packet_sequence_id(uint32_t value)452   void set_trusted_packet_sequence_id(uint32_t value) {
453     AppendVarInt(10, value);
454   }
set_interned_data()455   template <typename T = InternedData> T* set_interned_data() {
456     return BeginNestedMessage<T>(12);
457   }
458 
set_sequence_flags(uint32_t value)459   void set_sequence_flags(uint32_t value) {
460     AppendVarInt(13, value);
461   }
set_incremental_state_cleared(bool value)462   void set_incremental_state_cleared(bool value) {
463     AppendTinyVarInt(41, value);
464   }
set_trace_packet_defaults()465   template <typename T = TracePacketDefaults> T* set_trace_packet_defaults() {
466     return BeginNestedMessage<T>(59);
467   }
468 
set_previous_packet_dropped(bool value)469   void set_previous_packet_dropped(bool value) {
470     AppendTinyVarInt(42, value);
471   }
472 };
473 
474 } // Namespace.
475 } // Namespace.
476 } // Namespace.
477 #endif  // Include guard.
478