// Autogenerated by the ProtoZero compiler plugin. DO NOT EDIT. #ifndef PERFETTO_PROTOS_TRACE_PACKET_PROTO_H_ #define PERFETTO_PROTOS_TRACE_PACKET_PROTO_H_ #include #include #include "perfetto/protozero/message.h" #include "perfetto/protozero/packed_repeated_fields.h" #include "perfetto/protozero/proto_decoder.h" #include "perfetto/protozero/proto_utils.h" namespace perfetto { namespace protos { namespace pbzero { class AndroidLogPacket; class BatteryCounters; class ChromeBenchmarkMetadata; class ChromeEventBundle; class ChromeMetadataPacket; class ClockSnapshot; class CpuInfo; class DeobfuscationMapping; class ExtensionDescriptor; class FtraceEventBundle; class FtraceStats; class GpuCounterEvent; class GpuLog; class GpuMemTotalEvent; class GpuRenderStageEvent; class GraphicsFrameEvent; class HeapGraph; class InitialDisplayState; class InodeFileMap; class InternedData; class MemoryTrackerSnapshot; class ModuleSymbols; class PackagesList; class PerfSample; class PerfettoMetatrace; class PowerRails; class ProcessDescriptor; class ProcessStats; class ProcessTree; class ProfilePacket; class ProfiledFrameSymbols; class SmapsPacket; class StreamingProfilePacket; class SysStats; class SystemInfo; class TestEvent; class ThreadDescriptor; class TraceConfig; class TracePacketDefaults; class TraceStats; class TracingServiceEvent; class TrackDescriptor; class TrackEvent; class Trigger; class VulkanApiEvent; class VulkanMemoryEvent; enum TracePacket_SequenceFlags : int32_t { TracePacket_SequenceFlags_SEQ_UNSPECIFIED = 0, TracePacket_SequenceFlags_SEQ_INCREMENTAL_STATE_CLEARED = 1, TracePacket_SequenceFlags_SEQ_NEEDS_INCREMENTAL_STATE = 2, }; const TracePacket_SequenceFlags TracePacket_SequenceFlags_MIN = TracePacket_SequenceFlags_SEQ_UNSPECIFIED; const TracePacket_SequenceFlags TracePacket_SequenceFlags_MAX = TracePacket_SequenceFlags_SEQ_NEEDS_INCREMENTAL_STATE; class TracePacket_Decoder : public ::protozero::TypedProtoDecoder { public: TracePacket_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} explicit TracePacket_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast(raw.data()), raw.size()) {} explicit TracePacket_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} bool has_timestamp() const { return at<8>().valid(); } uint64_t timestamp() const { return at<8>().as_uint64(); } bool has_timestamp_clock_id() const { return at<58>().valid(); } uint32_t timestamp_clock_id() const { return at<58>().as_uint32(); } bool has_process_tree() const { return at<2>().valid(); } ::protozero::ConstBytes process_tree() const { return at<2>().as_bytes(); } bool has_process_stats() const { return at<9>().valid(); } ::protozero::ConstBytes process_stats() const { return at<9>().as_bytes(); } bool has_inode_file_map() const { return at<4>().valid(); } ::protozero::ConstBytes inode_file_map() const { return at<4>().as_bytes(); } bool has_chrome_events() const { return at<5>().valid(); } ::protozero::ConstBytes chrome_events() const { return at<5>().as_bytes(); } bool has_clock_snapshot() const { return at<6>().valid(); } ::protozero::ConstBytes clock_snapshot() const { return at<6>().as_bytes(); } bool has_sys_stats() const { return at<7>().valid(); } ::protozero::ConstBytes sys_stats() const { return at<7>().as_bytes(); } bool has_track_event() const { return at<11>().valid(); } ::protozero::ConstBytes track_event() const { return at<11>().as_bytes(); } bool has_trace_config() const { return at<33>().valid(); } ::protozero::ConstBytes trace_config() const { return at<33>().as_bytes(); } bool has_ftrace_stats() const { return at<34>().valid(); } ::protozero::ConstBytes ftrace_stats() const { return at<34>().as_bytes(); } bool has_trace_stats() const { return at<35>().valid(); } ::protozero::ConstBytes trace_stats() const { return at<35>().as_bytes(); } bool has_profile_packet() const { return at<37>().valid(); } ::protozero::ConstBytes profile_packet() const { return at<37>().as_bytes(); } bool has_battery() const { return at<38>().valid(); } ::protozero::ConstBytes battery() const { return at<38>().as_bytes(); } bool has_power_rails() const { return at<40>().valid(); } ::protozero::ConstBytes power_rails() const { return at<40>().as_bytes(); } bool has_android_log() const { return at<39>().valid(); } ::protozero::ConstBytes android_log() const { return at<39>().as_bytes(); } bool has_system_info() const { return at<45>().valid(); } ::protozero::ConstBytes system_info() const { return at<45>().as_bytes(); } bool has_trigger() const { return at<46>().valid(); } ::protozero::ConstBytes trigger() const { return at<46>().as_bytes(); } bool has_packages_list() const { return at<47>().valid(); } ::protozero::ConstBytes packages_list() const { return at<47>().as_bytes(); } bool has_chrome_benchmark_metadata() const { return at<48>().valid(); } ::protozero::ConstBytes chrome_benchmark_metadata() const { return at<48>().as_bytes(); } bool has_perfetto_metatrace() const { return at<49>().valid(); } ::protozero::ConstBytes perfetto_metatrace() const { return at<49>().as_bytes(); } bool has_chrome_metadata() const { return at<51>().valid(); } ::protozero::ConstBytes chrome_metadata() const { return at<51>().as_bytes(); } bool has_gpu_counter_event() const { return at<52>().valid(); } ::protozero::ConstBytes gpu_counter_event() const { return at<52>().as_bytes(); } bool has_gpu_render_stage_event() const { return at<53>().valid(); } ::protozero::ConstBytes gpu_render_stage_event() const { return at<53>().as_bytes(); } bool has_streaming_profile_packet() const { return at<54>().valid(); } ::protozero::ConstBytes streaming_profile_packet() const { return at<54>().as_bytes(); } bool has_heap_graph() const { return at<56>().valid(); } ::protozero::ConstBytes heap_graph() const { return at<56>().as_bytes(); } bool has_graphics_frame_event() const { return at<57>().valid(); } ::protozero::ConstBytes graphics_frame_event() const { return at<57>().as_bytes(); } bool has_vulkan_memory_event() const { return at<62>().valid(); } ::protozero::ConstBytes vulkan_memory_event() const { return at<62>().as_bytes(); } bool has_gpu_log() const { return at<63>().valid(); } ::protozero::ConstBytes gpu_log() const { return at<63>().as_bytes(); } bool has_vulkan_api_event() const { return at<65>().valid(); } ::protozero::ConstBytes vulkan_api_event() const { return at<65>().as_bytes(); } bool has_perf_sample() const { return at<66>().valid(); } ::protozero::ConstBytes perf_sample() const { return at<66>().as_bytes(); } bool has_cpu_info() const { return at<67>().valid(); } ::protozero::ConstBytes cpu_info() const { return at<67>().as_bytes(); } bool has_smaps_packet() const { return at<68>().valid(); } ::protozero::ConstBytes smaps_packet() const { return at<68>().as_bytes(); } bool has_service_event() const { return at<69>().valid(); } ::protozero::ConstBytes service_event() const { return at<69>().as_bytes(); } bool has_initial_display_state() const { return at<70>().valid(); } ::protozero::ConstBytes initial_display_state() const { return at<70>().as_bytes(); } bool has_gpu_mem_total_event() const { return at<71>().valid(); } ::protozero::ConstBytes gpu_mem_total_event() const { return at<71>().as_bytes(); } bool has_memory_tracker_snapshot() const { return at<73>().valid(); } ::protozero::ConstBytes memory_tracker_snapshot() const { return at<73>().as_bytes(); } bool has_profiled_frame_symbols() const { return at<55>().valid(); } ::protozero::ConstBytes profiled_frame_symbols() const { return at<55>().as_bytes(); } bool has_module_symbols() const { return at<61>().valid(); } ::protozero::ConstBytes module_symbols() const { return at<61>().as_bytes(); } bool has_deobfuscation_mapping() const { return at<64>().valid(); } ::protozero::ConstBytes deobfuscation_mapping() const { return at<64>().as_bytes(); } bool has_track_descriptor() const { return at<60>().valid(); } ::protozero::ConstBytes track_descriptor() const { return at<60>().as_bytes(); } bool has_process_descriptor() const { return at<43>().valid(); } ::protozero::ConstBytes process_descriptor() const { return at<43>().as_bytes(); } bool has_thread_descriptor() const { return at<44>().valid(); } ::protozero::ConstBytes thread_descriptor() const { return at<44>().as_bytes(); } bool has_ftrace_events() const { return at<1>().valid(); } ::protozero::ConstBytes ftrace_events() const { return at<1>().as_bytes(); } bool has_synchronization_marker() const { return at<36>().valid(); } ::protozero::ConstBytes synchronization_marker() const { return at<36>().as_bytes(); } bool has_compressed_packets() const { return at<50>().valid(); } ::protozero::ConstBytes compressed_packets() const { return at<50>().as_bytes(); } bool has_extension_descriptor() const { return at<72>().valid(); } ::protozero::ConstBytes extension_descriptor() const { return at<72>().as_bytes(); } bool has_for_testing() const { return at<900>().valid(); } ::protozero::ConstBytes for_testing() const { return at<900>().as_bytes(); } bool has_trusted_uid() const { return at<3>().valid(); } int32_t trusted_uid() const { return at<3>().as_int32(); } bool has_trusted_packet_sequence_id() const { return at<10>().valid(); } uint32_t trusted_packet_sequence_id() const { return at<10>().as_uint32(); } bool has_interned_data() const { return at<12>().valid(); } ::protozero::ConstBytes interned_data() const { return at<12>().as_bytes(); } bool has_sequence_flags() const { return at<13>().valid(); } uint32_t sequence_flags() const { return at<13>().as_uint32(); } bool has_incremental_state_cleared() const { return at<41>().valid(); } bool incremental_state_cleared() const { return at<41>().as_bool(); } bool has_trace_packet_defaults() const { return at<59>().valid(); } ::protozero::ConstBytes trace_packet_defaults() const { return at<59>().as_bytes(); } bool has_previous_packet_dropped() const { return at<42>().valid(); } bool previous_packet_dropped() const { return at<42>().as_bool(); } }; class TracePacket : public ::protozero::Message { public: using Decoder = TracePacket_Decoder; enum : int32_t { kTimestampFieldNumber = 8, kTimestampClockIdFieldNumber = 58, kProcessTreeFieldNumber = 2, kProcessStatsFieldNumber = 9, kInodeFileMapFieldNumber = 4, kChromeEventsFieldNumber = 5, kClockSnapshotFieldNumber = 6, kSysStatsFieldNumber = 7, kTrackEventFieldNumber = 11, kTraceConfigFieldNumber = 33, kFtraceStatsFieldNumber = 34, kTraceStatsFieldNumber = 35, kProfilePacketFieldNumber = 37, kBatteryFieldNumber = 38, kPowerRailsFieldNumber = 40, kAndroidLogFieldNumber = 39, kSystemInfoFieldNumber = 45, kTriggerFieldNumber = 46, kPackagesListFieldNumber = 47, kChromeBenchmarkMetadataFieldNumber = 48, kPerfettoMetatraceFieldNumber = 49, kChromeMetadataFieldNumber = 51, kGpuCounterEventFieldNumber = 52, kGpuRenderStageEventFieldNumber = 53, kStreamingProfilePacketFieldNumber = 54, kHeapGraphFieldNumber = 56, kGraphicsFrameEventFieldNumber = 57, kVulkanMemoryEventFieldNumber = 62, kGpuLogFieldNumber = 63, kVulkanApiEventFieldNumber = 65, kPerfSampleFieldNumber = 66, kCpuInfoFieldNumber = 67, kSmapsPacketFieldNumber = 68, kServiceEventFieldNumber = 69, kInitialDisplayStateFieldNumber = 70, kGpuMemTotalEventFieldNumber = 71, kMemoryTrackerSnapshotFieldNumber = 73, kProfiledFrameSymbolsFieldNumber = 55, kModuleSymbolsFieldNumber = 61, kDeobfuscationMappingFieldNumber = 64, kTrackDescriptorFieldNumber = 60, kProcessDescriptorFieldNumber = 43, kThreadDescriptorFieldNumber = 44, kFtraceEventsFieldNumber = 1, kSynchronizationMarkerFieldNumber = 36, kCompressedPacketsFieldNumber = 50, kExtensionDescriptorFieldNumber = 72, kForTestingFieldNumber = 900, kTrustedUidFieldNumber = 3, kTrustedPacketSequenceIdFieldNumber = 10, kInternedDataFieldNumber = 12, kSequenceFlagsFieldNumber = 13, kIncrementalStateClearedFieldNumber = 41, kTracePacketDefaultsFieldNumber = 59, kPreviousPacketDroppedFieldNumber = 42, }; using SequenceFlags = ::perfetto::protos::pbzero::TracePacket_SequenceFlags; static const SequenceFlags SEQ_UNSPECIFIED = TracePacket_SequenceFlags_SEQ_UNSPECIFIED; static const SequenceFlags SEQ_INCREMENTAL_STATE_CLEARED = TracePacket_SequenceFlags_SEQ_INCREMENTAL_STATE_CLEARED; static const SequenceFlags SEQ_NEEDS_INCREMENTAL_STATE = TracePacket_SequenceFlags_SEQ_NEEDS_INCREMENTAL_STATE; void set_timestamp(uint64_t value) { AppendVarInt(8, value); } void set_timestamp_clock_id(uint32_t value) { AppendVarInt(58, value); } template T* set_process_tree() { return BeginNestedMessage(2); } template T* set_process_stats() { return BeginNestedMessage(9); } template T* set_inode_file_map() { return BeginNestedMessage(4); } template T* set_chrome_events() { return BeginNestedMessage(5); } template T* set_clock_snapshot() { return BeginNestedMessage(6); } template T* set_sys_stats() { return BeginNestedMessage(7); } template T* set_track_event() { return BeginNestedMessage(11); } template T* set_trace_config() { return BeginNestedMessage(33); } template T* set_ftrace_stats() { return BeginNestedMessage(34); } template T* set_trace_stats() { return BeginNestedMessage(35); } template T* set_profile_packet() { return BeginNestedMessage(37); } template T* set_battery() { return BeginNestedMessage(38); } template T* set_power_rails() { return BeginNestedMessage(40); } template T* set_android_log() { return BeginNestedMessage(39); } template T* set_system_info() { return BeginNestedMessage(45); } template T* set_trigger() { return BeginNestedMessage(46); } template T* set_packages_list() { return BeginNestedMessage(47); } template T* set_chrome_benchmark_metadata() { return BeginNestedMessage(48); } template T* set_perfetto_metatrace() { return BeginNestedMessage(49); } template T* set_chrome_metadata() { return BeginNestedMessage(51); } template T* set_gpu_counter_event() { return BeginNestedMessage(52); } template T* set_gpu_render_stage_event() { return BeginNestedMessage(53); } template T* set_streaming_profile_packet() { return BeginNestedMessage(54); } template T* set_heap_graph() { return BeginNestedMessage(56); } template T* set_graphics_frame_event() { return BeginNestedMessage(57); } template T* set_vulkan_memory_event() { return BeginNestedMessage(62); } template T* set_gpu_log() { return BeginNestedMessage(63); } template T* set_vulkan_api_event() { return BeginNestedMessage(65); } template T* set_perf_sample() { return BeginNestedMessage(66); } template T* set_cpu_info() { return BeginNestedMessage(67); } template T* set_smaps_packet() { return BeginNestedMessage(68); } template T* set_service_event() { return BeginNestedMessage(69); } template T* set_initial_display_state() { return BeginNestedMessage(70); } template T* set_gpu_mem_total_event() { return BeginNestedMessage(71); } template T* set_memory_tracker_snapshot() { return BeginNestedMessage(73); } template T* set_profiled_frame_symbols() { return BeginNestedMessage(55); } template T* set_module_symbols() { return BeginNestedMessage(61); } template T* set_deobfuscation_mapping() { return BeginNestedMessage(64); } template T* set_track_descriptor() { return BeginNestedMessage(60); } template T* set_process_descriptor() { return BeginNestedMessage(43); } template T* set_thread_descriptor() { return BeginNestedMessage(44); } template T* set_ftrace_events() { return BeginNestedMessage(1); } void set_synchronization_marker(const std::string& value) { AppendBytes(36, value.data(), value.size()); } void set_synchronization_marker(const uint8_t* data, size_t size) { AppendBytes(36, data, size); } void set_compressed_packets(const std::string& value) { AppendBytes(50, value.data(), value.size()); } void set_compressed_packets(const uint8_t* data, size_t size) { AppendBytes(50, data, size); } template T* set_extension_descriptor() { return BeginNestedMessage(72); } template T* set_for_testing() { return BeginNestedMessage(900); } void set_trusted_uid(int32_t value) { AppendVarInt(3, value); } void set_trusted_packet_sequence_id(uint32_t value) { AppendVarInt(10, value); } template T* set_interned_data() { return BeginNestedMessage(12); } void set_sequence_flags(uint32_t value) { AppendVarInt(13, value); } void set_incremental_state_cleared(bool value) { AppendTinyVarInt(41, value); } template T* set_trace_packet_defaults() { return BeginNestedMessage(59); } void set_previous_packet_dropped(bool value) { AppendTinyVarInt(42, value); } }; } // Namespace. } // Namespace. } // Namespace. #endif // Include guard.