How to create a profiling snapshot if I want to report a performance problem?
Since NetBeans 6.7, there is the Profile Me Now! feature which you can use to easily create a CPU profiling snapshot of any operation in the IDE you think is unacceptably slow. The snapshot then can be sent via e-mail or attached to a bug report, providing detailed information for analyzing the problem.
Enabling the IDE's self-profiling feature
- Turn on the Memory toolbar (right-click the IDE toolbar).
If it is not available, or the Profile Me button is missing in it, you must enable or install Java Profiler:
- Go to Tools | Plugins.
- Select the 'Installed' tab.
- Look for Java Profiler plugin. If it is there, select it and activate.
- If not under installed, the plugin needs to be downloaded first. Select the 'Available Plugins' tab, find Java Profiler, select it and install.
Steps to use
- Prepare the IDE so you can just start the operation to be profiled.
- Press the Profile Me button in the memory toolbar (or Alt+Shift+Y) to start the profiling.
- Perform the operation.
- After the operation is done, press the Profile Me button (or Alt+Shift+Y) again.
The IDE creates a profiling snapshot and opens it; you can now save it to a file.
- To provide a useful snapshot, try to isolate the problematic operation as much as possible so the snapshot does not contain other irrelevant data. For different problems create separate snapshots. Make sure there are no other CPU-heavy tasks running on your computer.
- The CPU snapshot is in fact a set of thread dumps taken several times per second (sampling technique). It has a very low overhead, so almost does not affect the running IDE. It is not suitable for profiling very short operations (under 1 second). The snapshot contains no memory data. In case of problems with memory, see how to create a memory dump.
- Check the memory bar to make sure the IDE does not run close to memory limits (click the bar to force garbage collection). In such case the slowness is caused by frequent garbage collections, and the whole problem is likely memory-related. You might see OutOfMemoryError too. In such case a memory dump is needed.
Applies to: NetBeans 6.7 and newer