The NetBeans IDE 6.7 is here to embrace its users. The best way to do it is to establish a synergy between the NetBeans developers and their users/partners using the IDE. The NetBeans community has always been wonderful, provided a lot of valuable feedback. Moreover our community is of developers. We can asked them to debug, profile, and even fix, if we give them the right tools.
Good Tools Make Everything Simpler
We are proud to announce that the NetBeans IDE 6.7 has been enhanced with several self diagnostic tools to help with "in field" identification of what is wrong and to simplify submission for such reports to appropriate developers.
Profile Me Now!
There is a dedicated "Profile Me Now!" button in the toolbar to start, stop self profiling in any distribution that includes NetBeans Profiler. Make sure the Memory toolbar is displayed (step 0). Then click on the button to let the system start capturing thread dumps from the running IDE (step 1). In case the button is not visible go to Tools/Plugins and enable Java Profiler. Then work in the IDE, emulate an action which seems to be slow. Press the button again to turn the self profiling off (step 2). The system then generates standard NetBeans Profiler snapshot and shows it. Now the time has come to analyse the dump or attach it to issuezilla's bug report. (Note: when attaching snapshots to bug reports, please use the default .nps format as it is not possible to import other formats into the profiler).
The work was meant as a joint venture of the profiler and performance teams. However most of the glory belongs to profiler team. It donated the sampler, redesigned way to convert its results into its snapshot format and also provided basic UI integration. The performance team encouraged that, helped with planning and provided emotional support.
The work is useful of its own, but there is much more to be done. VisualVM can benefit from the sampler as well. The automatic analysis of slowness can be also very helpful during testing and help NetBeans faster understand own performance problems.
Am I Leaking!?
In case the system throws OutOfMemory exception a file is generated to $userdir/var/log or similar directory and the user is asked (maybe on next start) to send this file to NetBeans.
Requires changes to launcher to pass in additional parameter and a way to transfer 400MB file to issuezilla.