[]  ATLANTA SPRING 82		OPA - ONLINE POOL ANALYZER FOR M PLUS V 1
				WITH ACTIVE TASK POOL USAGE REPORT

Base level:	Version KB1.0		Date:	10-MAY-82
Patch level:	None			Date:

Submitted by:	Kitty Bethe
		Bankers Trust Company
		COD - 37th floor
		130 Liberty St.
		NYC  10006

Description:	OPA displays a visual map of the data structures in pool and
their location, thus allowing system programmers/managers to determine why
their pool is so fragmented, and hopefully then rectify the situation.  This
is a snapshot of a running system, not a crash dump tool. This version of
Jim Neeland's OPA has been extensively modified to run under M Plus version 1.
It also outputs a brief report giving a count of various types
of data structures and total bytes used in pool on a per task basis before
outputting the OPA map. This is useful for finding excessive pool usage
in application programs (e.g. they don't cancel marktimes or keep reattaching
to things they already are mapped to).	This program can be run via the
LOG facility to create copies of its output on disk.

Documentation:	OPA.DOC describes the output format and some uses,
and the source is well commented (I hope).

Status:		A possibly dangerous tool in the hands of fiddlers.  This
program is on the system stack for most of its code, and in some circumstances
that time may have deleterious effects on your system.  It has been made
rather more rugged than the 3.1 version, in that it will catch its own odd
address or memory protect violations and display the PC of the last such
occurrance, and, thanks to Dan Steinberg, will continue with the analysis.
This does not GUARANTEE that it could not corrupt Pool somehow, but is much
less likely to.

Desired Enhancements: Although we all hope there will be less need for this
program with Mplus version 2, it certainly will not pick up the window
block information from external task headers, it may still work for
everything else though.
	Fancier command line processing to allow any combination of the
3 parts of its output, perhaps with default set at task build time.
	Decnet data structures picked up (this would include mapping
into XMDRV to pick up its I/O packets).
	More accurate pickup of loaded user driver data structures.

Support:	The author welcomes comments & suggestions, but does not
want complaints about possible system crashes, although will be interested in
fixes to eliminate same.

