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