Skip to main content

batched/
tracing.rs

1pub use tracing::*;
2
3pub trait TracingSpan {
4    fn link_span(&mut self, span: &Span);
5}
6
7impl<N> TracingSpan for N {
8    default fn link_span(&mut self, _span: &Span) {}
9}
10
11#[cfg(feature = "tracing_opentelemetry")]
12impl<T: tracing_opentelemetry::OpenTelemetrySpanExt> TracingSpan for T {
13    fn link_span(&mut self, span: &Span) {
14        self.add_link(
15            opentelemetry::trace::TraceContextExt::span(
16                &tracing_opentelemetry::OpenTelemetrySpanExt::context(span),
17            )
18            .span_context()
19            .clone(),
20        );
21    }
22}