API ReferencePlatform & Testing
Diagnostics
Scheduler, frame, GPU, window, and subsystem counters.
Machine-readable aggregates for overlays, DevTools, and telemetry (see
Testing for the workflow).
| Snapshot | Key fields |
|---|---|
SchedulerCounters | signal_reads/writes, dependents_enqueued, frames started/presented/skipped |
BudgetStatistics | Refresh rate, budget µs, over-budget frames, longest frame |
FrameStatistics | Samples, latest/mean/min/max, p50/p95/p99 µs |
FrameHistory | [300,1000]-capacity ring; push, latest, statistics |
GpuSample | supported, frame, main-pass µs |
RenderFrameMetrics | Draw calls, passes, triangles, upload bytes, encode/submit µs |
PerformanceSnapshot | Scheduler + budget + fps + windows + widget/text/accessibility work; overlay_lines() |
PerformanceHub | Observable latest snapshot; snapshot(), publish(), version() |
WindowDiagnostics | Sizes, lifecycle, frames, input events, elements, capabilities, last error |
ApplicationDiagnostics | Windows created/closed/active, stale commands |
RuntimeDiagnostics | Task spawn/complete/cancel/panic counts, UI queue stats |
RuntimeEnvironment | Normalized viewport/scale/locale/input snapshot |
FocusDiagnostics / EditingDiagnostics | Focused element, key/IME counters |
SemanticsDiagnostics | Node create/update/remove, revisions dirty signal |
AccessibilityDiagnostics | Adapter, tree-update, action, focus counters |
ChangeImpact: None (default) / Composite / Paint / Layout / Build
— the invalidation scope a property change requires. Invalidation is the
multi-phase damage bitmask (BUILD / LAYOUT / PAINT / COMPOSITE /
SEMANTICS / HIT_TEST); DirtyFlags aliases it.
RuntimeErrorReport { failure: TaskFailure } carries runtime failures for
logging/telemetry (panics never unwind to the native loop).
Related: Testing,
MediaQuery.