The Java(TM) programming language, with its portability object-oriented mod
el, support for multithreading and distributed programming, and garbage col
lection features is becoming the language of choice For the development of
large-scale distributed applications Without a suitable performance analysi
s tool for Java programs, however, it is often difficult to analyze the pro
grams for performance-tuning problems. The profiler included in Sun's Java
Development Kit (JDK(TM)) 1.1 does not provide sufficiently detailed trace
information to address performance issues in large applications. Also, if d
oes not support the tracing of client/server applications, which are very i
mportant 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 applicatio
n program. JaViz provides a graphical display of the program execution tree
for the entire distributed application in the form of a call graph for eas
e of visualization. A number of features allow users to analyze the executi
on free for performance-tuning problems more easily than other Java perform
ance monitoring fools. The usability and functionality of the JaViz fool se
t is demonstrated by applying it to an example distributed Java application
program.