The controlling program (DFHDU640, DFHTRDUF, DFHTRPRA, or DFHTRPRG) is responsible for acquiring the trace formatting control area (TRFCA), which is used for communication between the different routines.
As far as possible, the necessary code is constructed of routines that can run in all four environments. Subroutines required by the common code that cannot themselves be common (such as the line print subroutine) have their addresses placed in the TRFCA by the controlling program.
The controlling routines are:
A noncommon subroutine required in all four environments is:
The common routines required in more than one environment are:
The components of the trace formatting function are shown in Figure 89.
GTF entries with the CICS format ID X'EF' are written from parts of CICS that run asynchronously with the mainline code, as well as from the trace domain itself. The source of the entry is identified by the type byte in TREN_TYPE in the entry header. See DFHTREN in the CICS Data Areas manual for a full description of the trace entry header.
Type Source of entry
00 TR domain
01 not used
02 DFHMNSVC
03 ‘normal’ CICS VTAM exit
04 CICS VTAM LERAD/SYNAD exit
05 CICS VTAM TPEND exit
06 CICS VTAM HPO exit
07 CICS VTAM HPO LERAD/SYNAD exit
For trace formatting, the different types run on different MVS™ threads. Because CICS entries can be split into several GTF entries due to the 256-byte restriction on GTF entry length, it is possible that header and continuation entries of the different types may be interleaved on the GTF data set. DFHTRPRG allows for this by having 4KB buffers for each type in which it can reconstruct segmented entries. This is made all the more relevant when it is recognized that there could be several CICS regions writing to the GTF data set at the same time. Not only may different types become interleaved, but also records of the same type but from different CICS regions. For each type there can be up to five 4KB buffers for reconstructing the segmented entries to ensure that all the entries for any region are formatted completely and correctly. This makes the segmenting of the entries transparent in a formatted GTF trace, although they appear in order of completion and so may be out of time sequence.
[[ Contents Previous Page | Next Page Index ]]