Enum opentelemetry_sdk::trace::Sampler
source · #[non_exhaustive]pub enum Sampler {
AlwaysOn,
AlwaysOff,
ParentBased(Box<dyn ShouldSample>),
TraceIdRatioBased(f64),
}
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>)
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
Auto Trait Implementations§
impl Freeze for Sampler
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)