我正在使用两个通过 Kafka 连接的 Java 服务,并且我已经集成了 OpenTelemetry 来进行分布式跟踪。在服务 A 中,我创建一个父范围,并在 Kafka 消息中包含两个字符串值:traceId 和 spanId。
但是,在服务 B 中,我在使用这些值将新范围连接到父范围时遇到问题。
这是我在服务 B 中尝试过的:
SpanContext spanContext = SpanContext.create(parentTraceId, parentSpanId, TraceFlags.getDefault(), TraceState.getDefault());
Span kafkaMessageSpan = otelTracer.spanBuilder("kafka-message2-processing")
.setParent(Context.current().with(Span.wrap(spanContext)))
.startSpan();
kafkaMessageSpan.end();
parentTraceId 和parentSpanId 值在日志中如下所示:
parentTraceId:5e3a44aa9817427c970800316ff717e7 父跨度 ID:91367512fa425dca
我错过了什么?任何帮助,将不胜感激。谢谢!