如何将 zipkin 中的 http_path 映射到 AWS XRay 请求 URL
How do I map http_path in zipkin to AWS XRay request URL
我将跟踪记录发送到 Zipkin,我可以看出我正在设置 HTTP 路径
但它没有映射到 XRay 的请求 URL。
在哪里可以做映射?
我根据 my answer on integrating Spring Cloud Sleuth with Amazon X-Ray
使用以下图片
- amazon/aws-xray-daemon:最新
- ghcr.io/openzipkin/zipkin-aws:最新
查看代码,我正在使用来自 ZipKin brave 库的 HttpTracing
我假设这就是它用来填充数据的东西。
进一步挖掘,似乎有一个 openzipkin/zipkin-aws#58 描述了这个问题
浏览 the code 我可能只需要更改默认跟踪以添加其他详细信息。添加以下 bean 将使其配置为包含必要的详细信息。
@Bean
public HttpTracing httpTracing(Tracing tracing) {
return HttpTracing.newBuilder(tracing)
.serverRequestParser(
(req, context, span) -> {
HttpRequestParser.DEFAULT.parse(req, context, span);
HttpTags.URL.tag(req, context, span);
}
)
.serverResponseParser(
((response, context, span) -> {
HttpResponseParser.DEFAULT.parse(response, context, span);
HttpTags.STATUS_CODE.tag(response, span);
})
)
.clientRequestParser(
(req, context, span) -> {
HttpRequestParser.DEFAULT.parse(req, context, span);
HttpTags.URL.tag(req, context, span); // add the url in addition to defaults
}
)
.clientResponseParser(
((response, context, span) -> {
HttpResponseParser.DEFAULT.parse(response, context, span);
HttpTags.STATUS_CODE.tag(response, span);
})
)
.build();
}
我将跟踪记录发送到 Zipkin,我可以看出我正在设置 HTTP 路径
但它没有映射到 XRay 的请求 URL。
在哪里可以做映射?
我根据 my answer on integrating Spring Cloud Sleuth with Amazon X-Ray
使用以下图片- amazon/aws-xray-daemon:最新
- ghcr.io/openzipkin/zipkin-aws:最新
查看代码,我正在使用来自 ZipKin brave 库的 HttpTracing
我假设这就是它用来填充数据的东西。
进一步挖掘,似乎有一个 openzipkin/zipkin-aws#58 描述了这个问题
浏览 the code 我可能只需要更改默认跟踪以添加其他详细信息。添加以下 bean 将使其配置为包含必要的详细信息。
@Bean
public HttpTracing httpTracing(Tracing tracing) {
return HttpTracing.newBuilder(tracing)
.serverRequestParser(
(req, context, span) -> {
HttpRequestParser.DEFAULT.parse(req, context, span);
HttpTags.URL.tag(req, context, span);
}
)
.serverResponseParser(
((response, context, span) -> {
HttpResponseParser.DEFAULT.parse(response, context, span);
HttpTags.STATUS_CODE.tag(response, span);
})
)
.clientRequestParser(
(req, context, span) -> {
HttpRequestParser.DEFAULT.parse(req, context, span);
HttpTags.URL.tag(req, context, span); // add the url in addition to defaults
}
)
.clientResponseParser(
((response, context, span) -> {
HttpResponseParser.DEFAULT.parse(response, context, span);
HttpTags.STATUS_CODE.tag(response, span);
})
)
.build();
}