Class ParentBasedSampler
Defined in File parent.h
Inheritance Relationships
Base Type
public opentelemetry::sdk::trace::Sampler(Class Sampler)
Class Documentation
-
class ParentBasedSampler : public opentelemetry::sdk::trace::Sampler
The ParentBased sampler is a composite sampler that delegates sampling decisions based on the parent span’s context.
The decision is delegated to one of five configurable samplers:
No parent exists (root span): delegates to
root sampler.A remote parent exists and was sampled: delegates to
remote_parent_sampled_sampler(default to AlwaysOnSampler).A remote parent exists and was not sampled: delegates to
remote_parent_nonsampled_sampler(default to AlwaysOffSampler).A local parent exists and was sampled: delegates to
local_parent_sampled_sampler(default to AlwaysOnSampler).A local parent exists and was not sampled: delegates to
local_parent_nonsampled_sampler(default to AlwaysOffSampler).
Public Functions
-
virtual SamplingResult ShouldSample(const opentelemetry::trace::SpanContext &parent_context, opentelemetry::trace::TraceId trace_id, nostd::string_view name, opentelemetry::trace::SpanKind span_kind, const opentelemetry::common::KeyValueIterable &attributes, const opentelemetry::trace::SpanContextKeyValueIterable &links) noexcept override
Implements the decision logic by checking the parent context and delegating to the appropriate configured sampler
- Returns:
The SamplingResult from the delegated sampler
-
virtual nostd::string_view GetDescription() const noexcept override
- Returns:
Description MUST be ParentBased{delegate_sampler_.getDescription()}