-
Notifications
You must be signed in to change notification settings - Fork 889
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
Add JaegerRemoteSampler spec #2222
Add JaegerRemoteSampler spec #2222
Conversation
cc @bhautikpip as well |
There's discussion in the Otel Sampling SIG about aligning on an OTel native remote sampler, and as a user I'd still want to see that happen as I'm looking for features like matching Samplers to any attributes instead of just service and operation name. But I see this as a way to help Jaeger users transition to OTel; while addressing the need to evolve remote sampling to enable more fine grained control can continue to happen. |
+1. This effort is mostly to enable migration. I do agree that more generic remote sampling is needed in the long run. |
This PR was marked stale due to lack of activity. It will be closed in 7 days. |
Can somebody merge the PR? The GH actions bot wants to close it |
@pavolloffay would merging it introduce a contradiction since OTEL has no rate limiting sampler? |
I don't mind this contradiction. In the terminology of #2047, RateLimited is some sort of non-probability Sampler and not very specific. I understand that often RateLimited is implemented by a LeakyBucket sampler, which has 2 (?) parameters. Perhaps replace "RateLimited" by "rate-limited" and file an issue to define the LeakyBucket rate-limited sampler in a future iteration? |
Seems reasonable. I do think implementing rate limiter will be needed, especially to guarantee minimal level of sampling of rare endpoints, so this would be an added requirement for SDKs that want to support Jaeger's remote sampling policy format.
the algorithm has two parameters, but the sampler usually has only one, the rate of traces / sec sampled (could be fractional). |
Left a non-blocking comment, otherwise LGTM |
#1769 is the issue for a rate limiting sampler. My impression from the thread is it was rejected for addition to OTel since it doesn't support probabilistic sampling 😃 |
Right. Probability sampling is preferable to non-probability sampling. Speaking as a vendor, we are not interested in receiving sampled spans without being able to count them. #2047 specifies how to mix these two kinds of Sampler, and I consider this to admit specifications for non-probability samplers when it merges. When that happens, the user that @yurishkuro describes, who wants to combine probability sampling with a minimum-rate could have options: (a) A leaky bucket sampler (for minimum-rate sampling) composed with a probability sampler (for Span-to-metrics) Given these choices, I'd choose (b) and I expect the complexity of the adaptive logic to be less than the complexity of the leaky bucket algorithm. This is why I suggested we write "rate-limited" instead of naming a specific algorithm, because naming a specific algorithm requires, well, specifying it. Do you want to write the specification for LeakyBucket? I'd prefer to write the adaptive sampler specification. |
@pavolloffay This PR needs to be updated ;( |
cc73430
to
65e3ad5
Compare
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
Signed-off-by: Pavol Loffay <p.loffay@gmail.com>
65e3ad5
to
5e1652d
Compare
@carlosalberto PR rebased and renamed |
* Add JaegerRemoteSampler spec Signed-off-by: Pavol Loffay <p.loffay@gmail.com> * rename to rate-limited Signed-off-by: Pavol Loffay <p.loffay@gmail.com> Co-authored-by: Joshua MacDonald <jmacd@users.noreply.github.com>
Signed-off-by: Pavol Loffay p.loffay@gmail.com
This PR defines
JaegerRemoteSampler
it is basically a follow-up after #1791.Jaeger remote sampler is already available in:
cc) @jmacd @carlosalberto @willarmiros
Changes