我正在研究将Spring Cloud Sleuth集成到我们正在构建的新Spring Boot服务中,并希望从生成跨度中排除某些URL,例如定期轮询的健康检查端点。排除Spring Cloud Sleuth中的资源
检查代码我可以看到在TraceWebAutoConfiguration.java中创建的TraceFilter具有DEFAULT_SKIP_PATTERN,可以通过设置spring.sleuth.instrument.web.skipPattern
来覆盖该DEFAULT_SKIP_PATTERN。
然而,即使我的DEFAULT_SKIP_PATTERN我仍然观察到一丝&跨度正在创建下访问资源即
17:28:46.142 [XNIO-2 task-1] INFO o.s.c.sleuth.log.Slf4jSpanListener - Starting span: MilliSpan(begin=1454394526140, end=0, name=http/info, traceId=908b24a3-143f-4949-8f86-5df867e3985b, parents=[], spanId=908b24a3-143f-4949-8f86-5df867e3985b, remote=false, exportable=false, annotations={}, processId=null, timelineAnnotations=[])
17:28:46.143 [XNIO-2 task-1] INFO o.s.c.sleuth.log.Slf4jSpanListener - Continued span: MilliSpan(begin=1454394526140, end=0, name=http/info, traceId=908b24a3-143f-4949-8f86-5df867e3985b, parents=[], spanId=908b24a3-143f-4949-8f86-5df867e3985b, remote=false, exportable=false, annotations={}, processId=null, timelineAnnotations=[])
17:28:46.146 [XNIO-2 task-1] INFO io.undertow.servlet - Initializing Spring FrameworkServlet 'dispatcherServlet'
17:28:46.146 [XNIO-2 task-1] INFO o.s.web.servlet.DispatcherServlet - FrameworkServlet 'dispatcherServlet': initialization started
17:28:46.170 [XNIO-2 task-1] INFO o.s.web.servlet.DispatcherServlet - FrameworkServlet 'dispatcherServlet': initialization completed in 24 ms
17:28:46.216 [XNIO-2 task-1] INFO o.s.c.sleuth.log.Slf4jSpanListener - Stopped span: MilliSpan(begin=1454394526140, end=1454394526215, name=http/info, traceId=908b24a3-143f-4949-8f86-5df867e3985b, parents=[], spanId=908b24a3-143f-4949-8f86-5df867e3985b, remote=false, exportable=false, annotations={}, processId=null, timelineAnnotations=[])
我缺少的东西?我正在使用1.0.0.M4
你使用什么模式。你知道这个模式是一个正则表达式,而不是一个蚂蚁式的表达式。 –
您能否请您展示您的配置?这会更容易理解你在做什么。 –
我试着通过设置'spring.sleuth.instrument.web.skipPattern =/health'来明确排除我的'/ health'端点。 调试通过我验证跳过在TraceFilter内部设置为true。看起来这可能与此问题有关https://github.com/spring-cloud/spring-cloud-sleuth/issues/136? –