我已将 sleuth 集成到我的应用程序网关及其背后的服务中。Stackdriver (GKE) 中的跟踪看起来不错,但根跨度始终命名为“/”。例如:
第二个跨度也是由网关创建的,并且具有更好的名称。
如何在我的网关服务中配置 sleuth 以使用不同的命名或修复导致两个跨度的任何原因?
编辑1:
我使用 spring-gateway、sleuth 和 gcp 创建了一个最小项目,并编写了一个 LoggingReporter 来打印所有报告的跨度,同时让 GCP 自动配置工作。
StackdriverHttpClientParser
名称跨度基于请求 uri。第二个跨度由 TraceWebFilter 基于具有完整 uri 的请求创建。第一个跨度是由HttpClientBeanPostProcessor
基于 uri "/" 创建的。
我认为这不是 gcp 问题。这可能是spring-gateway的问题。有趣的是,首先创建了 TraceWebFilter 跨度,但 PostProcessor 仍然是父级。
EDIT2:我在 spring sleuth https://github.com/spring-cloud/spring-cloud-sleuth/issues/1535中创建了一个问题