腾讯mini项目-【指标监控服务重构】2023-08-04

今日已办

关于 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

Opentracing 如何追踪异步消息传递(kafka)

Enable Async Messaging Tracing with OpenTracing

演示应用程序

腾讯mini项目-【指标监控服务重构】2023-08-04_第1张图片

trace 可视化

腾讯mini项目-【指标监控服务重构】2023-08-04_第2张图片

如上图所示,trace 中添加了两个额外的 span,分别代表Kafka 生产者端和消费者端的消息处理。我们可以看到From_eshop_topic SpanTo_eshop_topic Span之间的引用类型是FOLLOWS_FROM而不是CHILD_OF。这是因为它是异步消息,因此 Opentracing 使用 FOLLOWS_FROM 引用类型来指示这两个 Span 之间没有直接依赖关系

腾讯mini项目-【指标监控服务重构】2023-08-04_第3张图片

腾讯mini项目-【指标监控服务重构】2023-08-04_第4张图片

腾讯mini项目-【指标监控服务重构】2023-08-04_第5张图片

腾讯mini项目-【指标监控服务重构】2023-08-04_第6张图片

组长会议

代码Review

  • 更新 span 的关系,启动一个根 span,4个 handler 的 span 为根 span 的子 span,为平级关系腾讯mini项目-【指标监控服务重构】2023-08-04_第7张图片
  • 更新 spankind

明日待办

你可能感兴趣的:(重构,go,clickhouse)