tiny.tracy
Overview · API · Code relationships · Verification · Audit
Overview
The package instruments a running program, writes what it observes as a trace, and analyzes those traces afterwards. A caller wants timing from inside a running program, including from a program that must keep running long past the point where a full trace would be too large to keep.
A call opens a named region of a thread's execution, closed by the returned value's end, as a zone. Another call ends one frame of a repeating workload as a frame mark. A call samples a named numeric series over time as a plot, with further calls reporting locks, GPU spans, fibers, context switches, memory operations, and messages. With build_options.enabled set to false, each of those calls answers immediately with an empty value, so a build that leaves the call sites in place carries no tracing work.
An active runtime writes its events to a std.Io.Writer the caller passes to start, and this sequence of events is the trace stream. A ring buffer standing in for that writer is a flight recorder: it takes fixed caller buffers, keeps the most recent events, and writes the retained ones out on demand when asked for a snapshot. The overflow policy decides what a full recorder does with a new event, either overwrite the oldest event or stop accepting. A snapshot answers with a report counting the events observed, stored, retained, overwritten, dropped, and oversized. A caller halts the runtime with stop before taking a snapshot or resetting a recorder, which leaves the ring holding whole events.
The analyzer reads a captured stream and reports summaries, frames against a budget, flame graphs, and comparisons between two captures.
Definitions
Actions
Public operations.
lockableAtsharedLockableAtstartstopzoneAtzoneColorAtallocallocNamedappInfocontextSwitchcpuTopologyframeMarkframeMarkNamedfreefreeNamedfreeSizedfreeSizedNamedgpuContexthardwareSampleisConnectedmessagenamedAllocatornewFibernewFiberHintnewFiberNamednewFiberNamedHintplotplotConfigplotFloatplotIntsamplesampleKindsampleStacksampleStackWeightedsampleWeightedsetThreadNamesystemPowersystemTimethreadContextthreadPidthreadWakeuptracedAllocatorzonelockablesharedLockablezoneColor
Types and contracts
Public types and contracts.
FlightOverflowPolicyContextSwitchOptionsCpuTopologyFiberFileGpuContextGpuContextOptionsGpuContextTypeGpuZoneHardwareSampleKindLockPlotConfigPlotUnitSampleFrameSampleKindStartOptionsThreadWakeupOptionsTracedAllocatorZoneFlightReportFlightRecorder
Namespaces
Public namespaces.
reporteventclitransportrecordcapturetreegpumemoryplotscontextlocksframefiberssamplessystemcsvmessagessummaryflamefindsourcestatstimelineflightcompare
Values and defaults
Public values and defaults.
Code relationships
Direct static dependencies extracted from parsed source by semantic graph analysis.
Uses: tiny.bumpalo, tiny.pretty, tiny.sys, tiny.tldr
Used by: tiny.bench, tiny.choir, tiny.profiling, tiny.sql
Verification
No verification records are cataloged for this module in this build.
Audit
| Evidence | Value |
|---|---|
| Source | lib/tracy/src/root.zig |
| Definitions | 0 of 94 documented |
| Members | 0 of 0 documented |
| Public names | 94 API, 665 indexed |
| Version | 26.7.0 |
| Revision | daab053ee433 |
| Unresolved targets | 1 |