use super::TraceLabels;
use opentelemetry::trace::TraceContextExt as _;
use std::iter::FromIterator;
use tracing::Span;
use tracing_opentelemetry::OpenTelemetrySpanExt;
pub fn get_exemplar() -> Option<TraceLabels> {
let context = OpenTelemetrySpanExt::context(&Span::current());
let span = context.span();
let span_context = span.span_context();
if span_context.is_valid() {
Some(TraceLabels::from_iter([
("trace_id", span_context.trace_id().to_string()),
("span_id", span_context.span_id().to_string()),
]))
} else {
None
}
}