← Lessons

quiz vs the machine

Gold1440

System Design

Baggage Propagation

Carrying your own business context alongside the trace so every downstream span can use it.

4 min read · core · beat Gold to climb

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.

Check yourself

Answer to earn rating on the learn ladder.

1. How does baggage differ from a span attribute?

2. Why should you not put secrets in baggage?