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...

These are the tabs:

Profiling Type

AppPerfect Java Profiler provide the following types of profiling:

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

Additional Settings

Additional settings for Java Profiler are provided in Tools -> Options... -> Java Profiler.