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

Refactor tail-sampling processor - Refactor policies #31582

Open
4 tasks
Tracked by #31580
jpkrohling opened this issue Mar 5, 2024 · 7 comments
Open
4 tasks
Tracked by #31580

Refactor tail-sampling processor - Refactor policies #31582

jpkrohling opened this issue Mar 5, 2024 · 7 comments
Assignees
Labels
processor/tailsampling Tail sampling processor

Comments

@jpkrohling
Copy link
Member

jpkrohling commented Mar 5, 2024

  • Create a new pkg/samplingpolicy with the interface
  • Migrate one policy (OTTL) to be an extension
  • Add a new policy to the tail-sampling processor called extensions, which would load the policy extensions
  • Evaluate which other policies need to be migrated

Quite a few of the policies can be replaced by OTTL, while others could be replaced by OTTL if new features are added to it. For instance, the latency policy can't be done yet with OTTL.

@jpkrohling
Copy link
Member Author

@TylerHelmuth, do you think it would be feasible to have a duration func for OTTL, to calculate the latency of a trace?

@jpkrohling jpkrohling added the processor/tailsampling Tail sampling processor label Mar 5, 2024
Copy link
Contributor

github-actions bot commented Mar 5, 2024

Pinging code owners for processor/tailsampling: @jpkrohling. See Adding Labels via Comments if you do not have permissions to add labels yourself.

@TylerHelmuth
Copy link
Member

@jpkrohling you can use OTTL's built-in arithmetic to get a span duration, but doing any function for the entire trace would be tricky. OTTL currently can work on a Span but not a Trace as a whole.

Copy link
Contributor

This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping @open-telemetry/collector-contrib-triagers. If this issue is still relevant, please ping the code owners or leave a comment explaining why it is still relevant. Otherwise, please close it.

Pinging code owners:

See Adding Labels via Comments if you do not have permissions to add labels yourself.

@github-actions github-actions bot added the Stale label May 13, 2024
@jpkrohling jpkrohling self-assigned this May 16, 2024
@jpkrohling jpkrohling removed the Stale label May 16, 2024
@alec-w
Copy link

alec-w commented May 20, 2024

Not sure if this is the right place to ask this but it does tie into the tail based sampling policies...

When making use of the ADOT collector in EKS we're using the remote sampler (which essentially fetches the sampling rules from AWS XRay).

This sampling decision is still head based though.

We'd like to use tail based sampling so we can always record traces for long-running requests (which the current tail-based sampling processor would allow us to do) but use the XRay sampling rules for all other requests (which it wouldn't).

Would the only way to accomplish this be the addition of a new processor? It seems that such a processor would in many ways end up being very similar to this one - so wonder if our thinking is heading in the right direction...

@jpkrohling
Copy link
Member Author

This would likely be a new policy. Under the new architecture after the refactoring, it would be an extension.

Copy link
Contributor

This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping @open-telemetry/collector-contrib-triagers. If this issue is still relevant, please ping the code owners or leave a comment explaining why it is still relevant. Otherwise, please close it.

Pinging code owners:

See Adding Labels via Comments if you do not have permissions to add labels yourself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
processor/tailsampling Tail sampling processor
Projects
None yet
Development

No branches or pull requests

3 participants