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 The IDE!
There is a dedicated "Profile The IDE!" button in the toolbar to start, stop self profiling in any distribution that includes NetBeans Profiler. Make sure the Performance 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 IDE snapshot and shows it. Now the time has come to analyse the dump or use the "Attach IDE Snapshot to bug..." button to attach it to already existing issue.
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.