Quest Software recently released JProbe 8.0, a Java code, memory, and coverage profiler. While JProbe has been one of the leading Java profiling tools since the late 1990's, in recent years Quest has faced stiff competition from the likes of YourKit and JProfiler, both providing similar features, but at a lower price point. JProbe 8.0 aims to help Quest regain the leadership position in the profiling market with a new Eclipse plugin and a more competitive price point. InfoQ spoke to Quest Software's Wayne Chan to get the inside scoop. Wayne characterized the new release as follows:
"JProbe 8.0 features two primary new improvements. JProbe 8.0 now offers a plug-in for the Eclipse Java IDE enabling smoother code to testing transitions. With this new capability, developers have the ability to conduct memory analysis and code coverage seamlessly in the Eclipse Java IDE. In the coming months, we also plan to add performance analysis capabilities to our Eclipse Plug-in to allow users to investigate performance bottlenecks without having to leave the Eclipse environment. It also promotes the adoption of performance testing best practices resulting in faster mean time to resolution. The other primary enhancement is improved usability through a refreshed UI for an enhanced look and feel and a more intuitive workflow. We’ve greatly improved component functionality, data visualization and its investigative tools to enable quicker and more efficient analysis and diagnosis of memory allocation issues."
To the important question, how will JProbe 8.0 make developers' lives easier, Wayne responded that JProbe's Eclipse plugin will allow developers to profile their code without leaving Eclipse, which increases efficiency and productivity. Furthermore, JProbe's automation capabilities (the ability to control all aspects of JProbe from an Ant build script) provide a mechanism to facilitate "continuous performance testing", which is an extension to test-driven development and continuous integration that provides support for automatically discovering and profiling unit test cases. In short, the automation features in JProbe remove the manual process of capturing performance snapshots which can be error prone and if a project is too large, can be inconvenient to perform on a regular basis.
In addition to Eclipse integration, Quest redesigned JProbe's user interface. The following screen shots illustrates some of the changes:
Why should you choose JProbe over its competition? Wayne identifies the following differentiators:
"JProbe’s ability to plug into the Eclipse Java IDE for seamless code profiling is a clear differentiator. Not having to jump out of your IDE and open up a separate console to perform your unit tests can provide a boost in productivity and efficiency. JProbe is also backed by Quest Software’s world-class support which provides phone and e-mail technical support as well as the JProbe Community which brings together both Quest’s R&D team and other JProbe customers – creating an environment for collaboration and technical discussion/support. Along with the technical support, Quest offers free major and minor product upgrades when a customer is current on maintenance. JProbe also offers integration with PerformaSure, Quest Software’s performance diagnostic solution – coupling multi-JVM and multi-tier Java performance diagnostics with line-level root cause analysis. This provides a complete, integrated solution for conducting unit performance testing and integration/load testing across the Java distributed systems stack in an pre-production environment."
In its initial release, JProbe's Eclipse plug-in supports memory analysis of JProbe generated heap snapshots and JVM generated heap dumps, as well as coverage snapshots Subsequent releases will allow developers to capture and analyze memory, coverage, and performance snapshots all from within Eclipse. Quest released the memory analysis Eclipse Plug-in as JProbe Freeware, which supports analyzing JProbe snapshots or JVM heap dumps. And to fully make use of JProbe inside Eclipse, Quest will be shortly releasing a white paper describing how to exploit JProbe's automation features to integrate with Eclipse's Ant support.
Beyond the free plug-in, pricing starts at $698 per developer (USD).
More information about memory profiling in Eclipse is available in a Quest white paper presenting best practices for memory analysis in Eclipse and more information about performance and scalability can be found at http://www.infoq.com/performance-scalability.