[−][src]Crate tracing_opentelemetry
Tracing OpenTelemetry
An OpenTelemetry layer for the tracing library.
#[macro_use] extern crate tracing; use opentelemetry::{api::Provider, sdk}; use tracing_opentelemetry::OpenTelemetryLayer; use tracing_subscriber::layer::SubscriberExt; use tracing_subscriber::Registry; fn main() { // Create a new tracer let tracer = sdk::Provider::default().get_tracer("service_name"); // Create a new OpenTelemetry tracing layer let telemetry = OpenTelemetryLayer::with_tracer(tracer); let subscriber = Registry::default().with(telemetry); // Trace executed code tracing::subscriber::with_default(subscriber, || { let root = span!(tracing::Level::TRACE, "app_start", work_units = 2); let _enter = root.enter(); error!("This event will be logged in the root span."); }); }
Structs
OpenTelemetryLayer | OpenTelemetry layer for use in a project that uses tracing. |
Traits
OpenTelemetrySpanExt |
|