jaegertracing / jaeger-idl

A set of shared data model definitions used by Jaeger components.
http://jaegertracing.io/
Apache License 2.0
82 stars 74 forks source link

[Feature]: Request more fine-grained control for remote sampling #106

Open garrettlish opened 2 months ago

garrettlish commented 2 months ago

Requirement

As a Jaeger remote sampling protocol user, I want more fine-grained control for remote sampling so that we can enforce sampling for a particular user session.

Problem

The PerOperationSampler provides operation-level customized sampling probabilities but lacks support for more fine-grained control, such as adjusting sampling probabilities based on specific tag key-value pairs (see sampling.proto).

For instance, in a real-world scenario, we might want to enforce sampling for a particular user session by customizing sampling probabilities based on specific tag key-value pairs.

Proposal

Introduce a tag key-value pair in OperationSamplingStrategy to enable fine-grained control for remote sampling.

Open questions

No response

yurishkuro commented 2 months ago

This isn't a Jaeger issue anymore - just extending the schema is not enough, the OTEL SDKs need to understand the more complex partitioning. There are some PRs in OTEL that are trying to address having more flexible sampling expressions, but none of them were merged iirc.

garrettlish commented 1 month ago

Thanks @yurishkuro, filed https://github.com/open-telemetry/opentelemetry-go-contrib/issues/6127 in open-telemetry community