30 Aug 2024 10:48 AM - last edited on 02 Sep 2024 07:08 AM by MaciejNeumann
Hello all,
One of our projects implements the SAGA pattern (choreography) where 3rd-party services in the service chain ignore or remove tracing headers, leading to the loss of a unified trace and the fragmentation of the trace into separate parts.
Instead, we would like to have the ability to track the entire lifecycle of such a transaction skipping 3rd parties where it possible. Therefore, we are considering using identifiers from the payload, which are available at any point in the transaction, as a binding component. We have considered two main options:
However, all our experiments have been unsuccessful—OpenKits does not seem to support distributed sessions, and OneAgent does not allow generating traceId manually. If we disable OneAgent and send tracing information using OpenTelemetry, Dynatrace can display it as a unified trace, but it is unable to build any graphs due to the lack of metrics, making the analysis of such traces impossible.
Perhaps someone has ideas on how this can still be achieved, as Dynatrace is a powerful and flexible tool, and I hope I might be missing something?