Namespaces
Enumerations
enum RecordType
| Name | Value |
|---|---|
| kMetadata | 0 |
| kInitialization | 1 |
| kString | 2 |
| kThread | 3 |
| kEvent | 4 |
| kBlob | 5 |
| kUserspaceObject | 6 |
| kKernelObject | 7 |
| kScheduler | 8 |
| kLog | 9 |
| kProfiler | 10 |
| kLargeRecord | 15 |
Enumerates all known record types.
Defined at line 61 of file ../../src/performance/lib/fxt/include/lib/fxt/record_types.h
enum ProfilerRecordType
| Name | Value |
|---|---|
| kModule | 0 |
| kMmap | 1 |
| kBacktrace | 2 |
ProfilerRecordType enumerates all known profiler record sub-types.
Defined at line 79 of file ../../src/performance/lib/fxt/include/lib/fxt/record_types.h
enum LargeRecordType
| Name | Value |
|---|---|
| kBlob | 0 |
Defined at line 85 of file ../../src/performance/lib/fxt/include/lib/fxt/record_types.h
enum MetadataType
| Name | Value |
|---|---|
| kProviderInfo | 1 |
| kProviderSection | 2 |
| kProviderEvent | 3 |
| kTraceInfo | 4 |
MetadataType enumerates all known trace metadata types.
Defined at line 90 of file ../../src/performance/lib/fxt/include/lib/fxt/record_types.h
enum ProviderEventType
| Name | Value |
|---|---|
| kBufferOverflow | 0 |
Enumerates all provider events.
Defined at line 98 of file ../../src/performance/lib/fxt/include/lib/fxt/record_types.h
enum TraceInfoType
| Name | Value |
|---|---|
| kMagicNumber | 0 |
Enumerates all known trace info types.
Defined at line 103 of file ../../src/performance/lib/fxt/include/lib/fxt/record_types.h
enum RefType
| Name | Value |
|---|---|
| kInline | 0 |
| kId | 1 |
Whether a String/Thread Ref is inline or referenced as an id.
Defined at line 111 of file ../../src/performance/lib/fxt/include/lib/fxt/record_types.h
enum ArgumentType
| Name | Value |
|---|---|
| kNull | 0 |
| kInt32 | 1 |
| kUint32 | 2 |
| kInt64 | 3 |
| kUint64 | 4 |
| kDouble | 5 |
| kString | 6 |
| kPointer | 7 |
| kKoid | 8 |
| kBool | 9 |
| kBlob | 10 |
Enumerates all known argument types.
Defined at line 114 of file ../../src/performance/lib/fxt/include/lib/fxt/record_types.h
enum EventType
| Name | Value |
|---|---|
| kInstant | 0 |
| kCounter | 1 |
| kDurationBegin | 2 |
| kDurationEnd | 3 |
| kDurationComplete | 4 |
| kAsyncBegin | 5 |
| kAsyncInstant | 6 |
| kAsyncEnd | 7 |
| kFlowBegin | 8 |
| kFlowStep | 9 |
| kFlowEnd | 10 |
EventType enumerates all known trace event types.
Defined at line 129 of file ../../src/performance/lib/fxt/include/lib/fxt/record_types.h
enum SchedulerEventType
| Name | Value |
|---|---|
| kLegacyContextSwitch | 0 |
| kContextSwitch | 1 |
| kThreadWakeup | 2 |
SchedulerEventType enumerates all known scheduler event types.
Defined at line 144 of file ../../src/performance/lib/fxt/include/lib/fxt/record_types.h
enum EventScope
| Name | Value |
|---|---|
| kThread | 0 |
| kProcess | 1 |
| kGlobal | 2 |
Specifies the scope of instant events.
Defined at line 151 of file ../../src/performance/lib/fxt/include/lib/fxt/record_types.h
enum ThreadState
| Name | Value |
|---|---|
| kNew | ZX_THREAD_STATE_NEW |
| kRunning | ZX_THREAD_STATE_RUNNING |
| kSuspended | ZX_THREAD_STATE_SUSPENDED |
| kBlocked | ZX_THREAD_STATE_BLOCKED |
| kDying | ZX_THREAD_STATE_DYING |
| kDead | ZX_THREAD_STATE_DEAD |
Thread states used to describe context switches.
Defined at line 161 of file ../../src/performance/lib/fxt/include/lib/fxt/record_types.h
enum BlobType
| Name | Value |
|---|---|
| kData | 1 |
| kLastBranch | 2 |
Defined at line 173 of file ../../src/performance/lib/fxt/include/lib/fxt/record_types.h
enum LargeBlobFormat
| Name | Value |
|---|---|
| kMetadata | 0 |
| kNoMetadata | 1 |
Defined at line 174 of file ../../src/performance/lib/fxt/include/lib/fxt/record_types.h
Records
-
class Argument -
class Argument -
class Argument -
class Argument -
class Argument -
class Argument -
class Argument -
class Argument -
class Argument -
class Argument -
class Argument -
class Argument -
class ArgumentFields -
class BlobArgumentFields -
class BlobFormatAttachmentFields -
class BlobFormatEventFields -
class BlobRecordFields -
class BoolArgumentFields -
class ContextSwitchRecordFields -
class EventRecordFields -
class Field -
class Int32ArgumentFields -
class InternedCategory -
class InternedString -
class KernelObjectRecordFields -
class Koid -
class LargeBlobFields -
class LargeRecordFields -
class LegacyContextSwitchRecordFields -
class LogRecordFields -
class MagicNumberRecordFields -
class MetadataRecordFields -
class Pointer -
class ProfilerBacktraceRecordFields -
class ProfilerMmapRecordFields -
class ProfilerModuleRecordFields -
class ProfilerRecordFields -
class ProviderEventMetadataRecordFields -
class ProviderInfoMetadataRecordFields -
class ProviderSectionMetadataRecordFields -
class RecordFields -
class SchedulerRecordFields -
class Scope -
class ScopeBegin -
class ScopeEnd -
class StringArgumentFields -
class StringRecordFields -
class StringRef -
class StringRef -
class StringRef -
class ThreadRecordFields -
class ThreadRef -
class ThreadRef -
class ThreadRef -
class ThreadWakeupRecordFields -
class TraceInfoMetadataRecordFields -
class Uint32ArgumentFields -
class UserspaceObjectRecordFields -
class WordSize
Functions
-
template <RefType name_type>Argument<ArgumentType::kNull, name_type> <deduction guide for Argument> (StringRef<name_type> ) -
ThreadRef<RefType::kInline> <deduction guide for ThreadRef> (zx_koid_t , zx_koid_t ) -
template <typename Capture>ScopeBegin<Capture> <deduction guide for ScopeBegin> (Capture && ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kId> = true>Argument<ArgumentType::kNull, RefType::kId> <deduction guide for Argument> (T && name) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kId> = true>Argument<ArgumentType::kNull, RefType::kId> <deduction guide for Argument> (T && name) -
ThreadRef<RefType::kInline> <deduction guide for ThreadRef> (Koid , Koid ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kInline> = true>Argument<ArgumentType::kNull, RefType::kInline> <deduction guide for Argument> (T && name) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kInline> = true>Argument<ArgumentType::kNull, RefType::kInline> <deduction guide for Argument> (T && name) -
template <typename T, EnableIfConvertibleToThreadRef<T, RefType::kInline> = true>ThreadRef<RefType::kInline> <deduction guide for ThreadRef> (const T & ) -
template <typename T, EnableIfConvertibleToThreadRef<T, RefType::kInline> = true>ThreadRef<RefType::kInline> <deduction guide for ThreadRef> (const T & ) -
template <typename Capture>ScopeEnd<Capture> <deduction guide for ScopeEnd> (Capture && ) -
StringRef<RefType::kInline> <deduction guide for StringRef> (const char * ) -
StringRef<RefType::kInline> <deduction guide for StringRef> (const char * , size_t ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kInline> = true>StringRef<RefType::kInline> <deduction guide for StringRef> (const T & ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kInline> = true>StringRef<RefType::kInline> <deduction guide for StringRef> (const T & ) -
ThreadRef<RefType::kId> <deduction guide for ThreadRef> (uint8_t ) -
template <typename T, EnableIfConvertibleToThreadRef<T, RefType::kId> = true>ThreadRef<RefType::kId> <deduction guide for ThreadRef> (const T & ) -
template <typename T, EnableIfConvertibleToThreadRef<T, RefType::kId> = true>ThreadRef<RefType::kId> <deduction guide for ThreadRef> (const T & ) -
template <RefType name_type>Argument<ArgumentType::kBool, name_type> <deduction guide for Argument> (StringRef<name_type> , bool ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kId> = true>Argument<ArgumentType::kBool, RefType::kId> <deduction guide for Argument> (T && name, bool ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kId> = true>Argument<ArgumentType::kBool, RefType::kId> <deduction guide for Argument> (T && name, bool ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kInline> = true>Argument<ArgumentType::kBool, RefType::kInline> <deduction guide for Argument> (T && name, bool ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kInline> = true>Argument<ArgumentType::kBool, RefType::kInline> <deduction guide for Argument> (T && name, bool ) -
StringRef<RefType::kId> <deduction guide for StringRef> (uint16_t ) -
template <typename T>Scope<std::invoke_result_t<T>> <deduction guide for Scope> (ScopeBegin<T> && ) -
StringRef<RefType::kId> <deduction guide for StringRef> (const InternedString & ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kId> = true>StringRef<RefType::kId> <deduction guide for StringRef> (const T & ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kId> = true>StringRef<RefType::kId> <deduction guide for StringRef> (const T & ) -
template <RefType name_type>Argument<ArgumentType::kInt32, name_type> <deduction guide for Argument> (StringRef<name_type> , int32_t ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kId> = true>Argument<ArgumentType::kInt32, RefType::kId> <deduction guide for Argument> (T && name, int32_t ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kId> = true>Argument<ArgumentType::kInt32, RefType::kId> <deduction guide for Argument> (T && name, int32_t ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kInline> = true>Argument<ArgumentType::kInt32, RefType::kInline> <deduction guide for Argument> (T && name, int32_t ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kInline> = true>Argument<ArgumentType::kInt32, RefType::kInline> <deduction guide for Argument> (T && name, int32_t ) -
template <RefType name_type>Argument<ArgumentType::kUint32, name_type> <deduction guide for Argument> (StringRef<name_type> , uint32_t ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kId> = true>Argument<ArgumentType::kUint32, RefType::kId> <deduction guide for Argument> (T && name, uint32_t ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kId> = true>Argument<ArgumentType::kUint32, RefType::kId> <deduction guide for Argument> (T && name, uint32_t ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kInline> = true>Argument<ArgumentType::kUint32, RefType::kInline> <deduction guide for Argument> (T && name, uint32_t ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kInline> = true>Argument<ArgumentType::kUint32, RefType::kInline> <deduction guide for Argument> (T && name, uint32_t ) -
template <RefType name_type>Argument<ArgumentType::kInt64, name_type> <deduction guide for Argument> (StringRef<name_type> , int64_t ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kId> = true>Argument<ArgumentType::kInt64, RefType::kId> <deduction guide for Argument> (T && name, int64_t ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kId> = true>Argument<ArgumentType::kInt64, RefType::kId> <deduction guide for Argument> (T && name, int64_t ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kInline> = true>Argument<ArgumentType::kInt64, RefType::kInline> <deduction guide for Argument> (T && name, int64_t ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kInline> = true>Argument<ArgumentType::kInt64, RefType::kInline> <deduction guide for Argument> (T && name, int64_t ) -
template <RefType name_type>Argument<ArgumentType::kUint64, name_type> <deduction guide for Argument> (StringRef<name_type> , uint64_t ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kId> = true>Argument<ArgumentType::kUint64, RefType::kId> <deduction guide for Argument> (T && name, uint64_t ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kId> = true>Argument<ArgumentType::kUint64, RefType::kId> <deduction guide for Argument> (T && name, uint64_t ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kInline> = true>Argument<ArgumentType::kUint64, RefType::kInline> <deduction guide for Argument> (T && name, uint64_t ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kInline> = true>Argument<ArgumentType::kUint64, RefType::kInline> <deduction guide for Argument> (T && name, uint64_t ) -
template <RefType name_type>Argument<ArgumentType::kDouble, name_type> <deduction guide for Argument> (StringRef<name_type> , double ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kId> = true>Argument<ArgumentType::kDouble, RefType::kId> <deduction guide for Argument> (T && name, double ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kId> = true>Argument<ArgumentType::kDouble, RefType::kId> <deduction guide for Argument> (T && name, double ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kInline> = true>Argument<ArgumentType::kDouble, RefType::kInline> <deduction guide for Argument> (T && name, double ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kInline> = true>Argument<ArgumentType::kDouble, RefType::kInline> <deduction guide for Argument> (T && name, double ) -
template <RefType name_type>Argument<ArgumentType::kPointer, name_type> <deduction guide for Argument> (StringRef<name_type> , Pointer ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kId> = true>Argument<ArgumentType::kPointer, RefType::kId> <deduction guide for Argument> (T && name, Pointer ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kId> = true>Argument<ArgumentType::kPointer, RefType::kId> <deduction guide for Argument> (T && name, Pointer ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kInline> = true>Argument<ArgumentType::kPointer, RefType::kInline> <deduction guide for Argument> (T && name, Pointer ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kInline> = true>Argument<ArgumentType::kPointer, RefType::kInline> <deduction guide for Argument> (T && name, Pointer ) -
template <RefType name_type>Argument<ArgumentType::kKoid, name_type> <deduction guide for Argument> (StringRef<name_type> , Koid ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kId> = true>Argument<ArgumentType::kKoid, RefType::kId> <deduction guide for Argument> (T && name, Koid ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kId> = true>Argument<ArgumentType::kKoid, RefType::kId> <deduction guide for Argument> (T && name, Koid ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kInline> = true>Argument<ArgumentType::kKoid, RefType::kInline> <deduction guide for Argument> (T && name, Koid ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kInline> = true>Argument<ArgumentType::kKoid, RefType::kInline> <deduction guide for Argument> (T && name, Koid ) -
Argument<ArgumentType::kString, RefType::kInline, RefType::kId> <deduction guide for Argument> (StringRef<RefType::kInline> , StringRef<RefType::kId> ) -
Argument<ArgumentType::kString, RefType::kId, RefType::kId> <deduction guide for Argument> (StringRef<RefType::kId> , StringRef<RefType::kId> ) -
Argument<ArgumentType::kString, RefType::kInline, RefType::kInline> <deduction guide for Argument> (StringRef<RefType::kInline> , StringRef<RefType::kInline> ) -
Argument<ArgumentType::kString, RefType::kId, RefType::kInline> <deduction guide for Argument> (StringRef<RefType::kId> , StringRef<RefType::kInline> ) -
template <typename T, typename U, EnableIfConvertibleToStringRef<T, RefType::kInline> = true, EnableIfConvertibleToStringRef<U, RefType::kId> = true>Argument<ArgumentType::kString, RefType::kInline, RefType::kId> <deduction guide for Argument> (T && name, U && value) -
template <typename T, typename U, EnableIfConvertibleToStringRef<T, RefType::kInline> = true, EnableIfConvertibleToStringRef<U, RefType::kId> = true>Argument<ArgumentType::kString, RefType::kInline, RefType::kId> <deduction guide for Argument> (T && name, U && value) -
template <typename T, typename U, EnableIfConvertibleToStringRef<T, RefType::kId> = true, EnableIfConvertibleToStringRef<U, RefType::kId> = true>Argument<ArgumentType::kString, RefType::kId, RefType::kId> <deduction guide for Argument> (T && name, U && value) -
template <typename T, typename U, EnableIfConvertibleToStringRef<T, RefType::kId> = true, EnableIfConvertibleToStringRef<U, RefType::kId> = true>Argument<ArgumentType::kString, RefType::kId, RefType::kId> <deduction guide for Argument> (T && name, U && value) -
template <typename T, typename U, EnableIfConvertibleToStringRef<T, RefType::kInline> = true, EnableIfConvertibleToStringRef<U, RefType::kInline> = true>Argument<ArgumentType::kString, RefType::kInline, RefType::kInline> <deduction guide for Argument> (T && name, U && value) -
template <typename T, typename U, EnableIfConvertibleToStringRef<T, RefType::kInline> = true, EnableIfConvertibleToStringRef<U, RefType::kInline> = true>Argument<ArgumentType::kString, RefType::kInline, RefType::kInline> <deduction guide for Argument> (T && name, U && value) -
template <typename T, typename U, EnableIfConvertibleToStringRef<T, RefType::kId> = true, EnableIfConvertibleToStringRef<U, RefType::kInline> = true>Argument<ArgumentType::kString, RefType::kId, RefType::kInline> <deduction guide for Argument> (T && name, U && value) -
template <typename T, typename U, EnableIfConvertibleToStringRef<T, RefType::kId> = true, EnableIfConvertibleToStringRef<U, RefType::kInline> = true>Argument<ArgumentType::kString, RefType::kId, RefType::kInline> <deduction guide for Argument> (T && name, U && value) -
template <RefType name_type>Argument<ArgumentType::kBlob, name_type> <deduction guide for Argument> (StringRef<name_type> , std::span<const uint8_t> ) -
template <RefType name_type>Argument<ArgumentType::kBlob, name_type> <deduction guide for Argument> (StringRef<name_type> , std::span<const uint8_t> ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kId> = true>Argument<ArgumentType::kBlob, RefType::kId> <deduction guide for Argument> (T && name, std::span<const uint8_t> ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kId> = true>Argument<ArgumentType::kBlob, RefType::kId> <deduction guide for Argument> (T && name, std::span<const uint8_t> ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kId> = true>Argument<ArgumentType::kBlob, RefType::kId> <deduction guide for Argument> (T && name, std::span<const uint8_t> ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kInline> = true>Argument<ArgumentType::kBlob, RefType::kInline> <deduction guide for Argument> (T && name, std::span<const uint8_t> ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kInline> = true>Argument<ArgumentType::kBlob, RefType::kInline> <deduction guide for Argument> (T && name, std::span<const uint8_t> ) -
template <typename T, EnableIfConvertibleToStringRef<T, RefType::kInline> = true>Argument<ArgumentType::kBlob, RefType::kInline> <deduction guide for Argument> (T && name, std::span<const uint8_t> ) -
size_t Pad (size_t size)Pad a given size to a multiple of 8 bytes.
Defined at line 20 of file ../../src/performance/lib/fxt/include/lib/fxt/record_types.h
-
template <typename T>typename std::underlying_type<T>::type ToUnderlyingType (T value)Casts an enum's value to its underlying type.
Defined at line 20 of file ../../src/performance/lib/fxt/include/lib/fxt/fields.h
-
uint64_t MakeHeader (RecordType type, WordSize size_words)Defined at line 30 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
uint64_t MakeLargeHeader (LargeRecordType type, WordSize words)Defined at line 35 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0>zx_status_t WriteProviderInfoMetadataRecord (Writer * writer, uint32_t provider_id, const char * name, size_t name_length)Create a Provider Info Metadata Record using a given Writer
This metadata identifies a trace provider that has contributed information
to the trace.
See also: https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#format_3
Defined at line 48 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0, RefType thread_type>zx_status_t WriteProfilerModuleRecord (Writer * writer, uint64_t timestamp, const ThreadRef<thread_type> & thread_ref, uint16_t module_id, const char * name, uint8_t name_length, const uint8_t * build_id, size_t build_id_length)Write a Profiler Module Record using the given Writer
Associates a 16-bit module ID with a module's full build ID and
name. This record is emitted once per module, allowing subsequent
records (like Mmap records) to reference the module efficiently
using the module ID.
See also: TODO(https://fxbug.dev/444078023): Update
https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format for the new
profiler record.
Defined at line 75 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
Argument<ArgumentType::kInt64, RefType::kId> MakeArgument (StringRef<RefType::kId> name, ffl::Fixed<int64_t, 0> value)Defined at line 94 of file ../../zircon/kernel/include/kernel/scheduler_state.h
-
Argument<ArgumentType::kUint64, RefType::kId> MakeArgument (StringRef<RefType::kId> name, ffl::Fixed<uint64_t, 0> value)Defined at line 98 of file ../../zircon/kernel/include/kernel/scheduler_state.h
-
Argument<ArgumentType::kInt32, RefType::kId> MakeArgument (StringRef<RefType::kId> name, ffl::Fixed<int32_t, 0> value)Defined at line 102 of file ../../zircon/kernel/include/kernel/scheduler_state.h
-
Argument<ArgumentType::kUint32, RefType::kId> MakeArgument (StringRef<RefType::kId> name, ffl::Fixed<uint32_t, 0> value)Defined at line 106 of file ../../zircon/kernel/include/kernel/scheduler_state.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0, RefType thread_type>zx_status_t WriteProfilerMmapRecord (Writer * writer, uint64_t timestamp, const ThreadRef<thread_type> & thread_ref, uint16_t module_id, uint64_t start_address, uint64_t addr_range, uint64_t vaddr, uint8_t flags)Write a Profiler Mmap Record using the given Writer
Describes a specific memory mapping for a module. It links to a previously
emitted Module Record via the module_id and specifies the mapping's
start address, address range, module-relative address (vaddr), and
memory permissions (flags).
See also: TODO(https://fxbug.dev/444078023): Update
https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format for the new
profiler record.
Defined at line 112 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename T, T... chars>const InternedString & operator""_intern ()Defined at line 116 of file ../../src/performance/lib/fxt/include/lib/fxt/interned_string.h
-
template <typename T, T... chars>const InternedCategory & operator""_category ()Defined at line 126 of file ../../src/performance/lib/fxt/include/lib/fxt/interned_category.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0, RefType thread_type>zx_status_t WriteProfilerBacktraceRecord (Writer * writer, uint64_t timestamp, const ThreadRef<thread_type> & thread_ref, const uint64_t * backtrace_data, size_t backtrace_data_length_bytes)Write a Profiler Backtrace Record using the given Writer
Contains a list of backtrace frames captured at a specific moment in time.
Batching frames into a single record simplifies downstream processing and
sample grouping.
See also: TODO(https://fxbug.dev/444078023): Update
https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format for the new
profiler record.
Defined at line 147 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0>zx_status_t WriteProviderSectionMetadataRecord (Writer * writer, uint32_t provider_id)Create a Provider Section Metadata Record using a given Writer
This metadata delimits sections of the trace that have been obtained from
different providers. All data that follows until the next provider section
metadata or provider info metadata is encountered is assumed to have been
collected from the same provider.
See also:
https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#provider-section-metadata
Defined at line 186 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0>zx_status_t WriteProviderEventMetadataRecord (Writer * writer, uint32_t provider_id, uint8_t event_id)Create a Provider Section Metadata Record using Writer
This metadata delimits sections of the trace that have been obtained from
different providers. All data that follows until the next provider section
metadata or provider info metadata is encountered is assumed to have been
collected from the same provider.
See also:
https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#provider-section-metadata
Defined at line 209 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0>zx_status_t WriteMagicNumberRecord (Writer * writer)Create a Magic Number Record using Writer
This record serves as an indicator that the binary data is in the Fuchsia tracing format.
See also: https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#magic-number-record
Defined at line 230 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0>zx_status_t WriteInitializationRecord (Writer * writer, zx_ticks_t ticks_per_second)Write an Initialization Record using Writer
An Initialization Record provides additional information which modifies how
following records are interpreted.
See also: https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#initialization-record
Defined at line 246 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0>zx_status_t WriteStringRecord (Writer * writer, uint16_t index, const char * string, size_t string_length)Write String Record using Writer
Registers a string in the string table
See also: https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#string-record
Defined at line 263 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0>zx_status_t WriteThreadRecord (Writer * writer, uint16_t index, Koid process, Koid thread)Write Thread Record using Writer
Registers a thread in the thread table
See also: https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#thread-record
Defined at line 283 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0, RefType thread_type, RefType name_type, RefType category_type, ArgumentType... arg_types, RefType... arg_name_types, RefType... arg_val_types>zx_status_t WriteInstantEventRecord (Writer * writer, uint64_t event_time, const ThreadRef<thread_type> & thread_ref, const StringRef<category_type> & category_ref, const StringRef<name_type> & name_ref, const Argument<arg_types, arg_name_types, arg_val_types> &... args)Write an Instant Event using the given Writer
Instant Events marks a moment in time on a thread.
See also: https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#instant-event
Defined at line 412 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0, RefType thread_type, RefType name_type, RefType category_type, ArgumentType... arg_types, RefType... arg_name_types, RefType... arg_val_types>zx_status_t WriteCounterEventRecord (Writer * writer, uint64_t event_time, const ThreadRef<thread_type> & thread_ref, const StringRef<category_type> & category_ref, const StringRef<name_type> & name_ref, uint64_t counter_id, const Argument<arg_types, arg_name_types, arg_val_types> &... args)Write a Counter Event using the given Writer
Counter Events sample values of each argument as data in a time series
associated with the counter's name and id.
See also: https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#instant-event
Defined at line 429 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0, RefType thread_type, RefType name_type, RefType category_type, ArgumentType... arg_types, RefType... arg_name_types, RefType... arg_val_types>zx_status_t WriteDurationBeginEventRecord (Writer * writer, uint64_t event_time, const ThreadRef<thread_type> & thread_ref, const StringRef<category_type> & category_ref, const StringRef<name_type> & name_ref, Argument<arg_types, arg_name_types, arg_val_types>... args)Write a Duration Begin Event using the given Writer
A Duration Begin Event marks the beginning of an operation on a particular
thread. Must be matched by a duration end event. May be nested.
See also: https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#duration-begin-event
Defined at line 446 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0, RefType thread_type, RefType name_type, RefType category_type, ArgumentType... arg_types, RefType... arg_name_types, RefType... arg_val_types>zx_status_t WriteDurationEndEventRecord (Writer * writer, uint64_t event_time, const ThreadRef<thread_type> & thread_ref, const StringRef<category_type> & category_ref, const StringRef<name_type> & name_ref, Argument<arg_types, arg_name_types, arg_val_types>... args)Write a Duration End Event using the given Writer
A Duration End Event marks the end of an operation on a particular
thread.
See also: https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#duration-end-event
Defined at line 463 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0, RefType thread_type, RefType name_type, RefType category_type, ArgumentType... arg_types, RefType... arg_name_types, RefType... arg_val_types, RefType... ref_types2>zx_status_t WriteDurationCompleteEventRecord (Writer * writer, uint64_t start_time, const ThreadRef<thread_type> & thread_ref, const StringRef<category_type> & category_ref, const StringRef<name_type> & name_ref, uint64_t end_time, Argument<arg_types, arg_name_types, arg_val_types>... args)Write a Duration Complete Event using the given Writer
A Duration Complete Event marks the beginning and end of an operation on a particular thread.
See also: https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#duration-complete-event
Defined at line 479 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0, RefType thread_type, RefType name_type, RefType category_type, ArgumentType... arg_types, RefType... arg_name_types, RefType... arg_val_types>zx_status_t WriteAsyncBeginEventRecord (Writer * writer, uint64_t event_time, const ThreadRef<thread_type> & thread_ref, const StringRef<category_type> & category_ref, const StringRef<name_type> & name_ref, uint64_t async_id, Argument<arg_types, arg_name_types, arg_val_types>... args)Write an Async Begin Event using the given Writer
An Async Begin event marks the beginning of an operation that may span
threads. Must be matched by an async end event using the same async
correlation id.
See also: https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#async-begin-event
Defined at line 497 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0, RefType thread_type, RefType name_type, RefType category_type, ArgumentType... arg_types, RefType... arg_name_types, RefType... arg_val_types>zx_status_t WriteAsyncInstantEventRecord (Writer * writer, uint64_t event_time, const ThreadRef<thread_type> & thread_ref, const StringRef<category_type> & category_ref, const StringRef<name_type> & name_ref, uint64_t async_id, Argument<arg_types, arg_name_types, arg_val_types>... args)Write an Async Instant Event using the given Writer
An Async Instant Event marks a moment within an operation that may span
threads. Must appear between async begin event and async end event using the
same async correlation id.
See also: https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#async-instant-event
Defined at line 515 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0, RefType thread_type, RefType name_type, RefType category_type, ArgumentType... arg_types, RefType... arg_name_types, RefType... arg_val_types>zx_status_t WriteAsyncEndEventRecord (Writer * writer, uint64_t event_time, const ThreadRef<thread_type> & thread_ref, const StringRef<category_type> & category_ref, const StringRef<name_type> & name_ref, uint64_t async_id, Argument<arg_types, arg_name_types, arg_val_types>... args)Write an Async End Event using the given Writer
An Async End event marks the end of an operation that may span
threads.
See also: https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#async-end-event
Defined at line 532 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0, RefType thread_type, RefType name_type, RefType category_type, ArgumentType... arg_types, RefType... arg_name_types, RefType... arg_val_types>zx_status_t WriteFlowBeginEventRecord (Writer * writer, uint64_t event_time, const ThreadRef<thread_type> & thread_ref, const StringRef<category_type> & category_ref, const StringRef<name_type> & name_ref, uint64_t flow_id, Argument<arg_types, arg_name_types, arg_val_types>... args)Write a Flow Begin Event to the given Writer
A Flow Begin Event marks the beginning of an operation, which results in a
sequence of actions that may span multiple threads or abstraction layers.
Must be matched by a flow end event using the same flow correlation id. This
can be envisioned as an arrow between duration events. The beginning of the
flow is associated with the enclosing duration event for this thread; it
begins where the enclosing duration event ends.
See also: https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#flow-begin-event
Defined at line 553 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0, RefType thread_type, RefType name_type, RefType category_type, ArgumentType... arg_types, RefType... arg_name_types, RefType... arg_val_types>zx_status_t WriteFlowStepEventRecord (Writer * writer, uint64_t event_time, const ThreadRef<thread_type> & thread_ref, const StringRef<category_type> & category_ref, const StringRef<name_type> & name_ref, uint64_t flow_id, Argument<arg_types, arg_name_types, arg_val_types>... args)Write a Flow Step Event to the given Writer
Marks a point within a flow. The step is associated with the enclosing
duration event for this thread; the flow resumes where the enclosing
duration event begins then is suspended at the point where the enclosing
duration event event ends.
See also: https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#flow-step-event
Defined at line 572 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0, RefType thread_type, RefType name_type, RefType category_type, ArgumentType... arg_types, RefType... arg_name_types, RefType... arg_val_types>zx_status_t WriteFlowEndEventRecord (Writer * writer, uint64_t event_time, const ThreadRef<thread_type> & thread_ref, const StringRef<category_type> & category_ref, const StringRef<name_type> & name_ref, uint64_t flow_id, Argument<arg_types, arg_name_types, arg_val_types>... args)Write a Flow End Event to the given Writer
Marks the end of a flow. The end of the flow is associated with the
enclosing duration event for this thread; the flow resumes where the
enclosing duration event begins.
See also: https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#flow-end-event
Defined at line 590 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0, RefType name_type>zx_status_t WriteBlobRecord (Writer * writer, const StringRef<name_type> & blob_name, BlobType type, const void * bytes, size_t num_bytes)Write Block Record to the given Writer
Provides uninterpreted bulk data to be included in the trace. This can be
useful for embedding captured trace data in other formats.
See also: https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#blob-record
Defined at line 605 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
Argument<ArgumentType::kNull, RefType::kId> MakeArgument (StringRef<RefType::kId> name)Builds an instance of Argument from the given parameters. Each overload uses explicit
instantiations of StringRef to avoid limitations in type deduction from convertible types. Since
no type deduction occurs, implicit parameter conversions are considered.
Defined at line 613 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kNull, RefType::kInline> MakeArgument (StringRef<RefType::kInline> name)Defined at line 616 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kBool, RefType::kId> MakeArgument (StringRef<RefType::kId> name, bool value)Defined at line 620 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kBool, RefType::kInline> MakeArgument (StringRef<RefType::kInline> name, bool value)Defined at line 624 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kInt32, RefType::kId> MakeArgument (StringRef<RefType::kId> name, int32_t value)Defined at line 628 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kInt32, RefType::kInline> MakeArgument (StringRef<RefType::kInline> name, int32_t value)Defined at line 632 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0, RefType thread_type, RefType name_type, ArgumentType... arg_types, RefType... arg_name_types, RefType... arg_val_types>zx_status_t WriteUserspaceObjectRecord (Writer * writer, uintptr_t pointer, const ThreadRef<thread_type> & thread_arg, const StringRef<name_type> & name_arg, const Argument<arg_types, arg_name_types, arg_val_types> &... args)Write a Userspace Object Record to the given Writer
Describes a userspace object, assigns it a label, and optionally associates
key/value data with it as arguments. Information about the object is added
to a per-process userspace object table.
See also: https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#userspace-object-record
Defined at line 633 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
Argument<ArgumentType::kUint32, RefType::kId> MakeArgument (StringRef<RefType::kId> name, uint32_t value)Defined at line 636 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kUint32, RefType::kInline> MakeArgument (StringRef<RefType::kInline> name, uint32_t value)Defined at line 640 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kInt64, RefType::kId> MakeArgument (StringRef<RefType::kId> name, int64_t value)Defined at line 644 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kInt64, RefType::kInline> MakeArgument (StringRef<RefType::kInline> name, int64_t value)Defined at line 648 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kUint64, RefType::kId> MakeArgument (StringRef<RefType::kId> name, uint64_t value)Defined at line 652 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kUint64, RefType::kInline> MakeArgument (StringRef<RefType::kInline> name, uint64_t value)Defined at line 656 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kDouble, RefType::kId> MakeArgument (StringRef<RefType::kId> name, double value)Defined at line 660 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0, RefType name_type, ArgumentType... arg_types, RefType... arg_name_types, RefType... arg_val_types>zx_status_t WriteKernelObjectRecord (Writer * writer, Koid koid, zx_obj_type_t obj_type, const StringRef<name_type> & name_arg, const Argument<arg_types, arg_name_types, arg_val_types> &... args)Write a Kernel Object Record using the given Writer
Describes a kernel object, assigns it a label, and optionally associates
key/value data with it as arguments. Information about the object is added
to a global kernel object table.
See also: https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#kernel-object-record
Defined at line 663 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
Argument<ArgumentType::kDouble, RefType::kInline> MakeArgument (StringRef<RefType::kInline> name, double value)Defined at line 664 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kPointer, RefType::kId> MakeArgument (StringRef<RefType::kId> name, Pointer value)Defined at line 668 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kPointer, RefType::kInline> MakeArgument (StringRef<RefType::kInline> name, Pointer value)Defined at line 672 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kKoid, RefType::kId> MakeArgument (StringRef<RefType::kId> name, Koid value)Defined at line 676 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kKoid, RefType::kInline> MakeArgument (StringRef<RefType::kInline> name, Koid value)Defined at line 680 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kString, RefType::kId, RefType::kId> MakeArgument (StringRef<RefType::kId> name, StringRef<RefType::kId> value)Defined at line 684 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kString, RefType::kId, RefType::kInline> MakeArgument (StringRef<RefType::kId> name, StringRef<RefType::kInline> value)Defined at line 688 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kString, RefType::kInline, RefType::kInline> MakeArgument (StringRef<RefType::kInline> name, StringRef<RefType::kInline> value)Defined at line 692 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0, RefType outgoing_type, RefType incoming_type>zx_status_t WriteContextSwitchRecord (Writer * writer, uint64_t event_time, uint8_t cpu_number, zx_thread_state_t outgoing_thread_state, const ThreadRef<outgoing_type> & outgoing_thread, const ThreadRef<incoming_type> & incoming_thread, uint8_t outgoing_thread_priority, uint8_t incoming_thread_priority)Write a Legacy Context Switch Record using the given Writer
Describes a context switch during which a CPU handed off control from an
outgoing thread to an incoming thread that resumes execution.
This format is deprecated in favor of the more flexible context switch format.
See also: https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#scheduling-record
Defined at line 692 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
Argument<ArgumentType::kString, RefType::kInline, RefType::kId> MakeArgument (StringRef<RefType::kInline> name, StringRef<RefType::kId> value)Defined at line 696 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kString, RefType::kId, RefType::kInline> MakeArgument (StringRef<RefType::kId> name, const char * value)Defined at line 700 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kString, RefType::kInline, RefType::kInline> MakeArgument (StringRef<RefType::kInline> name, const char * value)Defined at line 704 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kString, RefType::kId, RefType::kInline> MakeArgument (StringRef<RefType::kId> name, const char * value, size_t size)Defined at line 708 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kString, RefType::kInline, RefType::kInline> MakeArgument (StringRef<RefType::kInline> name, const char * value, size_t size)Defined at line 712 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kBlob, RefType::kInline> MakeArgument (StringRef<RefType::kInline> name, std::span<const uint8_t> value)Defined at line 716 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kBlob, RefType::kInline> MakeArgument (StringRef<RefType::kInline> name, std::span<const uint8_t> value)Defined at line 716 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kBlob, RefType::kId> MakeArgument (StringRef<RefType::kId> name, std::span<const uint8_t> value)Defined at line 720 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
Argument<ArgumentType::kBlob, RefType::kId> MakeArgument (StringRef<RefType::kId> name, std::span<const uint8_t> value)Defined at line 720 of file ../../src/performance/lib/fxt/include/lib/fxt/argument.h
-
template <typename Writer, ArgumentType... arg_types, RefType... arg_name_types, RefType... arg_val_types, internal::EnableIfWriter<Writer> = 0>zx_status_t WriteContextSwitchRecord (Writer * writer, uint64_t event_time, uint16_t cpu_number, uint32_t outgoing_thread_state, const ThreadRef<RefType::kInline> & outgoing_thread, const ThreadRef<RefType::kInline> & incoming_thread, const Argument<arg_types, arg_name_types, arg_val_types> &... args)Write a Context Switch Record using the given Writer
Describes a context switch during which a CPU handed off control from an
outgoing thread to an incoming thread that resumes execution.
See also: https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#scheduling-record
Defined at line 730 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename Writer, ArgumentType... arg_types, RefType... arg_name_types, RefType... arg_val_types, internal::EnableIfWriter<Writer> = 0>zx_status_t WriteThreadWakeupRecord (Writer * writer, uint64_t event_time, uint16_t cpu_number, const ThreadRef<RefType::kInline> & incoming_thread, const Argument<arg_types, arg_name_types, arg_val_types> &... args)Write a Thread Wakeup Record using the given Writer
Describes a thread waking up on a CPU.
See also: https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#scheduling-record
Defined at line 763 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0, RefType thread_type>zx_status_t WriteLogRecord (Writer * writer, uint64_t event_time, const ThreadRef<thread_type> & thread_arg, const char * log_message, size_t log_message_length)Write a Log Record using the given Writer
Describes a message written to the log at a particular moment in time.
https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#log-record
Defined at line 791 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename Writer, internal::EnableIfWriter<Writer> = 0, RefType category_type, RefType name_type, RefType thread_type, ArgumentType... arg_types, RefType... arg_name_types, RefType... arg_val_types>zx_status_t WriteLargeBlobRecordWithMetadata (Writer * writer, uint64_t timestamp, const StringRef<category_type> & category_ref, const StringRef<name_type> & name_ref, const ThreadRef<thread_type> & thread_ref, const void * data, size_t num_bytes, const Argument<arg_types, arg_name_types, arg_val_types> &... args)Write a Large BLOB Record with Metadata using the given Writer
This type contains the blob data and metadata within the record itself. The
metadata includes a timestamp, thread/process information, and arguments, in
addition to a category and name. The name should be sufficient to identify
the type of data contained within the blob.
https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#in_band_large_blob_record_with_metadata_blob_format_0
Defined at line 821 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h
-
template <typename Writerinternal::EnableIfWriter<Writer> = 0RefType category_typeRefType name_type>zx_status_t WriteLargeBlobRecordWithNoMetadata (Writer * writerconst StringRef<category_type> & category_refconst StringRef<name_type> & name_refconst void * datasize_t num_bytes)Write a Large BLOB Record without Metadata using the given Writer
This type contains the blob data within the record itself, but does not
include metadata. The record only contains a category and name.
The name should be sufficient to identify the type of data contained within the blob.
https://fuchsia.dev/fuchsia-src/reference/tracing/trace-format#in_band_large_blob_record_no_metadata_blob_format_1
Defined at line 863 of file ../../src/performance/lib/fxt/include/lib/fxt/serializer.h