1 // Autogenerated by the ProtoZero compiler plugin. DO NOT EDIT. 2 3 #ifndef PERFETTO_PROTOS_THREAD_DESCRIPTOR_PROTO_H_ 4 #define PERFETTO_PROTOS_THREAD_DESCRIPTOR_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 enum ThreadDescriptor_ChromeThreadType : int32_t; 19 20 enum ThreadDescriptor_ChromeThreadType : int32_t { 21 ThreadDescriptor_ChromeThreadType_CHROME_THREAD_UNSPECIFIED = 0, 22 ThreadDescriptor_ChromeThreadType_CHROME_THREAD_MAIN = 1, 23 ThreadDescriptor_ChromeThreadType_CHROME_THREAD_IO = 2, 24 ThreadDescriptor_ChromeThreadType_CHROME_THREAD_POOL_BG_WORKER = 3, 25 ThreadDescriptor_ChromeThreadType_CHROME_THREAD_POOL_FG_WORKER = 4, 26 ThreadDescriptor_ChromeThreadType_CHROME_THREAD_POOL_FB_BLOCKING = 5, 27 ThreadDescriptor_ChromeThreadType_CHROME_THREAD_POOL_BG_BLOCKING = 6, 28 ThreadDescriptor_ChromeThreadType_CHROME_THREAD_POOL_SERVICE = 7, 29 ThreadDescriptor_ChromeThreadType_CHROME_THREAD_COMPOSITOR = 8, 30 ThreadDescriptor_ChromeThreadType_CHROME_THREAD_VIZ_COMPOSITOR = 9, 31 ThreadDescriptor_ChromeThreadType_CHROME_THREAD_COMPOSITOR_WORKER = 10, 32 ThreadDescriptor_ChromeThreadType_CHROME_THREAD_SERVICE_WORKER = 11, 33 ThreadDescriptor_ChromeThreadType_CHROME_THREAD_MEMORY_INFRA = 50, 34 ThreadDescriptor_ChromeThreadType_CHROME_THREAD_SAMPLING_PROFILER = 51, 35 }; 36 37 const ThreadDescriptor_ChromeThreadType ThreadDescriptor_ChromeThreadType_MIN = ThreadDescriptor_ChromeThreadType_CHROME_THREAD_UNSPECIFIED; 38 const ThreadDescriptor_ChromeThreadType ThreadDescriptor_ChromeThreadType_MAX = ThreadDescriptor_ChromeThreadType_CHROME_THREAD_SAMPLING_PROFILER; 39 40 class ThreadDescriptor_Decoder : public ::protozero::TypedProtoDecoder</*MAX_FIELD_ID=*/8, /*HAS_NONPACKED_REPEATED_FIELDS=*/false> { 41 public: ThreadDescriptor_Decoder(const uint8_t * data,size_t len)42 ThreadDescriptor_Decoder(const uint8_t* data, size_t len) : TypedProtoDecoder(data, len) {} ThreadDescriptor_Decoder(const std::string & raw)43 explicit ThreadDescriptor_Decoder(const std::string& raw) : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.data()), raw.size()) {} ThreadDescriptor_Decoder(const::protozero::ConstBytes & raw)44 explicit ThreadDescriptor_Decoder(const ::protozero::ConstBytes& raw) : TypedProtoDecoder(raw.data, raw.size) {} has_pid()45 bool has_pid() const { return at<1>().valid(); } pid()46 int32_t pid() const { return at<1>().as_int32(); } has_tid()47 bool has_tid() const { return at<2>().valid(); } tid()48 int32_t tid() const { return at<2>().as_int32(); } has_thread_name()49 bool has_thread_name() const { return at<5>().valid(); } thread_name()50 ::protozero::ConstChars thread_name() const { return at<5>().as_string(); } has_chrome_thread_type()51 bool has_chrome_thread_type() const { return at<4>().valid(); } chrome_thread_type()52 int32_t chrome_thread_type() const { return at<4>().as_int32(); } has_reference_timestamp_us()53 bool has_reference_timestamp_us() const { return at<6>().valid(); } reference_timestamp_us()54 int64_t reference_timestamp_us() const { return at<6>().as_int64(); } has_reference_thread_time_us()55 bool has_reference_thread_time_us() const { return at<7>().valid(); } reference_thread_time_us()56 int64_t reference_thread_time_us() const { return at<7>().as_int64(); } has_reference_thread_instruction_count()57 bool has_reference_thread_instruction_count() const { return at<8>().valid(); } reference_thread_instruction_count()58 int64_t reference_thread_instruction_count() const { return at<8>().as_int64(); } has_legacy_sort_index()59 bool has_legacy_sort_index() const { return at<3>().valid(); } legacy_sort_index()60 int32_t legacy_sort_index() const { return at<3>().as_int32(); } 61 }; 62 63 class ThreadDescriptor : public ::protozero::Message { 64 public: 65 using Decoder = ThreadDescriptor_Decoder; 66 enum : int32_t { 67 kPidFieldNumber = 1, 68 kTidFieldNumber = 2, 69 kThreadNameFieldNumber = 5, 70 kChromeThreadTypeFieldNumber = 4, 71 kReferenceTimestampUsFieldNumber = 6, 72 kReferenceThreadTimeUsFieldNumber = 7, 73 kReferenceThreadInstructionCountFieldNumber = 8, 74 kLegacySortIndexFieldNumber = 3, 75 }; 76 using ChromeThreadType = ::perfetto::protos::pbzero::ThreadDescriptor_ChromeThreadType; 77 static const ChromeThreadType CHROME_THREAD_UNSPECIFIED = ThreadDescriptor_ChromeThreadType_CHROME_THREAD_UNSPECIFIED; 78 static const ChromeThreadType CHROME_THREAD_MAIN = ThreadDescriptor_ChromeThreadType_CHROME_THREAD_MAIN; 79 static const ChromeThreadType CHROME_THREAD_IO = ThreadDescriptor_ChromeThreadType_CHROME_THREAD_IO; 80 static const ChromeThreadType CHROME_THREAD_POOL_BG_WORKER = ThreadDescriptor_ChromeThreadType_CHROME_THREAD_POOL_BG_WORKER; 81 static const ChromeThreadType CHROME_THREAD_POOL_FG_WORKER = ThreadDescriptor_ChromeThreadType_CHROME_THREAD_POOL_FG_WORKER; 82 static const ChromeThreadType CHROME_THREAD_POOL_FB_BLOCKING = ThreadDescriptor_ChromeThreadType_CHROME_THREAD_POOL_FB_BLOCKING; 83 static const ChromeThreadType CHROME_THREAD_POOL_BG_BLOCKING = ThreadDescriptor_ChromeThreadType_CHROME_THREAD_POOL_BG_BLOCKING; 84 static const ChromeThreadType CHROME_THREAD_POOL_SERVICE = ThreadDescriptor_ChromeThreadType_CHROME_THREAD_POOL_SERVICE; 85 static const ChromeThreadType CHROME_THREAD_COMPOSITOR = ThreadDescriptor_ChromeThreadType_CHROME_THREAD_COMPOSITOR; 86 static const ChromeThreadType CHROME_THREAD_VIZ_COMPOSITOR = ThreadDescriptor_ChromeThreadType_CHROME_THREAD_VIZ_COMPOSITOR; 87 static const ChromeThreadType CHROME_THREAD_COMPOSITOR_WORKER = ThreadDescriptor_ChromeThreadType_CHROME_THREAD_COMPOSITOR_WORKER; 88 static const ChromeThreadType CHROME_THREAD_SERVICE_WORKER = ThreadDescriptor_ChromeThreadType_CHROME_THREAD_SERVICE_WORKER; 89 static const ChromeThreadType CHROME_THREAD_MEMORY_INFRA = ThreadDescriptor_ChromeThreadType_CHROME_THREAD_MEMORY_INFRA; 90 static const ChromeThreadType CHROME_THREAD_SAMPLING_PROFILER = ThreadDescriptor_ChromeThreadType_CHROME_THREAD_SAMPLING_PROFILER; set_pid(int32_t value)91 void set_pid(int32_t value) { 92 AppendVarInt(1, value); 93 } set_tid(int32_t value)94 void set_tid(int32_t value) { 95 AppendVarInt(2, value); 96 } set_thread_name(const std::string & value)97 void set_thread_name(const std::string& value) { 98 AppendBytes(5, value.data(), value.size()); 99 } set_thread_name(const char * data,size_t size)100 void set_thread_name(const char* data, size_t size) { 101 AppendBytes(5, data, size); 102 } set_chrome_thread_type(::perfetto::protos::pbzero::ThreadDescriptor_ChromeThreadType value)103 void set_chrome_thread_type(::perfetto::protos::pbzero::ThreadDescriptor_ChromeThreadType value) { 104 AppendTinyVarInt(4, value); 105 } set_reference_timestamp_us(int64_t value)106 void set_reference_timestamp_us(int64_t value) { 107 AppendVarInt(6, value); 108 } set_reference_thread_time_us(int64_t value)109 void set_reference_thread_time_us(int64_t value) { 110 AppendVarInt(7, value); 111 } set_reference_thread_instruction_count(int64_t value)112 void set_reference_thread_instruction_count(int64_t value) { 113 AppendVarInt(8, value); 114 } set_legacy_sort_index(int32_t value)115 void set_legacy_sort_index(int32_t value) { 116 AppendVarInt(3, value); 117 } 118 }; 119 120 } // Namespace. 121 } // Namespace. 122 } // Namespace. 123 #endif // Include guard. 124