miden_node_utils/tracing/
span_ext.rs1use opentelemetry::trace::Status;
2
3use crate::ErrorReport;
4
5pub trait ErrorSpanExt: private::Sealed {
7 fn set_error(&self, err: &dyn std::error::Error);
8}
9
10impl<S> ErrorSpanExt for S
11where
12 S: tracing_opentelemetry::OpenTelemetrySpanExt,
13{
14 fn set_error(&self, err: &dyn std::error::Error) {
15 tracing_opentelemetry::OpenTelemetrySpanExt::set_status(
16 self,
17 Status::Error { description: err.as_report().into() },
18 );
19 }
20}
21
22mod private {
23 pub trait Sealed {}
24 impl<S> Sealed for S where S: tracing_opentelemetry::OpenTelemetrySpanExt {}
25}