Skip to content

Commit 6fc8a97

Browse files
committed
Move tracing layer to after routes
1 parent 85b73d3 commit 6fc8a97

File tree

1 file changed

+11
-8
lines changed
  • crates/stackable-webhook/src

1 file changed

+11
-8
lines changed

crates/stackable-webhook/src/lib.rs

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -114,20 +114,23 @@ impl WebhookServer {
114114
// by the Axum project.
115115
//
116116
// See https://docs.rs/axum/latest/axum/middleware/index.html#applying-multiple-middleware
117-
// TODO (@NickLarsenNZ): rename this server_builder and keep it specific to tracing, since it's placement in the chain is important
118-
let service_builder = ServiceBuilder::new().layer(trace_layer);
117+
// TODO (@NickLarsenNZ): keep this server_builder specific to tracing, since it's placement in the chain is important
118+
let trace_service_builder = ServiceBuilder::new().layer(trace_layer);
119119

120120
// Create the root router and merge the provided router into it.
121121
tracing::debug!("create core router and merge provided router");
122-
let mut router = Router::new()
123-
.layer(service_builder)
124-
// The health route is below the AxumTraceLayer so as not to be instrumented
125-
.route("/health", get(|| async { "ok" }));
126-
127-
for webhook in webhooks.iter() {
122+
let mut router = Router::new();
123+
for webhook in &webhooks {
128124
router = webhook.register_routes(router);
129125
}
130126

127+
let router = router
128+
// Enrich spans for routes added above.
129+
// Routes defined below it will not be instrumented to reduce noise.
130+
.layer(trace_service_builder)
131+
// The health route is below the AxumTraceLayer so as not to be instrumented
132+
.route("/health", get(|| async { "ok" }));
133+
131134
tracing::debug!("create TLS server");
132135
let (tls_server, cert_rx) = TlsServer::new(router, &options)
133136
.await

0 commit comments

Comments
 (0)