End-to-end go opentracing example using jaeger as tracer.
This example shows how to leverage open tracing to see a span that covers the following flow:
As you can see:
- a span is started by performing an HTTP request to the
http-sever-initiator
that callshttp-sever-receiver
over HTTP in turn http-sever-receiver
callsgrpc-server
over GRPC after having registered a child spangrpc-server
publishes a message into kafka and returns a successful response upstream after having registered a child spankafka-consumer
consumes the message from thetodos
topic and creates a new record in thetodos
table. It creates two spans: one for the time spent in the whole consumer logic and one for the time spent during the database query.
You can run the project using docker-compose up
(tbd)
- Write solid documentation.