Struct tracing_opentelemetry::OpenTelemetryLayer [−][src]
pub struct OpenTelemetryLayer<S, T> { /* fields omitted */ }
Expand description
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]
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]
pub fn new(tracer: T) -> Self
[src]Set the Tracer
that this layer will use to produce and track
OpenTelemetry Span
s.
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 = opentelemetry_jaeger::new_pipeline() .with_service_name("trace_demo") .install_simple() .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]
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 Span
s.
Examples
use tracing_subscriber::layer::SubscriberExt; use tracing_subscriber::Registry; // Create a jaeger exporter pipeline for a `trace_demo` service. let tracer = opentelemetry_jaeger::new_pipeline() .with_service_name("trace_demo") .install_simple() .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]
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> 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]
impl<S, T> Layer<S> for OpenTelemetryLayer<S, T> where
S: Subscriber + for<'span> LookupSpan<'span>,
T: Tracer + PreSampledTracer + 'static,
[src]fn new_span(&self, attrs: &Attributes<'_>, id: &Id, ctx: Context<'_, S>)
[src]
fn new_span(&self, attrs: &Attributes<'_>, id: &Id, ctx: Context<'_, S>)
[src]Creates an OpenTelemetry Span
for the corresponding tracing Span
.
fn on_record(&self, id: &Id, values: &Record<'_>, ctx: Context<'_, S>)
[src]
fn on_record(&self, id: &Id, values: &Record<'_>, ctx: Context<'_, S>)
[src]Record OpenTelemetry attributes
for the given values.
fn on_enter(&self, id: &Id, ctx: Context<'_, S>)
[src]
fn on_enter(&self, id: &Id, ctx: Context<'_, S>)
[src]Notifies this layer that a span with the given ID was entered.
fn on_exit(&self, id: &Id, ctx: Context<'_, S>)
[src]
fn on_exit(&self, id: &Id, ctx: Context<'_, S>)
[src]Notifies this layer that the span with the given ID was exited.
fn on_follows_from(&self, id: &Id, follows: &Id, ctx: Context<'_, S>)
[src]
fn on_follows_from(&self, id: &Id, follows: &Id, ctx: Context<'_, S>)
[src]Notifies this layer that a span with the ID span
recorded that it
follows from the span with the ID follows
. Read more
unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>
[src]
fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest
[src]
fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest
[src]Registers a new callsite with this layer, returning whether or not
the layer is interested in being notified about the callsite, similarly
to Subscriber::register_callsite
. Read more
fn enabled(&self, metadata: &Metadata<'_>, ctx: Context<'_, S>) -> bool
[src]
fn enabled(&self, metadata: &Metadata<'_>, ctx: Context<'_, S>) -> bool
[src]Returns true
if this layer is interested in a span or event with the
given metadata
in the current Context
, similarly to
Subscriber::enabled
. Read more
fn on_id_change(&self, _old: &Id, _new: &Id, _ctx: Context<'_, S>)
[src]
fn on_id_change(&self, _old: &Id, _new: &Id, _ctx: Context<'_, S>)
[src]Notifies this layer that a span ID has been cloned, and that the subscriber returned a different ID. Read more
fn and_then<L>(self, layer: L) -> Layered<L, Self, S> where
L: Layer<S>,
[src]
fn and_then<L>(self, layer: L) -> Layered<L, Self, S> where
L: Layer<S>,
[src]Composes this layer around the given Layer
, returning a Layered
struct implementing Layer
. Read more
fn with_subscriber(self, inner: S) -> Layered<Self, S, S>
[src]
fn with_subscriber(self, inner: S) -> Layered<Self, S, S>
[src]Composes this Layer
with the given Subscriber
, returning a
Layered
struct that implements Subscriber
. Read more
Auto Trait Implementations
impl<S, T> RefUnwindSafe for OpenTelemetryLayer<S, T> where
S: RefUnwindSafe,
T: RefUnwindSafe,
S: RefUnwindSafe,
T: RefUnwindSafe,
impl<S, T> Send for OpenTelemetryLayer<S, T> where
S: Send,
T: Send,
S: Send,
T: Send,
impl<S, T> Sync for OpenTelemetryLayer<S, T> where
S: Sync,
T: Sync,
S: Sync,
T: Sync,
impl<S, T> Unpin for OpenTelemetryLayer<S, T> where
S: Unpin,
T: Unpin,
S: Unpin,
T: Unpin,
impl<S, T> UnwindSafe for OpenTelemetryLayer<S, T> where
S: UnwindSafe,
T: UnwindSafe,
S: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> FutureExt for T
[src]
impl<T> FutureExt for T
[src]fn with_context(self, otel_cx: Context) -> WithContext<Self>
[src]
fn with_context(self, otel_cx: Context) -> WithContext<Self>
[src]fn with_current_context(self) -> WithContext<Self>
[src]
fn with_current_context(self) -> WithContext<Self>
[src]impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,