cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Tracing in message queues: W3C Trace Context, Kafka and Cloud Events

luismiguel_pozo
Contributor

Hi there.

 

Dynatrace is able to trace message-based communication in Kafka queues

 

My question is: how does Dynatrace insert the W3C Trace Context headers in the message? Does Dynatrace use Cloud Events format and insert the traceparent and tracestate as ce_traceparent and ce_tracestate? Like the Cloud Event extension indicates.

 

I would like to know the header format and the header name in an event. Do you share any example? 

 

Thanks a lot!

3 REPLIES 3

Julius_Loman
Leader

I'm not familiar with the internals of Dynatrace Kafka tracing. However from my experience, the W3C tracing headers are not used for tracing of messages (Kafka, IBM MQ, Tibco,...) and it works independently of the W3C by utilizing Dynatrace specific headers. 

AFAIK the W3C tracing headers are using only in HTTP communication.

TEMPEST a.s., Slovakia, Dynatrace Master Partner

Thank you for your answer, @Julius_Loman .

 

Regard W3C Trace Context specification, right, it is currently defined only for HTTP communications. But frameworks like Opentelemetry also implement interceptors to use those headers to trace message-based communications. Does Dynatrace planned doing something similar? 

 

Regards,

Luis Miguel.

Dynatrace is using the x-DynaTrace header for HTTP, similarly for messaging (not sure about the metadata key name). Their tracing is proprietary and works between apps monitored by Dynatrace only.

 

W3C is an open specification, co-authored by Dynatrace which allows interoperability and serves as a basis for OpenTelemetry. Dynatrace honours these headers and uses them - for example for trace data ingestions from OpenTelemetry sources without OneAgent. Actually, the W3C headers are then important on boundaries of the systems monitored by Dynatrace OneAgents.

 

TEMPEST a.s., Slovakia, Dynatrace Master Partner