我有一個由多個 Go 服務組成的分發應用程序。其中一些使用 Kafka 作為數據總線。opentracing我能夠使用Jaeger追蹤服務之間的調用。我在圖表上繪制 Kafka 跨度時遇到問題,它們顯示為間隙。這就是我能做的。初始跨度由 gRPC 中間件創建。生產方:... kafkaMsg := kafka.Message{Key: []byte(key), Value: msgBytes}headers:=make(map[string]string)if span := opentracing.SpanFromContext(ctx); span != nil { opentracing.GlobalTracer().Inject( span.Context(), opentracing.TextMap, opentracing.TextMapCarrier(headers))}for headerKey, headerValue:=range headers{ msg.Headers = append(msg.Headers, kafka.Header{ Key: headerKey, Value: []byte(headerValue), })}// Write message to Kafka...消費端:...// read headers from Kafka messageheaders := make(map[string]string)for _, header := range kafkaMessage.Headers{ headers[header.Key]=string(header.Value)}spanContext, _ := opentracing.GlobalTracer().Extract(opentracing.TextMap, opentracing.TextMapCarrier(headers))span := opentracing.StartSpan( "Consumer", opentracing.FollowsFrom(spanContext))defer span.Finish()...當消息位于 Kafka 中時,我應該如何修改它以在圖表上繪制跨度?
- 1 回答
- 0 關注
- 165 瀏覽
添加回答
舉報
0/150
提交
取消