Expand description
What a timeline says, read the same way by every reader (ADR 0058, decisions 9 and 10): a frame’s phases, the path from an input to the screen, a verdict on why it lagged, the runs of frames with no input, and the recording grouped by span, by origin and by what its gaps held.
Structs§
- Burn
- A run of frames with no input: indices into the timeline’s frames.
- Gaps
- What the gaps between frames held, summed over the timeline, µs.
- Input
Path - The path from the first input frame
ianswers to the driver’s present record, in timeline µs. This does not measure physical display. - Phases
- A frame’s time by phase, µs.
- Placement
Stat - A component kind’s placements over the timeline: how many, how many replayed, and the rest by answer and reason, the most first.
- Span
Stat - A span name’s spread over frames: calls, total, self, worst, and CPU where read.
Enums§
- Verdict
- Why a frame lagged, the first that holds (ADR 0058, decision 9).
Constants§
- BUILD
- The core’s own spans (origin
Origin::Kui) and the drivers’. - BURN_
FRAMES - A burn: at least this many frames…
- BURN_
GAP_ US - …each within this of the one before (µs), with no input among them.
- DEVTOOLS
- EMIT
- FILL
- An extension’s fill is
fill <namespace>. - HANDLER
- A driver’s call into the app’s event handler (origin
Origin::Host). - INPUT_
CAUSES - The frame-cause kinds that are input: a run of frames with none of them is a burn.
- LAYOUT
- REPLAYED
- A placement’s answer when its last fill was pushed again.
Traits§
- NameOf
- Something that turns a name id into its string: a
crate::Traceor a writer’scrate::Names.
Functions§
- burns
- Every burn:
BURN_FRAMESframes or more, each beginning withinBURN_GAP_USof the one before, none answering input. - by_
origin - Self time by origin — the host, each extension, kui — the most first.
- by_span
- Every span of the timeline, grouped by name and origin, the most total first.
- counters
- Each counter’s average a frame and its most, by name. A frame that recorded no value for a counter counts as 0 — the core writes a counter only where it moved — so a glyph rasterized once in a hundred frames averages 0.01, not 1.
- gaps
- gaps_in
- Gaps preceding selected original frame indices. A sliced population keeps the original preceding gap, rather than treating its first frame as frame 0.
- gauges
- Each gauge’s last, least and most, by name.
- input_
path - Frame
i’s input path, when an input arrived in its gap. - phases
- Frame
i’s phases: the core’s spans inside it, the handlers in its gap, the driver’s present. - placements
- Every placement of the timeline, grouped by component kind, the most drawn fresh first.
- spread
(avg, p95, max)ofv; zeros for none.- verdict
- Frame
i’s verdict againstbudgetµs;burnsfromburns.