Enum opentelemetry::sdk::trace::Sampler
source · pub enum Sampler {
AlwaysOn,
AlwaysOff,
ParentBased(Box<dyn ShouldSample, Global>),
TraceIdRatioBased(f64),
}
Available on crate feature
trace
only.Expand description
Default Sampling options
The built-in samplers allow for simple decisions. For more complex scenarios consider
implementing your own sampler using ShouldSample
trait.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
AlwaysOn
Always sample the trace
AlwaysOff
Never sample the trace
ParentBased(Box<dyn ShouldSample, Global>)
Respects the parent span’s sampling decision or delegates a delegate sampler for root spans.
TraceIdRatioBased(f64)
Sample a given fraction of traces. Fractions >= 1 will always sample. If the parent span is
sampled, then it’s child spans will automatically be sampled. Fractions < 0 are treated as
zero, but spans may still be sampled if their parent is.
Note: If this is used then all Spans in a trace will become sampled assuming that the
first span is sampled as it is based on the trace_id
not the span_id
Trait Implementations§
source§impl ShouldSample for Sampler
impl ShouldSample for Sampler
source§fn should_sample(
&self,
parent_context: Option<&Context>,
trace_id: TraceId,
name: &str,
span_kind: &SpanKind,
attributes: &OrderMap<Key, Value, RandomState>,
links: &[Link]
) -> SamplingResult
fn should_sample( &self, parent_context: Option<&Context>, trace_id: TraceId, name: &str, span_kind: &SpanKind, attributes: &OrderMap<Key, Value, RandomState>, links: &[Link] ) -> SamplingResult
Auto Trait Implementations§
impl !RefUnwindSafe for Sampler
impl Send for Sampler
impl Sync for Sampler
impl Unpin for Sampler
impl !UnwindSafe for Sampler
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more