Home
Calibration
Instrumenting the bytecode of the profiled application imposes some overhead.
To guarantee the high accuracy of profiling results, Profiler needs to collect calibration data
in order to "factor out" the time spent in code instrumentation. You need to run the calibration process
for each JDK you will use for profiling.
Calibration data is stored for each JDK in your home directory in the
.nbprofiler directory. If the calibration data is missing or cannot be read,
the following warning is displayed and the profiling stops:
How to run the calibration
When performing calibration, make sure that no other programs are running on
the same machine (or at least that no other program is performing any significant
computation at the time). Profiler will run the calibration regardless,
but running any CPU-intensive programs when performing the calibration may affect the
accuracy of profiling results.
Warning: If you are profiling on a computer that has a processor with dynamic CPU
frequency switching feature (like SpeedStep or PowerNow on modern notebooks),
ensure that this is disabled when running the calibration and that the calibration is run at the same CPU
frequency as when profiling.
There are two scenarios for running calibration:
Calibration for local profiling. To collect calibration data for profiling
on local system, choose Profile -> Advanced Commands -> Run Profiler Calibration
from the main menu. The following dialog is displayed:
Choose the Java Platform that will be used for profiling and click OK.
The following dialog is displayed after the
calibration is complete. You can then start to profile
your application locally.
Calibration for remote profiling. To collect calibration data on a remote system
for profiling remotely, download the Profiler server bundle for the appropriate platform
at http://profiler.netbeans.org/download/index.html
and unzip the archive on the remote machine. To calibrate, run the calibrate.bat/calibrate.sh
script placed in the bin directory. When calibration is complete, the results of the calibration
are displayed in the console. You can then start to profile your remote application.

When to rerun calibration
You should rerun the calibration when anything changes on your local/remote configuration that could affect
system performance, such as the following:
- Any hardware upgrade
- Any significant change/upgrade of the operating system
- An upgrade of the Java platform used for profiling
You should never share calibration data between various computers or systems.
See also