Configuring Profiling Settings



1. What are profiling settings?

Profiling settings are settings that control the way profiling data is recorded. The must be adjusted according to your personal needs before the session is started. Unlike view settings, profiling settings cannot be changed during a running session. The primary distinction between profiling settings and view settings is that profiling settings are irreversible. If you wanted to change them during a running session, there would be a loss of data, or an inconsistency between data recorded before and after the change.

Profiling settings are persistent, just like view settings. Every change you make to the profiling settings will be remembered across restarts.

2. Limiting the recorded profiling data

Why doesn't JProfiler just record everything it can and shows it to the user? The answer is twofold:

In principle, reducing the information depth can be done after recording. The view filters in the CPU views are such an example: the internal call structure of all classes that do no match the selected view filter is removed from the call tree. However, especially the increased memory consumption of profiling is critical: if you do not have enough physical memory available, the profiled JVM might become unstable or even crash. So in practice, you should record as little data as possible. With appropriate profiling settings you choose the required detail while retaining an acceptable runtime performance.

3. Profiling settings templates

At first, the number of profiling settings can be quite overwhelming and the performance implications might not be quite clear. Because of this, JProfiler offers templates for profiling settings. When you start a session, a dialog is displayed where you can select one of several pre-defined templates. Below the combo box, a description and two overhead meters for CPU and memory overhead help you in judging whether the profiling settings are acceptable for you. Please note that the overhead meters do not give any absolute values, that would not even be possible theoretically, as JProfiler has no way of knowing the runtime characteristics of your application. Rather, they are hints that allow you to compare different profiling settings.

Each profiling settings template defines certain values for the profiling settings that can be viewed and modified by clicking the [Customize profiling settings and filters] button. When you modify and save those settings, the template combo box displays that the profiling settings are "Customized".

4. Accessing the profiling settings

There are three locations where you can access the profiling settings in JProfiler.

5. Overview of the various profiling settings

The most important profiling settings are: