-
Notifications
You must be signed in to change notification settings - Fork 896
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
Incomplete example implementation of naive reservoir sampling algorithm #2205
Closed
Tracked by
#3756
Labels
Comments
4 tasks
This is a good call out, by simplification was, partially, on purpose, assuming high-load on measurements. However, the version you list is better for low-volume instruments. We should update the example. In practice, the important aspect of this sampler is that the likelihood of sampling changes as more measurement are seen. |
8 tasks
jsuereth
added a commit
to jsuereth/opentelemetry-specification
that referenced
this issue
Nov 10, 2023
…nitial reservoir fill.
jmacd
added a commit
that referenced
this issue
Dec 1, 2023
Fixes #2205 Fixes #3674 Fixes #3669 Partially fixes #2421 ## Changes - Update example exemplar algorithm to account for initial reservoir fill - Update fixed-size defaults to account for memory contention / optimization in Java impl - Set a default for exponential histogram aggregation - Clarify that ExemplarFilter should be configured on MeterProvider - Make it clear that ONE reservoir is create PER timeseries datapoint (not one reservoir per view or metric name). - Allow flexibility in Reservoir `offer` definition based on feedback from Go impl. * Related issues #3756 --------- Co-authored-by: David Ashpole <dashpole@google.com> Co-authored-by: Joshua MacDonald <jmacd@users.noreply.github.com>
carlosalberto
pushed a commit
to carlosalberto/opentelemetry-specification
that referenced
this issue
Oct 31, 2024
…n-telemetry#3760) Fixes open-telemetry#2205 Fixes open-telemetry#3674 Fixes open-telemetry#3669 Partially fixes open-telemetry#2421 ## Changes - Update example exemplar algorithm to account for initial reservoir fill - Update fixed-size defaults to account for memory contention / optimization in Java impl - Set a default for exponential histogram aggregation - Clarify that ExemplarFilter should be configured on MeterProvider - Make it clear that ONE reservoir is create PER timeseries datapoint (not one reservoir per view or metric name). - Allow flexibility in Reservoir `offer` definition based on feedback from Go impl. * Related issues open-telemetry#3756 --------- Co-authored-by: David Ashpole <dashpole@google.com> Co-authored-by: Joshua MacDonald <jmacd@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
In exemplar defaults the SimpleExemplarReservoir is defined as:
Reading the article, it seems like the implementation given here is incorrect or at least incomplete. For the first
n
elements wheren
is the size of the reservoir the exemplar should be offered to bucketn-1
. Only after the reservoir is full should exemplars be sampled by generating the random number.A more complete example might be:
The text was updated successfully, but these errors were encountered: