Easy to Learn Java: Programming Articles, Examples and Tips

Start with Java in a few days with Java Lessons or Lectures

Home

Code Examples

Java Tools

More Java Tools!

Java Forum

All Java Tips

Books

Submit News
Search the site here...
Search...
 
Search the JavaFAQ.nu
1000 Java Tips ebook

1000 Java Tips - Click here for the high resolution copy!1000 Java Tips - Click here for the high resolution copy!

Java Screensaver, take it here

Free "1000 Java Tips" eBook is here! It is huge collection of big and small Java programming articles and tips. Please take your copy here.

Take your copy of free "Java Technology Screensaver"!.

JFluid - a profiling tool for the Java programming language

JavaFAQ Home » Java Tools Go to all tips in Java Tools


Bookmark and Share

Good to know: JFluid - a profiling tool for the Java programming language that allows you to profile an arbitrary subset of your program, that can be changed on-the-fly, while the program is running. This is a capability not available in any other profiling tool for Java at this time. Since JFluid relies on our unique dynamic bytecode instrumentation mechanism, it can run only on our specially modified HotSpot VM (currently derived from JDK(tm) version 1.4.2).

In JFluid, you can select your application's methods to profile by pointing at a single method. This method is then treated as a call subgraph root. JFluid instruments this method, and also all methods that it calls, transitively. In other words, it dynamically reveals a whole call subgraph. Special bytecode packets are injected into these methods on-the-fly, so that they start to generate profiling events such as method entry and exit. These events are recorded, and then the obtained performance data is displayed in the standard forms of context call tree (what you see e.g. in OptimizeIt) and sorted accumulated method time list.

Alternatively, you can instrument and profile an arbitrary code fragment within a method. This kind of instrumentation is extremely lightweight and inobtrusive, therefore in this way you can obtain very precise CPU time measurements.

Finally, you can activate and deactivate memory profiling, that allows you to see the number and types of all objects allocated by the program, the locations where these objects are allocated, and the call paths at the moment of allocation. We are using a special semi-statistical technique for gathering information about call paths, that results in a highly controllable, and usually quite modest, overhead when collecting this kind of information.

To learn more about the JFluid tool, read the documentation page (http://research.sun.com/projects/jfluid/help.html) (this is the same page that is available from within the tool when you hit "Help"). Click here (http://research.sun.com/projects/jfluid/download) to download JFluid.

Future:
At present JFluid is an experimental technology. The possibility of productizing the JVM changes necessary to run JFluid, as well as the tool itself, is being discussed, but no firm decisions have been taken yet. Note that if the JVM API that is currently used by JFluid becomes a standard, it could then be used by any tool from any vendor, for example for inobtrusive EJB application monitoring, fault injection, and other interesting things.
All info is here:
http://research.sun.com/projects/jfluid/



 Printer Friendly Page  Printer Friendly Page
 Send to a Friend  Send to a Friend

.. Bookmark and Share

Search here again if you need more info!

Custom Search



Home Code Examples Java Forum All Java Tips Books Submit News, Code... Search... Offshore Software Tech Doodling

RSS feed Java FAQ RSS feed Java FAQ News     

    RSS feed Java Forums RSS feed Java Forums

All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest 1999-2006 by Java FAQs Daily Tips.

Interactive software released under GNU GPL, Code Credits, Privacy Policy