JProfiler automatically detects Java EE components
and displays the relevant nodes in the call tree with special icons that depend
on the Java EE component type:
servlets JSPs EJBs For certain classes, JProfiler shows a display name:
|
The call tree view has an aggregation level selector. It allows you
to switch between
The call tree doesn't display all method calls in the JVM, it only displays
A particular node is a bridge node if it would normally not be displayed in the view, but has descendant nodes that have to be displayed. The icons of bridge nodes are grayed out. For the call tree view this is the case if the self time of the current node is below the defined threshold, but there are descendant nodes that are above the threshold. |
When navigating through the call tree by opening
method calls, JProfiler automatically expands methods which are only called
by one other method themselves.
To quickly expand larger portions of the call tree, select a method and choose View->Expand Multiple Levels from the main window's menu or choose the corresponding menu item from the context menu. A dialog is shown where you can adjust the number of levels (20 by default) and the threshold in per mille of the parent node's value that determines which child nodes are expanded. If you want to collapse an opened part of the call tree, select the topmost method that should remain visible and choose View->Collapse All from the main window's menu or the context menu. |
If a method node is selected, the context menu allows you to quickly add a
method trigger for the selected method with the
add method trigger action.
A dialog will be displayed where you
can choose whether to add the method interception to an existing method trigger or whether to create a
new method trigger.
You can use this view as a starting point for determining which methods are candidates for exceptional method run recording. Once you have identified methods of interest, you can right-click them in the table and choose Add As Exceptional Method from the context menu. |
Nodes in the call tree can be removed together with their sub-trees by selecting them and hitting the DEL key
or by choosing Remove Selected Sub-Tree from the context menu. Times in ancestor nodes will be corrected accordingly as if the
hidden nodes did not exist.
There are two removal modes:
The selection of removed nodes influences the hot spots view. In this way, you can check what the hot spots would be if those methods were optimized to the point of not being important contributions. When you remove a node, the header area will show a line with the count of the removed nodes and a [Restore Remove Sub-Trees] button. Clicking on this button will bring up a dialog where you can select removed elements to be shown again. |
For method, class or package nodes, the context menu and the View menu have an
Add Filter From Selection entry. The sub-menu contains actions to add
appropriate filters as well
as an action to add an ignored method entry.
If a node is excluded, you will get options to add a profiled package, otherwise you will get options to add a compact or ignored filter. These actions are not available for classes in the "java." packages. |
The tree map selector above the call tree view allows you to switch to an alternate visualization: A tree map that shows all call stacks as a set of nested rectangles. Please see the help on tree maps for more information. |
If enabled in the view settings, every node in the call tree has a size bar whose length is proportional to the total time spent in the current node including all descendant nodes and whose light-red part indicates the percentage of the self time of the current node. |
Every entry in the call tree has textual information attached which depends
on the call tree view settings
and shows
|
You can set change the root of the call tree to any node
by selecting that node and choosing View->Set As Root
from the main window's menu or by choosing the corresponding menu item from
the context menu. Percentages will now be calculated with respect to the new root
if the percentage base has been set to "total thread time" in the
view settings dialog.
After setting a call tree root, information about the selected root is shown at the top of the view. A single scrollable label shows the last few stack elements leading up to the root and a detail dialog with the entire stack of the call tree root can be displayed by clicking on the "Show more" button. When you change the root, the hot spots view will show hot spots only for the selected root. At the top of the hot spot view, you will see the same information on the currently set root as in the call tree view to remind of you the context of the displayed data. Invoking the "Show graph" action in either the call tree or hot spot view will show a graph that is limited to the same call tree root - again at the top of the graph the information on the selected root is displayed. When creating a new graph in the graph view itself, a check box in the wizard lets you apply the currently selected root or analyze the entire call tree. To return to the full view of all nodes called in the current thread or thread group, select View->Show All from the main window's menu or the context menu or click on the remove button in the root display at the top of the view. |
The call tree offers several analyses that produce static snapshots with calculated information related to the selected method. The results are shown in nested views and are replaced whenever a particular type of analysis is repeated. |
You can stop and restart CPU data acquisition to clear the call tree. |