opentelemetry-java-contrib/consistent-sampling/README.md

32 lines
2.1 KiB
Markdown

# Consistent sampling
This component adds various Sampler implementations for consistent sampling as defined by
https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/tracestate-probability-sampling.md
and https://github.com/open-telemetry/opentelemetry-specification/pull/2047.
* **ConsistentSampler**:
abstract base class of all consistent sampler implementations below
* **ConsistentAlwaysOffSampler**:
see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/tracestate-probability-sampling.md#always-off-sampler
* **ConsistentAlwaysOnSampler**:
see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/tracestate-probability-sampling.md#always-on-consistent-probability-sampler
* **ConsistentComposedAndSampler**:
allows combining two consistent samplers and samples when both samplers would sample
* **ConsistentComposedOrSampler**:
allows combining two consistent sampler and samples when at least one of both samplers would sample,
see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/tracestate-probability-sampling.md#requirement-combine-multiple-consistent-probability-samplers-using-the-minimum-p-value
* **ConsistentParentBasedSampler**:
see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/tracestate-probability-sampling.md#parentconsistentprobabilitybased-sampler
* **ConsistentProbabilityBasedSampler**:
see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/tracestate-probability-sampling.md#consistentprobabilitybased-sampler
* **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
## Component owners
- [Otmar Ertl](https://github.com/oertl), Dynatrace
- [Peter Findeisen](https://github.com/PeterF778), Cisco
Learn more about component owners in [component_owners.yml](../.github/component_owners.yml).