What's New in 1.6

This document contains descriptions of some of the more interesting or significant changes made to CodePro profiler in the 1.6 release.

User Interface

BCI Filters Configuration

BCI package filter was enhanced. This filter allows configuring packages that are instrumented by BCI. The filter now supports interaction with BCI filter sets.

CPU View High level grouping of elements

Support of high level grouping within CPU views was implemented. This feature will dramatically reduce the deepness of call stacks in the tree viewers. The following element groupings were introduced:
  • Group deterministic sequences of method calls into the single node
  • Group methods from the same package under a single parent node
  • Group methods with low cumulative times under a single parent node

CPU Filter Enhancements

CPU View filters were enhanced in the following ways:

CPU View package filter was enhanced. This filter allows configuring packages and classes that are shown in the CPU snapshot views. The filter now supports both exclude-only and include-only policies, as well as configuration from predefined profiler filter sets or the workspace.

Profiling filter sets were introduced. This feature allows the user to save filters in named filters sets.

Triggers

CPU Profiling triggers wa

Profiling triggers allow the profiler to automatically react to certain events in the JVM and perform a number of profiling-related actions.

Profiling triggers may be installed by performing right click on the Java editor ruler and selecting the Toggle Profiling Trigger menu item:

Then trigger may be configured using the Trigger Properties property page which also may be accessed from the Java editor ruler.

Core

Profiling API

The Code Pro Profiling API is contained in /plugins/com.instantiations.jvmti.agent/agent.jar in your CodePro Profiler installation directory.

Call static methods of com.instantiations.profiler.api.Profiler class from your source code to influence the run time behavior of CodePro Profiler.

Profiling API JavaDoc

Agent Controller Enhancements

Current release includes numerous improvements and bug fixes in agent controller code.

Performance Improvements

Highly optimized algorithms were implemented in most computationally intensive parts of profiler. This allows profiler to operate much faster and consume less memory.

We have performed benchmarking of CodePro Profiler and newest versions of YourKit and JProfiler using benchmarks from SpecJVM2008.

We have configured all profilers to have the same filters before benchmarking.

The results are following (bigger score means better performance, less profiling overhead)

Benchmark YourKit 7.5JProfilerCodePro Profiler (flat mode) CodePro Profiler (BCI)
compiler.compiler0.37 0.321.69 1.30
compiler.sunflow0.08 0.060.62 0.42
compress0.06 0.020.29 0.23
crypto.aes0.40 0.301.67 1.42
crypto.rsa0.57 0.422.52 2.23
crypto.signverify0.06 0.110.34 0.26
mpegaudio1.73 0.512.08 1.73

Previous releases

What's New
in 1.5

See what features were introduced in the 1.5 release.