With Distributed Tracing, you can track transaction traces made from one application to another. This enables you to monitor calls made between applications and narrow down the problem.
A trace is the execution flow of a transaction, including its method calls, database queries, and exceptions. When a transaction exceeds the specified threshold value, it's captured as a trace.
Modern applications have evolved from their monolithic ancestry to microservices or distributed systems. Analyzing issues in such environments involves correlating data from multiple services spread across the system, creating an inevitable need for a more sophisticated tracing mechanism to diagnose and troubleshoot issues. Distributed tracing fulfills this need by being able to trace the entire path of a web transaction across application or service boundaries.
Note: Distributed Tracing can be viewed only for applications under the same account. If your applications are spread over various accounts, you cannot have a consolidated view of all your traces across all your accounts.
To view distributed traces, follow the steps below:
On the Distributed Tracing tab, there are various metrics provided to help you analyze the results of the trace.
Below are the metrics shown under the Distributed Tracing table:
|Start Time||Time at which the transaction was started.|
|Transaction||Name of the transaction.|
|Response Time||Time taken for the transaction to respond within the application (in ms).|
|Application Name||Name of the application.|
By clicking Expand Tree View on the right-hand side of the Application Name, you can view the method calls and code blocks that took a significant amount of time to complete this request.
Under normal circumstances, these transaction traces are viewed separately without context. With Distributed Tracing, you can understand precisely the method calls requested by a transaction from a particular application, and how it has exceeded the threshold level. This simplifies your debugging process.