use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt};
pub fn opentelemetry_layer<T>(
tracer: T,
) -> tracing_opentelemetry::OpenTelemetryLayer<tracing_subscriber::Registry, T>
where
T: opentelemetry::trace::Tracer
+ tracing_opentelemetry::PreSampledTracer
+ Send
+ Sync
+ 'static,
{
tracing_opentelemetry::layer().with_tracer(tracer)
}
pub fn try_init_opentelemetry<T>(tracer: T) -> Result<(), tracing_subscriber::util::TryInitError>
where
T: opentelemetry::trace::Tracer
+ tracing_opentelemetry::PreSampledTracer
+ Send
+ Sync
+ 'static,
{
tracing_subscriber::registry()
.with(opentelemetry_layer(tracer))
.try_init()
}