Implement Sampling Seed Propagation #735
Labels
area: tracing
Also known as performance monitoring, stuff like transactions and spans
SDK parity
Behavior that other SDKs provide and we are missing or implement differently
To increase the chance of capturing complete traces when users return a new sample rate tracesSampler in backend services, we propagate the random value used by the SDK for computing the sampling decision instead of creating a new random value in every service. Therefore, across a trace every SDK uses the same random value.
Spec
As the Rust SDK is a backend SDK and we currently don't capture any traces for outgoing network requests, we only need to conform to the spec when it comes to the following points:
sample_rand
or create onesample_rand
sample_rand
as part of the DSC in envelopestraces_sampler
to pass theparent_sample_rate
A prerequisite to implement this feature is to support Dynamic Sampling via creating, handling and sending the Dynamic Sampling Context, which is tracked here: #741
The text was updated successfully, but these errors were encountered: