Browse Prior Art Database

Table-Driven Trace Record Formatting

IP.com Disclosure Number: IPCOM000040318D
Original Publication Date: 1987-Oct-01
Included in the Prior Art Database: 2005-Feb-02
Document File: 3 page(s) / 15K

Publishing Venue

IBM

Related People

Ku, KS: AUTHOR [+2]

Abstract

In a VM/SP operating system, in order to do operations such as multi- tasking, and sharing of common storage by a group of virtual machines, one needs a way to collect trace information. This must be done in a way that produces current and identifiable information. Tracing must be done so as to allow tracing to both an internal and external trace table. Such a trace table can be implemented as follows: The external trace is invoked by the CPTRAP function in CP and the ETRACE command under GCS (that is, Group Control System; see IBM manual SC24-5249 for a definition of terms). CPTRAP records the trace data passed to it by GCS. The TRAPRED function of CP can be used to format the trace entries collected by CPTRAP.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 46% of the total text.

Page 1 of 3

Table-Driven Trace Record Formatting

In a VM/SP operating system, in order to do operations such as multi- tasking, and sharing of common storage by a group of virtual machines, one needs a way to collect trace information. This must be done in a way that produces current and identifiable information.

Tracing must be done so as to allow tracing to both an internal and external trace table. Such a trace table can be implemented as follows: The external trace is invoked by the CPTRAP function in CP and the ETRACE command under GCS (that is, Group Control System; see IBM manual SC24-5249 for a definition of terms). CPTRAP records the trace data passed to it by GCS. The TRAPRED function of CP can be used to format the trace entries collected by CPTRAP. TRAPRED in turn gives control to the GCS format routines when it has determined that a GCS trace record is to be formatted. The GCS trace formatting is implemented via a table-driven code mechanism. This approach is taken for several reasons. The table- driven mechanism allows the addition of trace entries without major design or code revisions.

The table-driven code is chosen to entirely encapsulate the information of all trace entries into one common place, the table.

This makes it easy to modify old trace entry formats or add new trace entry formats, since the trace formatting specific information is wholly contained within the table. The table-driven mechanism is very reliable. Since the logic on how to format a given entry is contained in the table itself, and the routines used to manipulate the table are generalized for formatting any type of trace entry, it becomes easy to test and ensure reliability of the program. The generalized routines are simplified due to the fact that the trace formatting information is contained in the table. These routines are executed over and over for each trace entry being formatted. The testing of the table-driven portion also becomes easier since the table easily lends itself to full permutations of formatting a given trace type. There are two parts to the selection of table-driven mechanisms developed for GCS trace formatting: the table which contains the trace entry specific information and the generalized routines used to manipulate the table entries. The table contains the information for the formatting of all trace entry types. For each type of trace entry there are multiple line entries in the table.

Each line entry has a specific purpose in the formatting of a trace entry. A line entry consists of the following fields: Type Code

Line Number

Field Number

Output Displacement

Compare Data Field

Compare Equal Action Code

Compare Unequal Action Code

Conversion Routine Address

Input Address

Length The type code field defines the type of trace entry being formatted (e.g., Dispatcher, SVC, Getmain, etc.). The line

1

Page 2 of 3

number field defines the output line number being processed relative to the trace entry currently being processed. The outp...