From a00f83213c9da1aef1da5c92aa40d6760e39f70b Mon Sep 17 00:00:00 2001 From: Peter Findeisen Date: Wed, 16 Oct 2024 15:36:22 -0700 Subject: [PATCH 1/2] Updating the README file --- consistent-sampling/README.md | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/consistent-sampling/README.md b/consistent-sampling/README.md index 68ac6ac68..7de2c4d03 100644 --- a/consistent-sampling/README.md +++ b/consistent-sampling/README.md @@ -1,8 +1,15 @@ # Consistent sampling -This component adds various Sampler implementations for consistent sampling as defined by +There are two major components included here. + +## Original proposal implementation + +The original specification for consistent probability sampling is defined by and . +It supports sampling probabilities that are power of 2 (1, 1/2, 1/4, ...), and uses 8-bit `r-value` and 8-bit `p-value` in tracestate. + +The implementation of this proposal is contained by the package `io/opentelemetry/contrib/sampler/consistent` in this repository and provides various Sampler implementations. * **ConsistentSampler**: abstract base class of all consistent sampler implementations below @@ -23,6 +30,32 @@ and . a rate limiting sampler based on exponential smoothing that dynamically adjusts the sampling probability based on the estimated rate of spans occurring to satisfy a given rate of sampled spans +## Current proposal implementation + +The current version of the specification for consistent probability sampling is described by +. +It uses **56** bits for representing _rejection threshold_, which corresponds to a much wider range of sampling probabilities than the original proposal. + +The implementation of the current proposal is contained by the package `io/opentelemetry/contrib/sampler/consistent56` in this repository and provides implementation for a number of different Samplers. + +* **ConsistentSampler** + abstract base class for all consistent sampler implementations +* **ComposableSampler**: + interface used to build hierarchies of Samplers, see [Composite Samplers](https://github.com/open-telemetry/oteps/pull/250) +* **ConsistentAlwaysOffSampler**: +* **ConsistentAlwaysOnSampler**: +* **ConsistentAnyOfSampler**: + allows combining several consistent samplers; it samples when at least one of them would sample, +* **ConsistentParentBasedSampler**: +* **ConsistentFixedThresholdSampler**: + consistent probability sampler that uses a predefined sampling probability +* **ConsistentRateLimitingSampler**: + a rate limiting sampler based on exponential smoothing that dynamically adjusts the sampling + probability based on the estimated rate of spans occurring to satisfy a given rate of sampled spans +* **ConsistentRuleBasedSampler** + a sampler that performs stratified sampling by evaluating qualifying conditions and propagating the sampling decision from one of its delegate samplers + + ## Component owners - [Otmar Ertl](https://github.com/oertl), Dynatrace From 044a18f360cf52d845e2213aaa8528a7e73d77c1 Mon Sep 17 00:00:00 2001 From: Peter Findeisen Date: Wed, 16 Oct 2024 15:40:52 -0700 Subject: [PATCH 2/2] Addressing markdown-lint issues. --- consistent-sampling/README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/consistent-sampling/README.md b/consistent-sampling/README.md index 7de2c4d03..4f848eb3a 100644 --- a/consistent-sampling/README.md +++ b/consistent-sampling/README.md @@ -55,7 +55,6 @@ The implementation of the current proposal is contained by the package `io/opent * **ConsistentRuleBasedSampler** a sampler that performs stratified sampling by evaluating qualifying conditions and propagating the sampling decision from one of its delegate samplers - ## Component owners - [Otmar Ertl](https://github.com/oertl), Dynatrace