relay icon indicating copy to clipboard operation
relay copied to clipboard

Accept DSC as item header

Open jjbayer opened this issue 1 year ago • 1 comments

Trace-based sampling decisions take their input from the "trace" envelope header a.k.a. DynamicSamplingContext.

One of the DSC fields in "transaction". For span streaming, SDKs might send multiple spans with different segment names. In order to apply consistent sampling we need to either

  1. Force SDKs to put spans with different DSCs into different envelopes.
  2. Start accepting DSCs as item headers, and use it in the sampling decision (with fallback to envelope header). Because each item's DSC might have a different root project aka trace project aka sampling state, we would need to split up the envelope by root project.

jjbayer avatar Apr 19 '24 07:04 jjbayer

This is required for span streaming but not "span envelopes", so I'm lowering the priority for now.

jjbayer avatar Sep 30 '24 13:09 jjbayer

Currently SDKs are forced to send different envelopes per DSC.

Longterm we can allow the DSC as a local item header, but this is currently not actively planned.

Dav1dde avatar Nov 05 '25 14:11 Dav1dde