11#ifndef PERFETTO_PROTOS_PROTOS_PERFETTO_TRACE_CLOCK_SNAPSHOT_PROTO_H_
12#define PERFETTO_PROTOS_PROTOS_PERFETTO_TRACE_CLOCK_SNAPSHOT_PROTO_H_
17#include "perfetto/protozero/field_writer.h"
18#include "perfetto/protozero/message.h"
19#include "perfetto/protozero/packed_repeated_fields.h"
20#include "perfetto/protozero/proto_decoder.h"
21#include "perfetto/protozero/proto_utils.h"
27class ClockSnapshot_Clock;
35 : TypedProtoDecoder(
data,
len) {}
37 : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.
data()),
40 : TypedProtoDecoder(raw.
data, raw.
size) {}
42 ::protozero::RepeatedFieldIterator<::protozero::ConstBytes>
clocks()
const {
43 return GetRepeated<::protozero::ConstBytes>(1);
57 return ".perfetto.protos.ClockSnapshot";
64 ::protozero::proto_utils::RepetitionType::kRepeatedNotPacked,
65 ::protozero::proto_utils::ProtoSchemaType::kMessage,
77 template <
typename T = ClockSnapshot_Clock>
79 return BeginNestedMessage<T>(1);
83 ::protozero::proto_utils::FieldMetadata<
85 ::protozero::proto_utils::RepetitionType::kNotRepeated,
86 ::protozero::proto_utils::ProtoSchemaType::kEnum,
101 static constexpr uint32_t field_id =
102 FieldMetadata_PrimaryTraceClock::kFieldId;
105 ::protozero::internal::FieldWriter<
106 ::protozero::proto_utils::ProtoSchemaType::kEnum>::Append(*
this,
113 :
public ::protozero::TypedProtoDecoder<
118 : TypedProtoDecoder(
data,
len) {}
120 : TypedProtoDecoder(reinterpret_cast<const uint8_t*>(raw.
data()),
123 : TypedProtoDecoder(raw.
data, raw.
size) {}
125 uint32_t
clock_id()
const {
return at<1>().as_uint32(); }
127 uint64_t
timestamp()
const {
return at<2>().as_uint64(); }
138 return ".perfetto.protos.ClockSnapshot.Clock";
143 ::protozero::proto_utils::RepetitionType::kNotRepeated,
157 static constexpr uint32_t field_id = FieldMetadata_ClockId::kFieldId;
160 ::protozero::internal::FieldWriter<
168 ::protozero::proto_utils::RepetitionType::kNotRepeated,
182 static constexpr uint32_t field_id = FieldMetadata_Timestamp::kFieldId;
185 ::protozero::internal::FieldWriter<
ClockSnapshot_Clock_Decoder(const ::protozero::ConstBytes &raw)
uint32_t clock_id() const
ClockSnapshot_Clock_Decoder(const uint8_t *data, size_t len)
bool has_clock_id() const
ClockSnapshot_Clock_Decoder(const std::string &raw)
bool has_timestamp() const
uint64_t timestamp() const
void set_clock_id(uint32_t value)
void set_timestamp(uint64_t value)
static constexpr const char * GetName()
static constexpr FieldMetadata_Timestamp kTimestamp()
static constexpr FieldMetadata_ClockId kClockId()
::protozero::proto_utils::FieldMetadata< 1, ::protozero::proto_utils::RepetitionType::kNotRepeated, ::protozero::proto_utils::ProtoSchemaType::kUint32, uint32_t, ClockSnapshot_Clock > FieldMetadata_ClockId
::protozero::proto_utils::FieldMetadata< 2, ::protozero::proto_utils::RepetitionType::kNotRepeated, ::protozero::proto_utils::ProtoSchemaType::kUint64, uint64_t, ClockSnapshot_Clock > FieldMetadata_Timestamp
ClockSnapshot_Decoder(const std::string &raw)
ClockSnapshot_Decoder(const uint8_t *data, size_t len)
bool has_primary_trace_clock() const
::protozero::RepeatedFieldIterator<::protozero::ConstBytes > clocks() const
ClockSnapshot_Decoder(const ::protozero::ConstBytes &raw)
int32_t primary_trace_clock() const
@ kPrimaryTraceClockFieldNumber
::protozero::proto_utils::FieldMetadata< 1, ::protozero::proto_utils::RepetitionType::kRepeatedNotPacked, ::protozero::proto_utils::ProtoSchemaType::kMessage, ClockSnapshot_Clock, ClockSnapshot > FieldMetadata_Clocks
static constexpr FieldMetadata_PrimaryTraceClock kPrimaryTraceClock()
static constexpr const char * GetName()
void set_primary_trace_clock(::perfetto::protos::pbzero::BuiltinClock value)
static constexpr FieldMetadata_Clocks kClocks()
::protozero::proto_utils::FieldMetadata< 2, ::protozero::proto_utils::RepetitionType::kNotRepeated, ::protozero::proto_utils::ProtoSchemaType::kEnum, ::perfetto::protos::pbzero::BuiltinClock, ClockSnapshot > FieldMetadata_PrimaryTraceClock
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive keep the shell running after the Dart script has completed enable serial On low power devices with low core running concurrent GC tasks on threads can cause them to contend with the UI thread which could potentially lead to jank This option turns off all concurrent GC activities domain network JSON encoded network policy per domain This overrides the DisallowInsecureConnections switch Embedder can specify whether to allow or disallow insecure connections at a domain level old gen heap size
std::shared_ptr< const fml::Mapping > data