[][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");

Methods

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> Send for Tracer<S, T> where
    S: Send + Sync,
    T: Send

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

impl<S, T> Unpin for Tracer<S, T>

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

impl<S, T> RefUnwindSafe for Tracer<S, T> where
    S: RefUnwindSafe

Blanket Implementations

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

impl<T> From<T> for 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<T> Borrow<T> for T where
    T: ?Sized
[src]

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

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

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