Analyzing diagnostics data for a trace
The Trace Details page is a deep-dive diagnostics tools, showing the application flow and code.
To see trace details, you select Show Trace Details from the action menu of a specific instance in the Traces page.
This topic provides the following information about trace data:
Trace details in the header
The following details are displayed with the header section, which is displayed above the trace details, showing summary information for the instance.
Header section details
Name of the selected trace, as displayed in the Name column of the Traces page
Date and time that the trace started.
Complete duration of the transaction
Error captured during the trace, indicates that the trace ended in an error, or that an internal error (exception) occurred.
The same data is displayed as in the Error column of the Traces page.
Trace details in tabbed views
Under the header section, you can select a tab to view diagnostics data:
- Application Flow: (Default tab) Displays the diagnostics data of the trace in map of requests between logical components
- Code Level: Displays the code of the trace
The Application Flow tab is selected by default when the Trace Details window opens. The following image is an example of an application flow.
Example of Trace Details, application flow
The Application Flow tab provides the following information:
- Net time spent on nodes
- Application Flow diagram
- Requests comparison
- Application server CPU details
- Application server memory details
To see node details, click a node in the Application Flow diagram.
Net time spent on nodes
A breakdown of the nodes enables you to view the relative amount of time spent on each node in the transaction, not including its child nodes.
The graph of nodes includes only the nodes that were used in the transaction. You can perform the following actions:
- Hover over a section of the chart to see time information.
- Click a section of the chart to view details specific to that node.
Application Flow diagram
The Application Flow diagram of a trace provides a logical map of the requests. Requests are displayed as a node in the application flow. The technology used in the specific flow between nodes is displayed on the arrow. Above each node is the cumulative time, in milliseconds, spent on the node, including its child nodes.
The Application Flow diagram displays the following types of nodes:
Shown in the left side of the diagram, the client node represents the start of the end-user's browser request. Select the client node to see information in the Details pane that is extracted from the HTTP request.
The server node represents different kinds of request technologies. Select a server node to see specific details about that node:
The database node records the number of requests, the time to process requests, errors on the request, and the calling node or nodes.
The messaging queue node records the time to process messages.
The not-recorded node represents a node for which no information was recorded.
An unknown node is a custom node with a configuration problem.
Requests comparison enables you to pinpoint tiers that might be the root of application issues.
The graph of request comparisons includes the requests used in the specific trace and compares them with the average data previously collected for this type of request. The average data is calculated from the previous hour, day, and week's data, providing you with the statistics to help determine which tiers are causing the transaction to perform poorly. This aggregation includes only requests that did not result in a latency issue or an error.
If a tier performs poorly in comparison to average values, the tier needs further analysis. To further analyze a tier, review the specific code flows in the Code Level tab.
The average tier statistics is based on transactions that meet the thresholds as defined when you configure event thresholds (SLAs) for automatically discovered applications.
Application server CPU and memory details
Details about the CPU and memory consumption of applications servers can help you pinpoint server components that might be the root of application issues. The graphs compare the metrics from the application server used in the specific transaction, with the average data previously collected for this type of transaction. The average data is calculated from the previous hour, day, and week's data, providing you with the statistics to determine which servers are causing the transaction to perform poorly.
Click a node to see specific details. If the node is an application server, details (server name, type, address, port, platform, and operating system) are displayed in a tooltip.
The Details pane displays the following information for a selected server:
- Number of requests, latency violations, and error violations
- Relative time spent on each technology involved in requests
- Application server performance metrics, including the percent of used CPU, the amount of memory used, number of threads involved, and the number of deadlock situations
In the Details pane, some data is linked to more information:
- Click the initiating request, method, or exception to see that specific line in the Code Level tab.
- Click the name of a calling node to see the details of that node
Where to go from here
Examine the trace at the code level.