21#include "pw_result/result.h"
22#include "pw_stream/stream.h"
23#include "pw_tokenizer/detokenize.h"
24#include "pw_trace_tokenized/trace_tokenized.h"
34 EventType type = EventType::PW_TRACE_EVENT_TYPE_INVALID;
39 std::string flags_str;
44 uint64_t timestamp_usec{};
45 std::optional<uint64_t> trace_id;
46 std::vector<std::byte> data;
61 : detokenizer_(detokenizer), ticks_per_sec_(ticks_per_sec) {}
65 void SetTimeOffset(uint64_t time_offset) { last_timestamp_us_ = time_offset; }
90 const uint64_t ticks_per_sec_;
91 uint64_t last_timestamp_us_ = 0;
93 uint64_t usec_per_tick()
const {
return 1'000'000 / ticks_per_sec_; }
Definition: detokenize.h:103
TokenizedDecoder can decode pw_trace_tokenized-encoded trace events.
Definition: decoder.h:50
Result< DecodedEvent > ReadSizePrefixed(stream::Reader &reader)
TokenizedDecoder(tokenizer::Detokenizer &detokenizer, uint64_t ticks_per_sec)
Definition: decoder.h:60
Result< DecodedEvent > Decode(ConstByteSpan data)
void SetTimeOffset(uint64_t time_offset)
Definition: decoder.h:65