Distributed tracing is the process of mapping and analyzing requests as they flow
through a distributed system. A trace represents a single request flow, which
follows the path of a specific transaction or request from the origin point of the
request, through an app, and back. A single trace can traverse hundreds of
independent services that make up an app. When aggregated, engineers can use a
collection of traces to identify issues related to app latency and diagnose errors.Each trace contains one or more segments called spans. Each span is like a single
unit of work, or a single operation within a trace. Spans have a parent/child
relationship, and each span can include details like service name, operation name,
operation duration, and additional metadata that describes the span. Combining this
relationship with a timestamp enables assembling individual spans into a trace.Traces are essential to provide a view of distributed systems based on the incoming
and outgoing requests. This architecture can be complex and difficult to navigate as
your app grows, making it more challenging to pinpoint issues. Distributed
tracing provides insights into how and where data flows for individual requests, and
where the source of a problem originates.Learn about interacting with trace data in Chronosphere
Observability Platform.