Tasks
The profiler has several very common tasks built in, such as standard CPU or memory profiling, or simple application telemetry monitoring. Most of the options in these tasks are preset to the common values.
Custom Tasks
A user has the ability to control all options of the underlying profiler agent by creating his own custom tasks.
Telemetry View
The profiler allows viewing key information about an application in runtime within live graphs, providing details about:
- Memory
- Garbage collection activity
- Loaded classes
- Threads
- CPU load
Telemetry view provides the following capabilities:
- Zoom
- Viewing data for concrete moment of time
- Marker for user selected time moment on all telemetry charts.
Profiler tracks the following kinds of information:
- Heap memory usage
- Committed heap memory
- Not Heap Memory usage
- Committed not heap memory
- Thread count
- Daemon thread count
- Total started thread count
- Peak thread count
- Total loaded class count
- Unloaded class count
- Loaded class count
- Active garbage collectors names
- Active garbage collectors timings
- Active garbage collectors collection counts
- Thread timings
Filters in CPU and Memory Views
The profiler provides customizable filters to reduce the depth of call trees by means of skipping successive calls of methods from classes of standard libraries, application servers, etc., and give more attention to methods of the profiled application. The following CPU and memory profiling filters are provided for method and class views.
Method based views:
- Name pattern
- Method complexity (skip getters and setters)
- Buildpath elements
- Reachability from set of root methods
- Complex filter (combination of other filters created with exclusive and inclusive operations)
Class based views:
- Name pattern
- Buildpath elements
- Complex filter (combination of other filters created with exclusive and inclusive operations)
Filters applicability:
- Class Tree View
- Class List View
- Call Tree Allocation View
- Hot Spots by Object Size Allocation View
- Method List Allocation View
- Method Back Traces View
- Method Merged Callers View
- Method List View
- Call Tree View
- Hot Spots View
- Biggest Objects View
Force Garbage Collection
The profiler provides the ability to force garbage collection in the profiled program.
Clear Session Data
The profiler provides the ability to clear current session data (reset method invocation counts, traces, etc.).
Saving Snapshots
The profiler provides for saving snapshots in the workspace and loading them later.
Snapshot Comparison
The profiler provides for making a comparison between two snapshots. Snapshot comparison provides information about all modifications of parameters which are displayed in the CPU or memory snapshot viewers.
Multiple Snapshot Comparison
The profiler provides for making a comparison of several snapshots in the form of graphs.
Exporting Snapshots
The profiler provides for exporting snapshots to HTML, PDF and XML formats.
Importing Snapshots
The profiler provides for importing snapshots from other java profiling solutions.
Reports Creation
HTML, PDF and XML formats are supported for reports.
Report wizards are implemented using the following structure:
- General page. Manages title, optional report description, and maybe some other fields that affect report content.
- Appearance page. This page allows the user to modify appearance settings of a report. Initial values are populated from the Profiler > Reports preference page. This page also allows the user to preview the report that is being generated.
- Format and output file selection. This page allows user to choose output format for report that is being created. Also this page forces the user to select the location in the workspace (container and filename) where the report will be situated. This page also contains a check box that controls whether the reports are opened immediately after creation.
The profiler provides the following kinds of reports:
- Snapshot report. This kind of report allows the user to create a report based on an opened snapshot.
- Session report. This kind of report allows the user to create a report based on an opened session.
Profiling Calibration
The profiler provides the ability to calibrate and recalibrate installed JREs. This feature takes into account profiler overhead for the profiled VM in different CPU based snapshot calculations.
JDT Integration
The following additions to JDT UI facilities are implemented:
- Custom decorator for entities included in a root set
- Custom decorator for hot spots
- One-click navigation from all views to the corresponding Java class or method
- Linking thePackage Explorer with the currently opened snapshot
