What Baggage Is
Baggage is user defined key value data that propagates alongside the trace context, but unlike trace ids it carries your business context. Think tenant id, request priority, or feature flag.
How It Differs From Attributes
- Attributes stay on a single span and do not travel.
- Baggage rides the whole request and is readable by every downstream service.
A service deep in the call chain can read baggage set at the edge without the calling service threading it through every function argument.
The Cautions
Baggage is powerful but has costs:
- It travels in headers, so large baggage inflates every request.
- It is not encrypted by default, so never put secrets in it.
- Downstream services can read it, so treat it as shared and public within the system.
Key idea
Baggage propagates user defined business context across the whole request, letting deep services read edge data, at the cost of header size and no built in privacy.