Using tracing data for application performance analysis is the classic use case of distributed tracing. Different aspects of application performance can be investigated via tracing:
Availability: Is the application responding to end user queries? When the application is not responding to end users, or in other words we are in an outage situation, tracing can be used to pinpoint the location in a complex architecture where things go wrong.
Correctness: Does the application provide accurate answers? For example, if you are trying to call a car in the middle of New York City using a ride-sharing mobile app and the system responds with an expected time of arrival of 55 minutes, the correctness of that response is suspicious. Perhaps the system was trying to use a microservice with a highly accurate but slow algorithm, which did not finish in time, and the request failed over to another microservice with a faster but less accurate algorithm. By following the path of a request...