Express (Distributed operating systems), v8.0 > Troubleshoot and support > Analyzing application server Java system dumps with the IBM Monitoring and Diagnostic Tools for Java - Dump Analyzer > Write a new analysis module or script > Write and running a new analysis module


Helper analyzers to simplify writing other analyzers

These are Standard analyzer modules that provide services available to other analyzer modules.

In practice, it is rare to implement a new analyzer module completely from scratch, using only the low-level functions provided by the DTFJ library. On the contrary, we try to create new complex analyzers by reusing and combining the functions provided by other pre-existing analyzers. Therefore, the dump analysis tool comes with a library of basic analyzer modules that provide common functions that are often needed when writing more complex analyzer modules. These common functions essentially create an extended SPI that is available to anyone writing a new analyzer module. This library of analyzer module building blocks is expected to grow steadily over time (it is in fact a main goal of this tool to enable incremental contribution of new analysis functions). For the initial release, we provide an initial core set. Here are some of the most commonly-used modules from that core set (refer to the Javadoc for full details).


JVM-level 'helper' analyzers

The JVM-level 'helper' analyzers, in package com.ibm.dtfj.analyzer.jvm.helpers, provide a variety of functions that essentially augment the low-level functions of the DTFJ interface for access to JVM-level entities in the dump, or to simplify the use of the DTFJ functions. Key analyzers in this group include:


ObjectWrapper utilities

The ObjectWrapper utilities are a particular group of 'helper' analyzers (in package com.ibm.dtfj.analyzer.helpers.objectwrapper), specifically designed to simplify building complex analyzers that explore various Java data structures in the dump being analyzed (for example, data structures that are part of the WAS runtime). Key analyzers in this group include:


Wrappers for specific J2SE classes

The wrappers for J2SE classes, in package com.ibm.dtfj.analyzer.j2se.wrappers, are a collection of specialized analyzer modules, all extending ObjectWrapper, each of which wraps a particular class from the standard class library (such as java.util.Vector, java.util.Hashtable, etc.). Each wrapper encapsulates the knowledge about the internal implementation of the J2SE class that it wraps, and provides methods that other analyzer modules can use to access the contents of objects such as Vectors, Hashtables, etc. When appropriate, these J2SE wrappers also implement the corresponding interface from the Java Collections framework, when the underlying parent object from the dump being analyzed is itself a Collection. The only difference between this Collection and the original one is that the elements of the Collection in the Dump Analyzer tool are ObjectWrappers, rather than the original objects. The set of J2SE wrappers is steadily expanding to represent the main classes encountered in most dumps and needed to write complex analyzers such as WAS analyzers. Currently, J2SE wrappers are available for most classes in the java.util.Collections framework.

See also:

+

Search Tips   |   Advanced Search