After you have identified a thread bottleneck, use the Thread
View, the UML2 Object Interactions view, and
the Call Stack View to identify the methods implicated
in the bottleneck.
Prerequisite: To use the UML2 Object Interactions view,
you must select Collect UML2 Sequence Diagram object interaction
data in the Thread Analysis profiling type when you collect data.
Refer to Collecting thread data.
To see what methods were called at the time of a bottleneck:
- From the Thread View drop-down menu, click Open With
UML2 Object Interactions.
- From the Thread View drop-down menu, click Open Call
Stack View.
- Make sure that the Call Stack View and the Thread View are displayed,
as well as the UML2 Object Interactions view.
- From the list of threads shown in the Thread View, select the
thread you want to investigate.
- In the Thread View, go to the display of thread time-lines and
position the Current Time indicator over the arrow
for a call that you want to investigate. The Current
Time indicator is a vertical line that is positioned, by default,
at the left edge of the Thread View graph. To move the Current
Time indicator, drag it with the mouse, or click in the Time Window. This action has the following results:
- It synchronizes the UML2 Object Interactions view so that the first visible
message is the call selected by the Current Time indicator.
- It expands the Call Stack node to display the call
indicated by the Current Time indicator in the Thread
View. A call is indicated in the Call Stack View by the call indicator icon
.
Note that you have to open the Call Stack View to examine the call stack.
- It changes the current time indicated for the Call Stack node from 0 seconds
(which marks the beginning of the run) to the time that the call was made.
- Identify the calling method by referring to the UML2 Object Interactions
view or the Call Stack entry.
The following topic provides additional information about using
these views together: