16 Jun 2021 11:51 AM - last edited on 30 Aug 2022 10:56 AM by MaciejNeumann
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!
Solved! Go to Solution.
16 Jun 2021 01:09 PM
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.
16 Jun 2021 04:34 PM - edited 16 Jun 2021 04:35 PM
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.
16 Jun 2021 08:55 PM
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.