@@ -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