How to interpret the time value (ms) for the individual components in the Stalled transaction Stack View?

Document ID : KB000045707
Last Modified Date : 14/02/2018
Show Technical Document Details

Introduction: 

The stalled transaction traces were captured for a monitored application, along with its total duration. However the break down of each individual component in this stalled transaction shown in the Stack View underneath does not seem to add up to the total duration.

Question: 

How should I interpret the time value (ms) for the individual components in the Stack View of a stalled transaction?

Environment:  

Applicable to All APM Releases

Answer: 

Basically, the time (ms) value appended to the end of each individual component in the Stack View refers to the relative timestamp, which is the time when that particular component was called.

Let's look at the following example.

Stalled Transaction Stack Trace.png

In this screen shot, the total Duration of the Stalled Transaction was 2207ms. The following components were called simultaneously at the start of the transaction, which was at 0ms into the transaction:

Frontends|Apps|medrec|URLs|Default
Servlets|Faces Servlet
JSF|Lifecycle|LifecycleImlp|execute

The 3rd component was actually the one that performed some executions, and it took about 56 milliseconds to complete, where the next component was then called at the 56th ms into the transaction:

JSF|Event|ActionListenerImpl|processAction

This transaction took about 590ms (646ms - 56ms) and then followed by the next component and so on.

With this interpretation, we will be able to come up with the net duration for each component as follow:

ComponentNet Duration (ms)Calculation
Frontends|Apps|medrec|URLs|Default00ms - 0ms
Servlets|Faces Servlet00ms - 0ms
JSF|Lifecycle|LifecycleImlp|execute5656ms - 0ms
JSF|Event|ActionListenerImpl|processAction590646ms - 56ms
EJB|Session|PatientServiceImpl_ipi4kg_Impl37683ms - 646ms
EJB|Session|PatientRepositoryImpl_lti7hc_Impl15242207ms - 683ms

So if we add up the net duration of all the called components, we get the total Duration for the stalled transaction:

0 + 0 + 56 + 590 + 37 + 1524 = 2207

 

Additional Information:

For more information, see Error Stack View