Note: The notion of a hot spot is relative. Hot spots depend on the filter sets that you have enabled on the call tree collection tab of the profiling settings dialog. 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 hotspots and filters for a detailed discussion.
In order to prepare allocation hot spots, you have to click on the
calculate toolbar button
or choose View->Calculate allocation hot spots from JProfiler's
main menu. If allocation hot spots have already been calculated, the context sensitive menu
also gives access to this action.
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.
With these two modes you can change your viewpoint and the definition of a hotspot. Please see the help topic on hotspots 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 J2EE component types.
The hot spot list can be sorted on all columns.
If you click on the
handle
on the left side of a hot spot, a tree of backtraces will be shown.
Every node in the backtrace tree has textual information attached to it which depends
on the allocation hot
spots view settings.
Note: This is not the number of allocations in this method.
Note that the line number shows the line number of the invocation and not of the method itself.
servlets
JSPs
EJBs
If URL splitting is enabled,
each request URL creates a new node with a
special icon and the prefix
URL:, followed by the part of the request URL on which the hot spot backtraces tree
was split. Note that URL nodes group request by the displayed URL.
You can disable both J2EE component detection as well as URL splitting on the Java Subsystems tab of the profiling settings. Also, the URL splitting method can be customized in the profiling settings or with a custom handler in the profiling API.
Every node in the tree is a method call. This is the default aggregation level. Special J2EE component
methods have their own icon (see above) and display name, the real class name is appended
in square brackets.
Every node in the tree is a single class. J2EE component
classes have their own icon (see above) and display name, the real class name is appended
in square brackets.
Every node in the tree is a single package. Sub-packages are not included.
Every node in the tree is a J2EE component.
If the component has a separate display name, the real class names are omitted.
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
Runnable.run() and the main method are always displayed, regardless of
the filter settings.
View->Expand 10 levels from the main window's menu or
choose the corresponding menu item from the context menu. If you want to
collapse an opened part of the hot spot backtraces tree, select the
topmost method that should remain visible and choose
View->Collapse all from the main window's menu or
the context menu.
toolbar entry
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
reset action in the toolbar or choosing the the
Reset garbage collector for this view menu item
in the View or context menu. All garbage collector data will be
cleared and the view will be empty for the "Garbage collected objects" mode until
further objects are garbage collected and a new allocation call tree or allocation hot spots are
calculated. Note that you can force garbage collection by clicking on the garbage collector
tool bar button or by
selecting Profiler->Run garbage collector from
JProfiler's main menu.
toolbar entry take a new snapshot, switch to the
heap walker view and create an object set with
the currently selected class and allocation hot spot.