Type: New Feature
Affects Version/s: None
Fix Version/s: None
In order to get an overview of the lifetime of a message going through different messaging components, it would be good to have support for distributed tracing in the dispatch router.
The OpenTracing standard defines an API for this, facilitating the use of different (OpenTracing-compatible) tracing systems (e.g. Jaeger).
This will mean identifying the different steps of the message processing inside the router and creating/finishing corresponding (child-)_Span_s for it (see OpenTracing semantic spec).
As for the implementation, there is an OpenTracing API for C++.
Some more pointers:
- Example for loading the tracer library dynamically (corresponding PR)
This approach is supported by Jaeger now as well.
- Jaeger C++ OpenTracing binding