Distributed tracing helps to collect information about related parts of an application as a distributed acyclic graph (DAG). You can use collected information to analyze a path of any activity in a distributed application.
There is an open standard—OpenTracing, which is supported by multiple products, including Jaeger. The most minimal unit of tracing is called a span. Spans can have relationships with other spans to construct a report with tracing paths. In this section, we'll write a tiny application that will send some spans to a Jaeger instance.