Many of the usual sources of CICS diagnostic information contain information
that applies to JVMs, including:
In addition to this CICS-supplied information, there are a number of interfaces
specific to the JVM that you can use for problem determination. The JVM's
own diagnostic tools and interfaces give you more detailed information about
what is happening within the JVM than CICS can, because CICS is unaware of
many of the activities within a JVM.
The CICS documentation provides more information about some of these diagnostic
tools and interfaces, as follows:
- Controlling tracing for JVMs tells you how you can use the
JVM's internal trace facility through the interfaces provided by CICS. The
JVM's internal trace facility can provide detailed tracing of entry, exit,
and event points within the JVM. CICS enables you to control JVM tracing by
using the CETR transaction and by using CICS system initialization parameters.
The JVM trace information that is produced is output as CICS trace (specifically,
as instances of CICS trace point SJ 4D01).
- Debugging an application that is running in a CICS JVM tells you how you can use a
remote debugger to step through the application code for a Java application
that is running in a JVM. CICS also provides a set of interception points
(or “plugins”) in the CICS Java middleware, which allows additional Java programs
to be inserted immediately before and after the application Java code is run,
for debugging, logging, or other purposes. These plugins are described in The CICS JVM plugin mechanism.
Many more diagnostic tools and interfaces are available for the JVM. The
IBM®
Developer Kit and Runtime Environment, Java 2 Technology Edition, Version
1.4.2 Diagnostics Guide, SC34-6358, which is available to download from
www.ibm.com/developerworks/java/jdk/diagnosis/ has information about further
facilities that can be used for problem determination for JVMs. You might
find the following facilities especially useful:
- The JVM's internal trace facility can be used directly, without going
through the interfaces provided by CICS. CICS uses the JVM's ibm.dg.trc.external system
property, which can be set either in the JVM properties file or through CETR,
to control tracing for the JVM. However, the JVM has several other system
properties that can be set to output trace. The IBM Developer Kit and Runtime Environment,
Java 2 Technology Edition, Version 1.4.2 Diagnostics Guide has information
about all the system properties that you can use to control the JVM's internal
trace facility and to output JVM trace information to various destinations.
You can use these system properties to output trace from any method or class
within the JVM, and to find the value of any parameters and return types on
the method call.
- If you experience memory leaks in the JVM, you can request a Heapdump
from the JVM. A Heapdump generates a dump of all the live objects (objects
still in use) that are in the JVM's nonsystem heap.
- The HPROF profiler, which is shipped with the IBM Software Developer Kit for z/OS®, Java™ 2 Technology Edition, Version 1.4.2,
provides performance information for applications that run in the JVM, so
you can see which parts of a program are using the most memory or processor
time.
- The JVM provides interfaces for monitoring, profiling, and RAS (Reliability,
Availability and Serviceability).
If you are using enterprise beans, Dealing with CICS enterprise bean problems has
more information about issues that apply specifically to them.