Propagation
There are two propagation paths.
HTTP boundaries use Effect's HttpTraceContext module, which reads and writes standard tracing headers:
- W3C
traceparent - B3 single-header
b3 - B3 multi-header
x-b3-*
WebSocket messages and browser worker-runner messages use a small Liminal trace envelope:
{
traceId: string
spanId: string
sampled: boolean
}That envelope appears on protocol messages that need per-message causality:
F.Payload.tracefor client-to-actor method callsEvent.tracefor actor-to-client events
This mirrors Effect RPC's socket propagation strategy: the sender includes the current span identity in the message envelope, and the receiver turns it back into an external parent span.