open-telemetry / opentelemetry-specification

Specifications for OpenTelemetry
https://opentelemetry.io
Apache License 2.0
3.71k stars 887 forks source link

Implement Adaptive Sampling #691

Open ayusheesingh-zz opened 4 years ago

ayusheesingh-zz commented 4 years ago

Implement adaptive sampling for OpenTelemetry, where customers can set a max number of telemetry items per second and the sampling rate will adjust accordingly.

hdost commented 3 years ago

Is this something that would occur in the API side or more likely the SDK/Exporter side. Example: https://www.jaegertracing.io/docs/1.26/sampling/

yurishkuro commented 2 years ago

FYI https://medium.com/jaegertracing/adaptive-sampling-in-jaeger-50f336f4334

tqi-raurora commented 8 months ago

@yurishkuro The issue we have with setting up adaptative sampling in jaeger is that it requires the otel agents or jaeger clients (the later I understand are deprecated) to set up the configuration JAEGER_SAMPLER_TYPE=remote

As we have hundreds of agents set up by different teams, we can't ensure that everyone will set up JAEGER_SAMPLER_TYPE correctly

Now, if we had adaptative sampling centralized on the Otel Collector, it would ensure everyone is under the same sampling strategy.

An idea: Maybe it could even be a processor in the collector that talks to the jaeger /api/sampling endpoint to get sampling policies?