Summary
Add an optional W3C Trace Context carrier to Envelope so Swift and Python consumers can join work into one distributed trace. Existing message_id and correlation_id remain protocol-level identifiers.
Proposed change
- Define a small trace-context message containing
traceparent and optional tracestate.
- Add it as optional envelope metadata without changing existing field numbers.
- Treat missing or invalid context as absent; never reject an otherwise valid envelope.
- Regenerate the committed Swift and Python protobuf outputs.
Out of scope
- OTel manifest or custom semantic conventions.
- SDK instrumentation, exporters, Collector configuration, metrics, or logs.
- Creating one span per envelope or token event.
- W3C baggage propagation.
Acceptance criteria
Downstream Swift and Python instrumentation will be tracked separately.
References: OpenTelemetry context propagation · W3C Trace Context
Summary
Add an optional W3C Trace Context carrier to
Envelopeso Swift and Python consumers can join work into one distributed trace. Existingmessage_idandcorrelation_idremain protocol-level identifiers.Proposed change
traceparentand optionaltracestate.Out of scope
Acceptance criteria
npm run bootstrap:checkpasses.Downstream Swift and Python instrumentation will be tracked separately.
References: OpenTelemetry context propagation · W3C Trace Context