gtpm3m0rMulti-Processor Interconnect Facility Reference

MPIF Post-Processing Application

A MPIF post-processing application has been written to verify MPIF interconnect traffic from an online (real-time) TPF environment. This application depends on MPIF trace being set ON with real-time (tape) logging. The log tape is then used as input to this application in a TPF offline environment, using MVS as the offline post-processing system. Prerequisites to executing MPIF post-processing services would therefore include access to one or two trace tapes from a TPF real-time environment. The number of log tapes would depend on the type of report requested by the user.

Since a real-time TPF trace tape may contain many types of records, this application is designed to process MPIF Multisystem request block (MSRB) records only, using the TRCID field in the DCTTRC DSECT to identify trace record IDs containing X'00E3' as the field contents, where X'00E3' is the MPIF MSRB trace record ID.

This post-processing application is designed to be used as a debugging and/or troubleshooting tool for customers using MPIF. It generates "easy-to-read" reports for user verification of MPIF online activities. In some instances, users may install MPIF on a given CPU wanting to verify that MPIF functions are operative within this newly installed system. In this situation, users can input one trace tape from that CPU only. A report can then be generated containing "easy-to-read" displays of every MPIF activity that occurred for this specific CPU. In other instances, users may want to compare MPIF activities between two systems. This can be accomplished by inputting two log tapes. The MPIF post-processing application will then perform a CPU-to-CPU comparison of messages transferred between them, producing a summary report of traced messages.

Since this application generates two unique types of reports, a method has been devised that enables customers to specify which report is being requested. This is accomplished by generating post-processing commands that are applicable to this application only. The commands include:

PRINT
Print the contents of one MPIF trace tape only; generating a report of each traced activity.

COMPARE
Compare the contents of two MPIF trace tapes as a CPU-to-CPU analysis of message traffic and generate a summary report.

Furthermore, it is assumed that each system at a customer location is only interested in his (or her) MPIF message traffic. It is therefore important to extract logged information that meets the specific requirements of the requestor. This has been accomplished by examining all traced fields (defined in the DCTTRC DSECT) to identify those fields that are candidates for defining a search criteria. If a specific field could be used as a customer-defined search criteria, that field has been assigned a keyword to form a

KEYWORD=ARGUMENT

parameter that can be entered by users to specifically identify the MPIF traffic that should be reported. For example, the MPIF trace record contains the MPIF logical path name (referenced as TRCPATHN in the DCTTRC DSECT). If troubleshooting occurs for a specific logical path, the user can then request a report containing traffic on that path only:

PRINT PATH=FAIR3088

If a problem occurred on a given logical path on a specific day at a specific time interval, the user can further qualify the search criteria as follows:

PRINT PATH=FAIR3088,DATE=15DEC,TIME=02.15.00

This MPIF post-processing application will interpret the above report-generation search criteria as: print only those MPIF traced activities that occurred for logical path name= FAIR3088, on December 15 between 02:15 PM and 02:59 PM. The TIME= parameter functions as a START-TIME, with an implied STOP-TIME equated to "end of hour." If the implied STOP-TIME exceeds the requestor's search criteria a DUR= parameter can be specified as follows:

PRINT PATH=FAIR3088,DATE=15DEC,TIME=02.15.00,DUR=10

Using the above search criteria, the MPIF trace log tape report will contain a report of activity from 02:15 PM through 02:25 PM; treating the TIME= parameter as the START-TIME; adding DUR= to the TIME= (minutes field) to derive an explicit STOP-TIME. Stated differently, the TIME= parameter functions as a START-TIME with an implied (default) STOP-TIME equated to "end of hour" unless the implied STOP-TIME is overwritten by a DUR= parameter that specifies elapsed minutes: the elapsed minutes will be added to the START-TIME to form an explicit STOP-TIME. If the DUR= parameter forces the explicit STOP-TIME to exceed an hour, the STOP-TIME will be forced to "end of hour".

Using either an implied or explicit STOP-TIME, this application is designed to search trace tape records, examining the time stamp in the 4K block header (TRCTTIME), extracting those records that fall within the allowable TIME= range. Since the TIME= parameter is dependent on a DATE= parameter for full qualification, this application is designed to validate parameters, generating an error message if TIME= is entered without DATE= (paired parameters). However, DATE= can be entered as an independent parameter.