Java Profiler Project Properties

Once a new project is defined using the New Project wizard, certain
additional settings specific to Java Profiler need to be set before profiling
can proceed. This dialog box can also be accessed from the menu: Project -> Properties Editor...

Profiling Type

Development-mode profiling: This mode of
profiling is useful when you want to profile an application that is still
under development. You will be able to collect more data for such
applications.

On demand profiling: This mode of profiling
is useful when you want to profile an application that is already
deployed. This type of profiling imposes lower overhead on your
system.

Profiling Options

Specify the information you would like to obtain while
profiling your application simply by selecting or clearing the corresponding
checkboxes.

Memory Profiling: Memory
profiling provides information about various classes, instances, etc. in your
application. By enabling this option you can see information like what are
the different classes loaded, their size, instance count etc. You also see
information about heap memory and garbage collection.

CPU Profiling: CPU Profiling
provides detailed information about the methods such as number of times it
has been invoked, the execution time, etc. You can also analyze the methods
that have taken time more than the specified threshold time (Hotspot
threshold).
You can exclude or include packages that you want, to
streamline your application's profiling. You would generally want to exclude
all third-party packages as their performance measurement will not give a
true picture of the packages that you have created or are testing. A
comprehensive list is provided to you by Java Profiler. You can
add/delete/modify packages that you want to exclude through Customize Filter...button provided.
It is recommended that you select Include Filter packages, add packages of
your application and select them, for best results. Please note that Filters are case sensitive.

Thread Profiling: Thread
profiling provides information about the threads running in your application.
By enabling this view you can see information like what are the different
threads running, their status, etc. You also see information about deadlocks
and monitors.

Instrumentation Options

This option enables you to specify how to instrument the profiled Java
classes.

Dynamic Instrumentation: Dynamic
instrumentation instruments the classes at the runtime when the class gets
loaded by JVM to get Method start/end and object allocation notifications. This option is typically faster then No instrumentation option

No Instrumentation (Use events/callbacks):
This option is used for getting details about methods of all the classes that
gets loaded by the JVM. No instrumentation will be done thus no packages are
filtered in this case. JVMPI events are fired for each method and each class.
This option is very comprehensive, however tends to be slower than Dynamic
Instrumentation.

Launch Instructions

A complete step-by-step instruction note is provided for your
Java Profiler application. This note shows you what are the steps Java
Profiler will take to begin profiling. This instruction tab is shown only when you have not selected to Launch application automatically at Project -> Preferences... -> Target Settings