#[repr(i32)]pub enum BuiltinClock {
Unknown = 0,
Realtime = 1,
RealtimeCoarse = 2,
Monotonic = 3,
MonotonicCoarse = 4,
MonotonicRaw = 5,
Boottime = 6,
Tsc = 9,
Perf = 10,
TraceFile = 11,
MaxId = 63,
}Expand description
Builtin clock domains used in Perfetto traces.
The default trace time clock is BUILTIN_CLOCK_TRACE_FILE: a synthetic clock representing the trace file’s own timeline. Each trace file gets its own instance (scoped by trace file index).
For backwards compatibility, Perfetto proto traces register BOOTTIME as a fallback: if the first timestamp conversion uses a clock other than the trace file clock and no explicit clock snapshot data exists, the trace time is switched to BOOTTIME. This fallback does not fire for modern traces that include ClockSnapshots or that only use the trace file clock directly.
The primary_trace_clock field in ClockSnapshot can definitively override
the trace time clock regardless of the above.
Variants§
Unknown = 0
Realtime = 1
Corresponds to CLOCK_REALTIME. See clock_gettime(2).
RealtimeCoarse = 2
Corresponds to CLOCK_REALTIME_COARSE. See clock_gettime(2).
Monotonic = 3
Corresponds to CLOCK_MONOTONIC. See clock_gettime(2).
MonotonicCoarse = 4
Corresponds to CLOCK_MONOTONIC_COARSE. See clock_gettime(2).
MonotonicRaw = 5
Corresponds to CLOCK_MONOTONIC_RAW. See clock_gettime(2).
Boottime = 6
Corresponds to CLOCK_BOOTTIME. See clock_gettime(2). For proto traces, this is used as a backwards-compatible fallback trace time clock when no explicit clock snapshots are present.
Tsc = 9
TSC (Time Stamp Counter). Architecture-specific high-resolution counter.
Perf = 10
Corresponds to the perf event clock (PERF_CLOCK).
TraceFile = 11
A synthetic clock representing the trace file’s own timeline. Each trace file gets its own instance (scoped by trace file index). This is the default trace time clock before any clock snapshot or format-specific override takes effect.
MaxId = 63
Implementations§
Source§impl BuiltinClock
impl BuiltinClock
Source§impl BuiltinClock
impl BuiltinClock
Sourcepub fn as_str_name(&self) -> &'static str
pub fn as_str_name(&self) -> &'static str
String value of the enum field names used in the ProtoBuf definition.
The values are not transformed in any way and thus are considered stable (if the ProtoBuf definition does not change) and safe for programmatic use.
Trait Implementations§
Source§impl Clone for BuiltinClock
impl Clone for BuiltinClock
Source§fn clone(&self) -> BuiltinClock
fn clone(&self) -> BuiltinClock
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more