System News
Using Sun Studio Performance Tools to Profile Java Applications
The Role of the Java Virtual Machine
September 11, 2006,
Volume 103, Issue 2

Marty Itzkowitz has written a Sun Developer Network article entitled [url "http://developers.sun.com/prodtech/cc/articles/javapps.html" "Profiling Java Applications with Sun Studio Performance Tools"] that walks readers through the process described in the title. The author begins the piece with a description of how JavaTM technology applications typically run. The article continues with comments on how profiling a Java application begins with data collection using the JavaTM virtual machine (JVMTM*) running the actual application. Itzkowitz lists the commands collect and dlopen.

Turning to browsing the data, the author explains that this can be done with either the GUI analyzer or the CLI er_print, and that three modes of examining the data are available that include the user representation, the expert representation and the machine representation, the user representation being the default. He discusses each in detail.

Itzkowitz points out that marking data is necessary if one wishes to measure the performance of GUI operations, considering use of both the signal-control of data collection techniques and the collector API, which he supports with code samples as he discusses the steps used including modifying the classes; compiling the changed classes; packing the new .class files into a new SE.jar file; and ensuring the new SE.jar file and libcollectorAPI.jar is loaded.

The article covers "advanced" topics of the Analyzer Timeline, specifically the control over coloring of classes and methods and the control over non-CPU-time profile displays. Signal controls of data collection are talked about as are profiling of startup time and steady-state behavior of applications. The technical article includes many code samples and an illustration of the experiment of the Timeline. The article concludes with the process of profiling NetBeansTM with the Sun Studio tools described earlier in the paper.

*The terms 'Java Virtual Machine' and 'JVM' mean a Virtual Machine for the Java platform. [...read more...]

Keywords:

fullsource
 

Other articles in the Developer section of Volume 103, Issue 2:

See all archived articles in the Developer section.



News and Solutions for Users of Solaris, Java and Oracle's Sun hardware products
Just the news you need, none of what you don't – 42,000+ Members – 24,000+ Articles Published since 1998