Skip to main content

Module trace

Module trace 

Source
Expand description

The protocol event trace (FLINT_SYNC_EVENT_TRACE=1, or spec.eventTrace on a deployed workspace).

One JSON line per protocol step — each consume, upload outcome, claim poll, observed-citation re-read, merge, CAS, GC delete, queue write, release, fence, ack and sync — so that when several writers share a workspace and something goes wrong, the interleaving can be rebuilt from the evidence instead of re-run. A race that fails once on a live rig may not fail again. The line format is pinned in lean/e2e/writers-live/README.md §2: every line starts {"ts_ms":, then mono_ms, holder, ev, then the event’s own fields.

Off by default. On, it costs a formatted line per step on stderr and, for the holder id, one small local read per event. A writer that has not claimed yet has no lease to name it, so the trace mints (and persists) the pod’s incarnation the way the first claim would: without that, a pod’s first barrier — its consume, scan and uploads — carried holder: null and could not be joined to its own commit.

Enums§

Sink
Where trace lines go.

Functions§

line
Format one trace line. fields must be a JSON object; its keys follow the common prefix in the order serde_json emits them.