knative-extensions/eventing-kafka

KafkaSource does not continue Traces available in Kafka

mgencur opened this issue · 0 comments

Describe the bug
The KafkaSource (receive_adapter) always starts a new Zipkin trace when it reads a message from Kafka. There might be trace information available in headers which is ignored (e.g. traceparent). Continuing the existing trace would be helpful when sending the Traces to Zipkin and visualizing the flow of events/messages.

Expected behavior
KafkaSource continues Zipkin traces stored in message headers.

To Reproduce

  • Deploy Zipking and enable tracing
  • Deploy Kafka source
  • Store Tracing information in headers when sending message to Kafka, e.g.:
kafkaProducerMessage.Headers = append(kafkaProducerMessage.Headers, tracing.SerializeTrace(trace.FromContext(kafkaSenderCtx).SpanContext())...)
part, offset, err := producer.SendMessage(kafkaProducerMessage)

Knative release version

Additional context
Add any other context about the problem here such as proposed priority