Skip to content

Conversation

@tduncan
Copy link

@tduncan tduncan commented May 30, 2025

This PR defines how a trace should be selected for snapshotting and how that selection decision should be propagated to other agents.

@tduncan tduncan requested review from a team as code owners May 30, 2025 22:28

### Context Propagation

The trace snapshot volume MUST be propagated using the OpenTelemetry [`baggage`](https://opentelemetry.io/docs/concepts/signals/baggage/).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://github.com/signalfx/gdi-specification/blob/main/specification/integration_context.md uses headers to propagate info. Why should we use baggage here?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm unfamiliar with the constraints of that effort but for trace snapshot profiling we utilize the Baggage so the signal will propagate beyond services instrumented with agents that do not have trace snapshotting capabilities.

Is the ask to include the WHY in the document?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the ask to include the WHY in the document?

no, I was just curious why we are using different solutions for a similar problem. Note that with java api users can easily clear existing baggage when using Baggage.builder().put("mybaggage", "foo").build().makeCurrent(); instead of Baggage.current().toBuilder().put("mybaggage", "foo").build().makeCurrent();

cc @breedx-splk

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.

2 participants