Sun and Oracle Community Voices How to Buy Log In United States [Change] English

»  Spotlight Articles
»  Projects
»  Publications
»  People
»  Awards
»  Events
»  Downloads
»  Internships
»  Contrarian Minds
»  About Sun Labs
Project JFluid

Sun Labs Project JFluid Transfers to Sun Software

Misha Dmitriev
October 11, 2004 - Project JFluid, a technology and a tool for low-overhead, customizable and adaptable introspection of running Java applications, has transferred from Sun Labs to Sun Software. Misha Dmitriev, the project lead, will accompany JFluid, and join the software Tools group, managed by Tim Cramer.

The JFluid Transfer

JFluid consists of two parts:

  • a set of modifications to the HotSpot JVM  
  • the profiling tool that takes advantage of the modified JVM

The VM modifications are transferring to the Serviceability Group in Java Software, managed by Janet Koenig, and the profiling tool is transferring to Tools (the NetBeans Group) in Developer Platforms.

Misha has been working with NetBeans over the last few months, and a much improved JFluid tool is now integrated with the NetBeans IDE. The JFluid modifications to the Hotspot JVM are scheduled to be incorporated by April, 2005. The first official product release for both the JVM and the JFluid tool is scheduled for April, 2005. This is a nice example of synchronous cooperative work of two Sun divisions - Java Software and Tools.

Why the JFluid Technology?

The JFluid technology is a significant differentiator for Sun's tools and JVM. Many of the capabilities and features implemented in JFluid (both VM and tool) are unparalleled in other profiling and monitoring tools. For example, these include:

Instrumenting and profiling a subset of the application code.
JFluid automatically identifies the code subset to be profiled, using just a single "root" method (for example, the doGet() method of a servlet) specified by the user. The rest of the application code continues to run at full speed. This feature allows users to greatly reduce profiling overhead; in some cases (e.g., for heavyweight server-side applications under realistic workload) they would not be able to do any profiling at all without this feature.

An innovative method of memory leak detection 
Unlike methods available in most of the existing tools, JFluid can precisely point at leaking objects while imposing reasonable (and adjustable) runtime overhead.

Attaching the tool to the running JVM on-the-fly
This allows the users to use the tool with their applications at any moment, whether or not they thought about that in advance.

While still under development at Sun Labs, numerous successive releases of JFluid were put on the Web. Eventually the technology attracted several thousand enthusiastic users, who used the tool because it worked well for them when other, often quite expensive, commercial tools did not.

In the future, this technology may provide new opportunities for users, such as detailed, yet unobtrusive, diagnostics of applications running in the field - something that many developers and administrators of large and important applications currently wish for.

URLs for web pages and project collateral

  • JFluid's new home
  • A Sun Labs Technical Report on JFluid design
  • A third-party article about the technology in the Java Developer's Journal