关于 span-references 的调研
https://github.com/DataDog/dd-trace-js/issues/1761
https://github.com/open-telemetry/opentelemetry-specification/blob/874a451e7f6ac7fc54423ee3f03e5394197be35b/specification/compatibility/opentracing.md#span-references
https://github.com/opentracing/specification/blob/master/specification.md#references-between-spans
Enable Async Messaging Tracing with OpenTracing
演示应用程序
trace 可视化
如上图所示,trace 中添加了两个额外的 span,分别代表Kafka 生产者端和消费者端的消息处理。我们可以看到From_eshop_topic Span
和To_eshop_topic Span
之间的引用类型是FOLLOWS_FROM
而不是CHILD_OF
。这是因为它是异步消息,因此 Opentracing 使用 FOLLOWS_FROM
引用类型来指示这两个 Span 之间没有直接依赖关系
代码Review