One of Steve‘s bookmarks reminded me of the profiler in NetBeans. I started using the Profiler (or JFluid as it was called back then) about a year ago when I was working at BMC. Large scale Java development always calls for a profiler sooner or later, especially when you’re (a.) writing a platform for other to write code for, or, (b.) pulling in data from across the network. Inevitably, someone else writes code that doesn’t clean up after itself, or there are networking or file system issues (usually caused by us) that eat up handles or eat up memory by not closing out threads. As I recall, Windows had a handful of quirks in these areas that caused several of the dread OutOfMemory exceptions.
When You Need a Profiler Yesterday
When it comes to profilers free is your best bet. Unless you’ve been wise enough to plan ahead and purchase a profiler, in a bureaucratic shop, you won’t have enough time between purchasing a profiler and fixing the memory leak. You usually need to figure out the memory leak in a matter of days because you’re always finding them right before release. See Murphy’s Law. Good luck getting a purchase through that quick at a large company. And even if you could do it quickly, the simple act of buying a product instead of downloading it is going to eat up precious time. While you could get trials of profilers, in my experience, developers are leery of anything that requires them to fill out paper work, for example, after the 30 day trail ends. It’s tough charging for profilers.
Thankfully, there are several free profilers available. Many of them are difficult to setup and not well documented. The NetBeans Profiler is neither of those, however: setting it up is easy, and the community around it (as The JC found out) is responsive enough to fill in any holes in documentation and fix bugs. I had a fantastic experience using it.
Viral
The only “problem” with it is that it’s in NetBeans instead of Eclipse. I say problem because I was and am an Eclipse coder. I haven’t used NetBeans for years. However, the NetBeans profiler is so good that we ignored that problem and went through downloading and setting up NetBeans to use it.
Put another way, the NetBeans Profiler was the reason I started using NetBeans again. While I didn’t use it for development, I downloaded and installed it, and I’d be lying if I said I didn’t think of trying out NetBeans again for development.
In that sense, I’m very much echoing Ed Burnette comments that tools make or break the IDE. Based on my anecdotal experience, the NetBeans Profiler could be a powerful viral way to market NetBeans. Once a developer download and uses the profiler, NetBeans has a window of opportunity to sell it’s IDE side.
Building on that, I’d like to see NetBeans promoting the profiler every chance they get. While I appreciate both the coolness and functionality of Creator and Matisse, my feel is that the profiler seems to have taken a back-seat to those two. That’s at least been the case in the conversations and reading I’ve done; I’ll be curious to see if my perception is the same after JavaOne. (Perhaps, at Dick Wall‘s suggestion, I’ll squeeze some time in for NetBeans day and see what the haps are there.)
MyProfiler
From the other angle, you could see someone making a Genuitec move and porting the NetBeans Profiler to Eclipse. Of course, that’d be a good move for Genuitec to do themselves;> Or, even more “other angle,” the NetBeans Profiler team could port the profiler to Eclipse. It’d be a strange, but exciting day, to see the usual dueling technology camps (in this case, NetBeans vs. Eclipse) model start to crack from the inside.
Disclaimer: Sun, Eclipse, IBM, and BMC are clients.
Technorati Tags: eclipse, ibm, ide, java, javaone, jfluid, netbeans, profilers, programming, performance, sunw
We would like to see you at NetBeans Day on May 15. Please be sure to register in advance. There will be demos of the NetBeans Profiler in two different sessions at NetBeans Day – drop me an email if you want more info.
With respect to the NetBeans Profiler at JavaOne, last year I did a technical session with Ian Formanek that covered the unique aspects of the NetBeans Profiler. This year I’m taking a bit of a different approach – it will be used for one of the demos I do during my BOF, Memory Leaks in Java Applications: Different Tools for Different Types of Leaks
Gregg Sporar
NetBeans Technology Evangelist
http://weblogs.java.net/blog/gsporar
I would love to have the NetBeans profiler ported to the Eclipse platform. We all benefit by having good technology available to the community.
Gregg: I plan on being there, so I'll look forward to saying hello…and checking out the BoF if I slice out the time for it.
Ian: It would be nice. Thanks for chiming in! I'll see what the profiler folks have to say on NetBeans day ;>