JaViz: a client/server Java profiling tool

  • Authors:
  • I. H. Kazi;D. P. Jose;B. Ben-Hamida;C. J. Hescott;C. Kwok;J. A. Konstan;D. J. Lilja;P.-C. Yew

  • Affiliations:
  • Department of Electrical and Computer Engineering, University of Minnesota, 200 Union Street SE, Minneapolis, Minnesota;Department of Computer Science and Engineering, University of Minnesota, 200 Union Street SE, Minneapolis, Minnesota;Inxight Software, Inc., 3400 Hillview Avenue, Palo Alto, California;Department of Electrical and Computer Engineering, University of Minnesota, 200 Union Street SE, Minneapolis, Minnesota;6429 City West Parkway, Eden Prairie, Minnesota;Department of Computer Science and Engineering, University of Minnesota, 200 Union Street SE, Minneapolis, Minnesota;Department of Electrical and Computer Engineering, University of Minnesota, 200 Union Street SE, Minneapolis, Minnesota;Department of Computer Science and Engineering, University of Minnesota, 200 Union Street SE, Minneapolis, Minnesota

  • Venue:
  • IBM Systems Journal
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

The JavaTM programming language, with its portability, object-oriented model, support for multithreading and distributed programming, and garbage collection features, is becoming the language of choice for the development of large-scale distributed applications. Without a suitable performance analysis tool for Java programs, however, it is often difficult to analyze the programs for performance-tuning problems. The profiler included in Sun's Java Development Kit (JDKTM) 1.1 does not provide sufficiently detailed trace information to address performance issues in large applications. Also, it does not support the tracing of client/server applications, which are very important for analyzing distributed systems. The JaViz performance analysis tool generates execution traces with sufficient detail to determine program hot spots, including remote method calls, in a distributed Java application program. JaViz provides a graphical display of the program execution tree for the entire distributed application in the form of a call graph for ease of visualization. A number of features allow users to analyze the execution tree for performance-tuning problems more easily than other Java performance monitoring tools. The usability and functionality of the JaViz tool set is demonstrated by applying it to an example distributed Java application program.