Skip to content

feat: [pubsub] add W3C Baggage support #8048

Open
aris-cub wants to merge 4 commits intogoogleapis:mainfrom
aris-cub:feat/pubsub-baggage-propagation
Open

feat: [pubsub] add W3C Baggage support #8048
aris-cub wants to merge 4 commits intogoogleapis:mainfrom
aris-cub:feat/pubsub-baggage-propagation

Conversation

@aris-cub
Copy link
Copy Markdown

@aris-cub aris-cub commented Apr 14, 2026

add W3C Baggage support

Fixes #8046

The telemetry-tracing module only propagates W3C Trace Context (traceparent/tracestate) but not W3C Baggage. This prevents downstream consumers from receiving arbitrary key-value metadata through Pub/Sub messages, which is needed for use cases like message routing and queue splitting.

Uses CompositePropagator to combine W3CTraceContextPropagator and W3CBaggagePropagator. No new dependencies required — both are already in @opentelemetry/core.
- Add baggage key to `containsSpanContext`
- Use `context.with()` in injection test
@google-cla
Copy link
Copy Markdown

google-cla Bot commented Apr 14, 2026

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@aris-cub
Copy link
Copy Markdown
Author

Hi @shivanee-p and @feywind , could you take a look at this when you get a chance?

This adds W3C Baggage propagation support for Pub/Sub (related to #8046). I'm happy to address any feedback you might have!

retain propagation context to prevent dropping baggage

- Store context on message and activate for user callbacks.
- Rename containsSpanContext to containsPropagationContext.
- Update copyright year.
@aris-cub
Copy link
Copy Markdown
Author

aris-cub commented Apr 26, 2026

Hi @pearigee, @hongalex,@feywind and @googleapis/pubsub-team — following up on this PR.

We're building Pub/Sub support in mirrord and the companion PR is ready to ship: metalbear-co/mirrord#4164. Mirrord lets developers run a local process as if it were running in their Kubernetes cluster, and uses W3C Baggage (mirrord-session=<user>) to route messages to the right developer's local subscriber during a shared-cluster debug session. Without baggage propagation in the subscriber callback path, Pub/Sub messages can't be routed per-developer, which is the last blocker for shipping Pub/Sub support to our users — many of whom are Google Cloud Pub/Sub customers.

This PR is the small, additive change that unlocks that integration (linked issue #8046).

Thanks for taking a look!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add W3C Baggage support in telemetry-tracing

1 participant