NetBeans Profiler Looks the Business

It's not often that I get to use the word "cool" and not feel as if I've just badly failed an audition for the Starsky & Hutch movie sequel. However, the NetBeans team has released Milestone 6 of the NetBeans Profiler. This remarkably cool (there I said it) piece of software provides a NetBeans plugin for Sun's JFluid profiling technology. Like other profilers, JFluid allows you to view giant scrolly graphs of the threads running in your Java applications, view memory profiles and so on.

But the coolest part of all is that JFluid has dynamic bytecode instrumentation at heart, meaning (in practical terms) that it allows you to connect to a separate Java application (even one running remotely). You can profile the entire application or select a subset of its code to profile.

The app being profiled can be started independently of JFluid. However, you have to make sure that your app is running in the "special" VM which ships with JFluid. I tried it today, and it works like a dream (albeit a slightly buggy dream - but it's still early days for this promising new technology).

In fact I tried Milestone 6 using NetBeans 4.1 beta, and got a serious taste of the (near) future. NetBeans is looking really good these days, and the UI for NetBeans Profiler is also seriously slick.

I still maintain (as per my previous blog post) that Sun has a long way to go, culture-wise, before they could be considered a "software applications" company (assuming they want to be called that); but they do seem to be heading in the right direction.

About the Author

Matt Stephens is a senior architect, programmer and project leader based in Central London. He co-wrote Agile Development with ICONIX Process, Extreme Programming Refactored, and Use Case Driven Object Modeling with UML - Theory and Practice.