我有两个基本的Springboot微服务,我正在使用Jaeger。让我们说两个服务是foo
和bar
。我可以使用Tracing Baggage属性从foo向酒吧服务发送User-Agent
标题。
从foo
服务,到目前为止我将使用bar
调用localhost:port
服务。
用户还将在请求中发送x-api-key
标头。此标题不是从foo
转发到bar
服务。
这是我的代码片段,
public ResponseEntity<String> fooService(@RequestHeader("User-Agent") String userAgent, @RequestHeader(value="x-api-key", required = false) String apikeyHeader) {
try {
/**
* Set baggage
*/
tracer.activeSpan().setBaggageItem("user-agent", userAgent);
if (apikeyHeader != null && !apikeyHeader.isEmpty()) {
tracer.activeSpan().setBaggageItem("x-api-key", apikeyHeader);
}
在我的bar
服务的日志中,它正在接收这些标题,uberctx-user-agent
和uberctx-x-api-key
我不确定为什么附加uber-ctx-*
,我只想转发x-api-key
标头。
设置行李项与设置HTTP标头不同。您应该使用HTTP客户端(在您的示例中未显示)来设置HTTP标头。
行李物品可能或不作为单独的HTTP标题提供:它是基础跟踪器的详细实现,例如Jaeger's。