[][src]Struct tracing_opentelemetry::OpenTelemetryLayer

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

An OpenTelemetry propagation layer for use in a project that uses tracing.

Implementations

impl<S, T> OpenTelemetryLayer<S, T> where
    S: Subscriber + for<'span> LookupSpan<'span>,
    T: Tracer + PreSampledTracer + 'static, 
[src]

pub fn new(tracer: T) -> Self[src]

Set the Tracer that this layer will use to produce and track OpenTelemetry Spans.

Examples

use tracing_opentelemetry::OpenTelemetryLayer;
use tracing_subscriber::layer::SubscriberExt;
use tracing_subscriber::Registry;

// Create a jaeger exporter pipeline for a `trace_demo` service.
let (tracer, _uninstall) = opentelemetry_jaeger::new_pipeline()
    .with_service_name("trace_demo")
    .install().expect("Error initializing Jaeger exporter");

// Create a layer with the configured tracer
let otel_layer = OpenTelemetryLayer::new(tracer);

// Use the tracing subscriber `Registry`, or any other subscriber
// that impls `LookupSpan`
let subscriber = Registry::default().with(otel_layer);

pub fn with_tracer<Tracer>(
    self,
    tracer: Tracer
) -> OpenTelemetryLayer<S, Tracer> where
    Tracer: Tracer + PreSampledTracer + 'static, 
[src]

Set the Tracer that this layer will use to produce and track OpenTelemetry Spans.

Examples

use tracing_subscriber::layer::SubscriberExt;
use tracing_subscriber::Registry;

// Create a jaeger exporter pipeline for a `trace_demo` service.
let (tracer, _uninstall) = opentelemetry_jaeger::new_pipeline()
    .with_service_name("trace_demo")
    .install().expect("Error initializing Jaeger exporter");

// Create a layer with the configured tracer
let otel_layer = tracing_opentelemetry::layer().with_tracer(tracer);

// Use the tracing subscriber `Registry`, or any other subscriber
// that impls `LookupSpan`
let subscriber = Registry::default().with(otel_layer);

pub fn with_tracked_inactivity(self, tracked_inactivity: bool) -> Self[src]

Sets whether or not spans metadata should include the busy time (total time for which it was entered), and idle time (total time the span existed but was not entered).

Trait Implementations

impl<S> Default for OpenTelemetryLayer<S, NoopTracer> where
    S: Subscriber + for<'span> LookupSpan<'span>, 
[src]

impl<S, T> Layer<S> for OpenTelemetryLayer<S, T> where
    S: Subscriber + for<'span> LookupSpan<'span>,
    T: Tracer + PreSampledTracer + 'static, 
[src]

pub fn new_span(&self, attrs: &Attributes<'_>, id: &Id, ctx: Context<'_, S>)[src]

Creates an OpenTelemetry Span for the corresponding tracing Span.

pub fn on_record(&self, id: &Id, values: &Record<'_>, ctx: Context<'_, S>)[src]

Record OpenTelemetry attributes for the given values.

pub fn on_event(&self, event: &Event<'_>, ctx: Context<'_, S>)[src]

Records OpenTelemetry Event data on event.

Note: an ERROR-level event will also set the OpenTelemetry span status code to Error, signaling that an error has occurred.

pub fn on_close(&self, id: Id, ctx: Context<'_, S>)[src]

Exports an OpenTelemetry Span on close.

Auto Trait Implementations

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

impl<S, T> Send for OpenTelemetryLayer<S, T> where
    S: Send,
    T: Send
[src]

impl<S, T> Sync for OpenTelemetryLayer<S, T> where
    S: Sync,
    T: Sync
[src]

impl<S, T> Unpin for OpenTelemetryLayer<S, T> where
    S: Unpin,
    T: Unpin
[src]

impl<S, T> UnwindSafe for OpenTelemetryLayer<S, T> where
    S: UnwindSafe,
    T: UnwindSafe
[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> FutureExt for T[src]

impl<T> Instrument for T[src]

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

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>,