In the modern world of microservices, a single request can traverse multiple processes running on different machines, data centers, or even geographical regions.
The observability of such systems is a challenging task but, when done right, it allows us to tell the story about each individual request as opposed to the overall state of the system derived from signals such as metrics and logs. In this chapter, we will introduce you to distributed tracing and explain OpenTracing with its integration in MicroProfile OpenTracing 1.3.
In the previous section, we learned about metrics and how they observe an application or each individual component. This information is no doubt very valuable and provides a macro view of the system, but, at the same time, it says very little about each individual request that traverses multiple components. Distributed tracing shows...