通过队列发送哨兵追踪

时间:2021-05-06 11:18:48

标签: go trace sentry distributed-tracing

有两个服务是用 Go 编写的。第一个将一些事件写入兔子队列,第二个从此队列中读取并对消息进行一些处理。
我想跟踪哨兵中每条消息的生命周期。在第一次服务方面,这是基本完成的。但是我如何通过队列传递span?
如果您使用开放式跟踪解决相同的问题,那么一切都很简单:

span := tracer.StartSpan("first")
carrier := opentracing.TextMapCarrier{}
span.Tracer().Inject(span.Context(), opentracing.TextMap, carrier)
second(carrier["uber-trace-id"])

func second(token string) {
    carrier := opentracing.TextMapCarrier{}
    carrier.Set("uber-trace-id", token)
    ctx, _ := opentracing.GlobalTracer().Extract(opentracing.TextMap, carrier)
    span := opentracing.StartSpan("second", opentracing.FollowsFrom(ctx))
    span.Tracer().Inject(span.Context(), opentracing.TextMap, carrier)

但是我不明白在使用 sentry 的情况下如何创建在第二个服务中继承的对象

0 个答案:

没有答案