Description
What needs to be changed?
Currently "distributed tracing" is mentioned as a major selling point, and it is also mentioned that this works "somehow" via Context Propagation and Baggage.
There is not a single word though, how to use this between 2 independent services.
Therefore it would be nice if there were some examples showing this.
This example could be implemented as some docker compose that provides a visualizer as well as 2 services which interact with each other.
An example would be some webserver exposed as the "frontend" which can be curled as an echo server, which expects a name
in the query (or in the path of the URL) and forwards this to the other service. The other service reverses it. Then the reversed string gets replied in the body to the client.
Ideally this example would exist per language.
Of course I see how the details might differ between different transports, though the important thing is how to get the context serialized and deserialzed. Getting it into/out of the transport is the easy part.
The main reason for this request: For a simple example implementation in Elixir it took me ~4 hours of reading documentation (which is mostly empty in this area of the library) and sourcecode before being able to properly see the "clients" trace ID in the "servers" parent trace ID.
(and this implementation is probably not as intended)