This tab in JProfiler's
general settings
allows you to add, edit and delete filter sets which can be activated individually
for
exclusive filters on the
call tree collection
tab of the
profiling settings dialog.
Active filter sets influence the information depth for CPU profiling and the
execution speed of the profiled applications.
-
What are filter sets?
Data collected from classes defined in packages and classes matching a
filter set for exclusive filters or failing to match the inclusive filters,
are consolidated for the
CPU profiling views,
the allocation monitor view,
the heap walker allocation view
and the call stack information in the
monitor usage views
and are shown without further detail. Due to the considerable depth and complexity
of external class libraries, an unfiltered view of invocation and allocations trees
as well as hot spot lists is often unmanageable and would prevent access to the focal
points of your application.
From the point of view of an unfiltered class, filter sets work in both directions:
-
upward filtering
When calling a method in an unfiltered class through methods of a number of filtered
classes, upward filtering consolidates the path through which an unfiltered method
is called into a single step. This is of utmost importance when profiling servlets
or Enterprise Java Beans through an application server, where the entry point of
your class might be buried several hundred methods deep in the application server's
framework. Similarly, for GUI applications, the AWT call sequence is container based
which makes it next to impossible to find callbacks like
MyAction.actionPerformed or MyComponent.paint
without upward filtering of the java.awt.* and
javax.swing.* classes.
-
downward filtering
When using external class libraries, most of the time the inner details are not
important in performance analysis and optimizations, as they are delivered in
binary form and are subject to a vendor controlled update cycle. Downward filtering
consolidates a call into a filtered class into a single opaque call. This greatly
reduces unwanted detail and directs the focus to the most important parts
of your application.
-
Adding new filter sets is done by clicking the [New] button
on the right hand side of the tab. A new row is added to the filter sets table and you
proceed as described below for editing filter sets.
-
Editing an existing filter set is done by directly entering information
into the columns of the filter sets table.
- Double-click on the "Name" column to change the name of the filter sets.
This name is used for filter set selection in the
profiling settings dialog.
- Double-click on "Filtered packages" to change the list of filtered packages.
Entries designate the start of a package name such as javax.ejb
and are separated by commas such as in javax.ejb, javax.naming.
-
Deleting an existing filter set is done by selecting the filter set which
is to be deleted and clicking the [delete] button on the right hand
side of the tab or choosing Delete from the context menu.
Note that sessions which previously had this filter activated will lose this
filter set and not regain it if you re-add a filter set with the same name.