|
The IBM extensions provide two types of additional features to Memory Analyzer:
- Always on extensions which require no action from the user.
- Pull down menu extensions which provide the ability for users to generate reports and information about various parts of the application
Always on Extensions
Some IBM extensions are "always on," meaning that various views show additional information about an object, either by adding
more information next to the object, or by replacing the object name with something more meaningful.
In the case shown below, the selected object now describes how many sessions are in the MemoryStore, and what Web application those
sessions are for: "PlantsByWebSphere at /PlantsByWebSphere currently with 1000 sessions plus 109038 overflow sessions". With the IBM
Extensions the object now immediately describes the origin of the memory use.
Figure 1. Sessions in the MemoryStore
In the Dominator tree, grouped by Class Loader view (which is a list of objects that together retain the entire Java heap),
the always on extension replaces the name of the class loader with a description of what it loads. For example, the selected entry
in the screen shows "app:PlantsByWebSphere" for the class loader of the PlantsByWebSphere Web application.
Figure 2. Dominator tree view
Pull down menu extensions
A number of the IBM extensions are executable queries that can be found under the Query Browser pull down menu.
The IBM Extensions can be found under the IBM Extensions category and are divided into four sub-categories:
- Utilities
- Java SE Runtime
- CICS Transaction Gateway
- WebSphere Application Server
These pull down menu extensions provide reports on different aspects of the IBM software. Below are some examples:
Utilities
-
Find Garbage Fragments: Searches the Java heap for fragments (chains) of objects on the Java heap that are eligable
for garbage collection. These fragments are then displayed in descending order of retained memory.
-
Export Object: Enables an object graph to be written as a textual representation to a text file. The query allows you
to specify the output file using -outputfile and the depth of the tree to write using -maxdepth.
Java SE Runtime
-
Overview: Provides a summary of the Java runtime and process, including vendor, version, operating system, Java home
directory, class path, and command line.
WebSphere Application Server
-
Overview: The WebSphere Application Server Overview query is a simple query that shows the version and fix pack level
of the WebSphere Application Server® currently running, along with the server, node, and cell name, the inferred start up time of the
process, and a list of all applications and their running state. It also includes an experimental section breaking down the memory usage
of the Java heap according to components.
-
HTTP Sessions List: One common class of problems is related to applications' usage of HTTP sessions. In addition to
OutOfMemoryErrors, other issues include finding the contents of sessions, timeout values, session identifiers, and the applications to
which the sessions belong. There are many implementation details that make finding sessions and their values non-trivial. These details
include different class names across different versions of the product and multiple maps per session (one for persisted sessions and the
other for non-persisted sessions, both of which might be active in a single session).
The HTTP Sessions List query will extract all of this information into a tree view. The columns below the dotted line in the figure are
a continuation of the columns above.
Figure 3. HTTP Sessions list tree view
Each session object can be expanded to reveal its key/value pairs. In Figure 4, there are five attributes in the session.
Each key is of the form sessN and the value is a custom object. If the value is something other than a String, then the row can be
expanded to reveal the object.
Figure 4. HTTP Sessions list expanded tree view
CICS Transaction Gateway
-
Overview: Provides a basic overview of CICS Transaction Gateway, including version and build information, the
configuration that it is running with, and a list of all the environment variables set.
-
Active Conversations: Provides all the active IPIC conversations in the CICS Transaction Gateway, the session they currently have and
their states.
|