我正在研究将Spring Cloud Sleuth集成到我们正在构建的新Spring Boot服务中,并希望将某些URL排除在生成范围之外,例如定期轮询的健康检查端点。
检查代码我可以看到在TraceWebAutoConfiguration.java中创建的TraceFilter有一个DEFAULT_SKIP_PATTERN,可以通过设置spring.sleuth.instrument.web.skipPattern
来覆盖它。
然而,即使我在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
答案 0 :(得分:1)
跳过的资源不会阻止创建范围,它只会停止收集和导出数据。所以你的日志看起来很正常。在快照中,您会在跳过的资源中看到“可导出”标志设置为false。