All distributed tracing tools do the same basic thing: monitor user requests as they flow through different services and components in a distributed system, such as a microservices-based application.