#[non_exhaustive]
pub enum Sampler {
AlwaysOn,
AlwaysOff,
ParentBased(Box<dyn ShouldSample + 'static, Global>),
TraceIdRatioBased(f64),
}
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
AlwaysOn
Always sample the trace
AlwaysOff
Never sample the trace
ParentBased(Box<dyn ShouldSample + 'static, 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
sourceimpl ShouldSample for Sampler
impl ShouldSample for Sampler
sourcefn should_sample(
&self,
parent_context: Option<&Context>,
trace_id: TraceId,
name: &str,
span_kind: &SpanKind,
attributes: &OrderMap<Key, Value, RandomState>,
links: &[Link],
instrumentation_library: &InstrumentationLibrary
) -> SamplingResult
fn should_sample(
&self,
parent_context: Option<&Context>,
trace_id: TraceId,
name: &str,
span_kind: &SpanKind,
attributes: &OrderMap<Key, Value, RandomState>,
links: &[Link],
instrumentation_library: &InstrumentationLibrary
) -> SamplingResult
Returns the SamplingDecision
for a Span
to be created. Read more
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
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more