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.
fieldsmust be a JSON object; its keys follow the common prefix in the order serde_json emits them.