Allocation Hot Spots View | ![]() ![]() |
![]() |
The allocation hot spots view shows a list of methods where objects of a selected class
have been allocated. Only methods which contribute at least 0.1%
of the total number of allocations are included. The methods are filtered according to the
filter settings. This view
is similar to the
hot spots view in JProfiler's
CPU section except that it shows allocations
of class instances and arrays instead of time measurements.
Note: The notion of a hot spot is relative. Hot spots depend on the filter sets that you have enabled in the filter settings. Filtered methods are opaque, in the sense that they include allocations performed in calls into other filtered methods. If you change your filter sets you're likely to get different hot spots since you are changing your point of view. Please see the help topic on hot spots and filters for a detailed discussion.
In order to prepare allocation hot spots, you have to click on the
Before the allocation hot spots are calculated, the allocation options dialog is shown. The class or package selection as well as the selected liveness mode are displayed at the top of the allocation call tree view. |
![]() |
The combo box at the top-right corner of the view allows you to treat allocations of filtered classes
in two different ways:
With these two modes you can change your viewpoint and the definition of a hot spot. Please see the help topic on hot spots and filters for a detailed discussion of this topic. Depending on your selection of the aggregation level, the method hot spots will change. They and their hot spot backtraces will be aggregated into classes or packages or filtered for Java EE component types. |
![]() |
Every hot spot is described in several columns:
The hot spot list can be sorted on all columns.
If you click on the
|
![]() |
JProfiler automatically detects Java EE components
and displays the relevant nodes in the hot spot backtraces tree with special icons that depend
on the Java EE component type:
![]() ![]() ![]() For JSPs and EJBs, JProfiler shows a display name:
If URL splitting is enabled in the servlet probe
each request URL creates a new node with a
|
![]() |
The allocation hot spots view has an aggregation level selector. It allows you
to switch between
When you switch between two aggregation levels, JProfiler will make the best effort to preserve your current selection. When switching to a a more detailed aggregation level, there may not be a unique mapping and the first hit in the hot spot backtraces tree is chosen. The hot spot backtraces tree doesn't display all method calls in the JVM, it only displays
|
![]() |
When navigating through the hot spot backtraces 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 hot spot backtraces tree, select a method and choose
If you want to
collapse an opened part of the hot spot backtraces tree, select the
topmost method that should remain visible and choose
|
![]() |
If a method node is selected, the context menu allows you to quickly add a
method trigger for the selected method with the
![]() |
![]() |
Nodes in the hot spot backtraces tree can be hidden by selecting them and hitting the DEL key
or by choosing Hide Selected from the context menu. Percentages will be corrected accordingly as if the
hidden node did not exist.
When you hide a node, the toolbar and the context menu will get a |
![]() |
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 an inclusive filter, otherwise you will get options to add an exclusive filter. These actions are not available for classes in the "java." packages. |
![]() |
By marking the current state, you can follow the evolution of the allocation hot spots.
This is particularly useful for quickly finding the origin of memory leaks.
Marking the current values can be achieved by
Upon marking, a fourth column labeled Difference appears with all values initially set to zero. With each subsequent calculation of the allocation hot spots, the column's values track the difference of the allocation count with respect to the point in time where the mark was set. The graphical representation of the percentage column shows the marked state in green and positive differences in red. By default, the difference column is sorted on the absolute values in it, this can be changed in the allocation hot spots view settings dialog. You can remove the mark by
|
![]() |
If garbage collected objects are shown, you can reset the accumulated data
by clicking on the ![]() ![]() |
![]() | Only recorded objects will be displayed in the allocation hot spots view. See the memory section overview for further details on allocation recording. |
![]() |
The View->Take heap snapshot for selection menu item and the
corresponding
![]() |
![]() ![]() |