Baggage

This file tracks compliance for the OpenTelemetry baggage specification in this repository.

Scope

Module mapping

baggage/api.md checklist

Area Requirement Status Evidence Notes
Baggage container Immutable container of name/value pairs Compliant Baggage.scala, BaggageSuite.scala updated/removed return new instances
Names/values Accept any UTF-8, case-sensitive; do not restrict names Partial Baggage.scala No validation; UTF-8 acceptance not explicitly enforced or documented
Get value API to get value by name (null/None if absent) Compliant Baggage.scala, BaggageSuite.scala get returns Option
Get all values API to enumerate all entries (order not significant) Compliant BaggageSuite.scala, BaggageSuite.scala asMap
Set value API to set name/value (optional metadata) Compliant Baggage.scala, BaggageSuite.scala, BaggageSuite.scala Overloads support optional metadata and update by key.
Remove value API to remove name/value Compliant Baggage.scala, BaggageSuite.scala Removal API is exposed and implemented by map key removal.
No-SDK behavior API functional without SDK Partial Baggage.scala, BaggageManager.scala Baggage is pure; BaggageManager.noop exists; propagation requires SDK
Context interaction Extract Baggage from Context Not Implemented SdkBaggageManager.scala, SdkBaggageManager.scala No explicit Context API in core for baggage extract/attach
Context interaction Insert Baggage into Context Not Implemented SdkBaggageManager.scala No explicit Context API in core for baggage extract/attach
Implicit context Get current Baggage from implicit Context Partial SdkBaggageManager.scala, SdkBaggageManager.scala Provided via BaggageManager + LocalContext
Implicit context Set current Baggage into implicit Context Partial SdkBaggageManager.scala scope/local exist; no explicit Context API
Clear baggage Ability to clear all baggage from Context Partial SdkBaggageManager.scala Use scope(Baggage.empty); no explicit helper
Propagation W3C Baggage TextMapPropagator available Compliant W3CBaggagePropagator.scala, W3CBaggagePropagator.scala Included in default propagators
Conflict resolution New entry replaces existing same name Compliant Baggage.scala, BaggageSuite.scala Map.updated overwrites

Cross-cutting specs