Skip to content

Commit fd86fb5

Browse files
committed
Update tracing middleware
1 parent 37a574c commit fd86fb5

File tree

2 files changed

+10
-22
lines changed

2 files changed

+10
-22
lines changed

engine/src/main.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,10 @@ async fn main() {
5757

5858
let tracer = trace_provider.tracer("edgeserver");
5959

60-
let telemetry_layer = tracing_opentelemetry::layer().with_tracer(tracer.clone());
60+
let telemetry_layer = tracing_opentelemetry::layer()
61+
.with_tracer(tracer.clone())
62+
.with_error_fields_to_exceptions(true)
63+
.with_tracked_inactivity(true);
6164

6265
let fmt_layer = tracing_subscriber::fmt::layer().with_filter(EnvFilter::from_default_env());
6366
tracing_subscriber::registry()

engine/src/middlewares/tracing.rs

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ use poem::{
1717
},
1818
Endpoint, FromRequest, IntoResponse, PathPattern, Request, Response, Result,
1919
};
20+
use tracing_opentelemetry;
2021

2122
/// Middleware that injects the OpenTelemetry trace ID into the response headers.
2223
#[derive(Default)]
@@ -61,27 +62,6 @@ where
6162
type Output = Response;
6263

6364
async fn call(&self, req: Request) -> Result<Self::Output> {
64-
// // Execute the inner endpoint.
65-
// let response = self.inner.call(req).await?;
66-
67-
// // Extract the trace ID from the current tracing context.
68-
// let trace_id = Span::current()
69-
// .context()
70-
// .span()
71-
// .span_context()
72-
// .trace_id()
73-
// .to_string();
74-
75-
// // Add the trace ID to the response headers (under X-Trace-Id).
76-
// let mut response = response.into_response();
77-
// response.headers_mut().insert(
78-
// "X-Trace-Id",
79-
// HeaderValue::from_str(&trace_id)
80-
// .unwrap_or_else(|_| HeaderValue::from_static("unknown")),
81-
// );
82-
83-
// Ok(response)
84-
8565
let tracer = self.tracer.clone();
8666

8767
let remote_addr = RealIp::from_request_without_body(&req)
@@ -133,6 +113,11 @@ where
133113
let cx = Context::current();
134114
let span = cx.span();
135115

116+
let guard = tracing_opentelemetry::OpenTelemetrySpanExt::set_parent(
117+
&tracing::span::Span::current(),
118+
cx.clone()
119+
);
120+
136121
match res {
137122
Ok(resp) => {
138123
let mut resp = resp.into_response();

0 commit comments

Comments
 (0)