Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Sampling Seed Propagation #735

Open
lcian opened this issue Feb 3, 2025 · 0 comments
Open

Implement Sampling Seed Propagation #735

lcian opened this issue Feb 3, 2025 · 0 comments

Comments

@lcian
Copy link
Member

lcian commented Feb 3, 2025

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:

  • read the incoming sample_rand or create one
  • make a sampling decision based on the sample_rand
  • send the sample_rand as part of the DSC in envelopes
  • update traces_sampler to pass the parent_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

@lcian lcian self-assigned this Feb 3, 2025
@lcian lcian changed the title Sampling Seed in DSC Implement Sampling Seed Propagation Feb 3, 2025
@lcian lcian removed their assignment Feb 18, 2025
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

No branches or pull requests

1 participant