Distributed tracing plays a key role in the era of microservices as it lets you trace the flow of a request across different services. In order to accomplish microservice tracing, we can instrument our services to log messages to a distributed tracing server that can collect, store, and display this information in various formats.
The OpenTracing specification does not address which distributed system is in charge of collecting the tracing data, but a widely adopted end-to-end open source solution is Jaeger (https://www.jaegertracing.io/),which fully implements the OpenTracing standard.
Let's see OpenTracing in action by switching to the Chapter06/opentracing example. First off, in order to use the opentracing extension, the following dependency must be added to your project: