[][src]Struct rustracing::Tracer

pub struct Tracer<S, T> { /* fields omitted */ }

Tracer.

Examples

use rustracing::Tracer;
use rustracing::sampler::AllSampler;

let (span_tx, span_rx) = crossbeam_channel::bounded(10);
let tracer = Tracer::with_sender(AllSampler, span_tx);
{
   let _span = tracer.span("foo").start_with_state(());
}
let span = span_rx.try_recv().unwrap();
assert_eq!(span.operation_name(), "foo");

Implementations

impl<S: Sampler<T>, T> Tracer<S, T>[src]

pub fn new(sampler: S) -> (Self, SpanReceiver<T>)[src]

This constructor is mainly for backward compatibility, it has the same interface as in previous versions except the type of SpanReceiver. It builds an unbounded channel which may cause memory issues if there is no reader, prefer with_sender() alternative with a bounded one.

pub fn with_sender(sampler: S, span_tx: SpanSender<T>) -> Self[src]

Makes a new Tracer instance.

pub fn span<N>(&self, operation_name: N) -> StartSpanOptions<'_, S, T> where
    N: Into<Cow<'static, str>>, 
[src]

Returns StartSpanOptions for starting a span which has the name operation_name.

impl<S, T> Tracer<S, T>[src]

pub fn clone_with_sampler<U: Sampler<T>>(&self, sampler: U) -> Tracer<U, T>[src]

Clone with the given sampler.

Trait Implementations

impl<S, T> Clone for Tracer<S, T>[src]

impl<S: Debug, T: Debug> Debug for Tracer<S, T>[src]

Auto Trait Implementations

impl<S, T> RefUnwindSafe for Tracer<S, T> where
    S: RefUnwindSafe
[src]

impl<S, T> Send for Tracer<S, T> where
    S: Send + Sync,
    T: Send
[src]

impl<S, T> Sync for Tracer<S, T> where
    S: Send + Sync,
    T: Send
[src]

impl<S, T> Unpin for Tracer<S, T>[src]

impl<S, T> UnwindSafe for Tracer<S, T> where
    S: RefUnwindSafe
[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,