问题描述
我在Zipkin中找不到以下 exportable 跨度,无论是通过traceId还是通过spanId(都出现了其他一些跨度,因此Zipkin服务器似乎都可以使用)
{"timestamp":"2020-08-13 00:48:52.471","level":"INFO","thread":"xxx dispatcher: xxx","mdc":{"traceId":"481bef72295477ac","spanId":"509cdbbac8833590","spanExportable":"true","X-Span-Export":"true","X-B3-SpanId":"509cdbbac8833590","X-B3-ParentSpanId":"37eca1021fd5241c","X-B3-TraceId":"481bef72295477ac","parentId":"37eca1021fd5241c"},"logger":"xxxService","message":"Sending response xxxmsg to RabbitMQ channel","context":"default"}
我在Zipkin中也找不到它的父级“ parentId”:“ 37eca1021fd5241c”。
哪里有问题?如何咬/调试它?
此跨度可能在流中,这是由兔子消息而非休息请求触发的。在Zipkin中可以正确看到由http rest请求触发的跟踪中的跨度。但是我无法从兔子消息触发的流中找到痕迹。这可能是什么问题?
解决方法
我将它与默认存储一起使用,这在生产使用中是不鼓励的,它只能处理少量数据并且只能作为演示版本处理。
有一点帮助的是设置
spring.sleuth.sampler.probability: 0.01
-- 默认情况下,它会记录所有跨度。