Java Performance Analysis Tools

Eclipse Ready

 

 

 

 

 

CodePro ProfilerGeneral Features
of CodePro Profiler

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

screenshotThe 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

screenshotTelemetry 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

screenshotForce 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

screenshotHTML, 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