IEATEDS - Timed event data services

Description

IEATEDS provides timed event data services.

IEATEDS allows the user to record events to a Timed Event Data Table to provide information that will help determine flow and performance. Each event is time stamped and includes data provided by the caller and additional data collected by the service. A REXX exec is also provided to obtain a formatted report of the events.

To use the timed event data service:
  1. Invoke IEATEDS with REQUEST=REGISTER to obtain and initialize a Timed Event Data Table. The size of the Timed Event Data Table is determined by the MaxEvents argument. Note that the Timed Event Data Table will not wrap. The REGISTER service will provide a Timed Event Data Token as output which will identify the newly created Timed Event Data Table on subsequent IEATEDS requests.
  2. Invoke IEATEDS with REQUEST=RECORD, passing the Timed Event Data Token and other arguments, including up to 16 bytes of user data. Several RECORD requests may be made throughout the code to understand the flow and performance. Once the maximum number of events has been recorded, subsequent requests will be ignored.
  3. Execute REXX exec IEAVFTED to output the Timed Event Data Report to a data set. The Timed Event Data Report parameters are described below and the format of the output is described in the IEATEDS macro example section. Note that IEAVFTED does not clear the Timed Event Data Table. Thus, IEAVFTED may be executed at any time to produce an up-to-date report containing all of the events that have been recorded so far.

Timed Event Data Report

The IBM® supplied IEAVFTED REXX exec is used to produce a Timed Event Data Report in either a TSO or IPCS environment. When run under TSO, the user must specify either a pre-allocated data set or a z/OS® UNIX file in which to place the report. The dataset option requires the user to allocate a data set with an LRECL of 512 and a RECFM of V or VB. The z/OS UNIX file option requires the TSO environment to have an OMVS segment. When run under IPCS, the Timed Event Data Report will normally be displayed within IPCS. An example is provided in the IEATEDS example section that shows how to have IPCS place the Timed Event Data Report into a pre-allocated data set.

The Timed Event Data Report will consist of two sections, the first section consisting of human readable text, and the second section consisting of spreadsheet data (unless the NOSS parameter, described below, is specified). Note that the IPL Statistics Table (IPST) will also be placed into the Timed Event Data Report.

The IEAVFTED REXX exec is a compiled REXX program which requires the full REXX compiler run-time libraries (at least REXX LIBR BASE MVS™ FMID HWJ9140) installed before attempting to use IEAVFTED. Note that IEAVFTED will not work with the REXX Alternate Runtime Library z/OS Base HWJ9143.

The IEAVFTED code resides in data set SYS1.SBLSCLI0. IEAVFTED must be run from a data set with an LRECL of 80 and a RECFM of F or FB.

The following describes the required and optional parameters for IEAVFTED:
  • DATASET('output_data_set') or DA('output_data_set') is used to specify the name of the pre-allocated data set where the Timed Event Data Report will be written when IEAVFTED is run under TSO. The name must be fully qualified and the data set must have an LRECL of 512 with a RECFM of V or VB. Note that one and only one of DATASET('output_data_set'), DA('output_data_set'), or PATH('z/OS UNIX file') must be specified when IEAVFTED is run under TSO. Neither DATASET('output_data_set') nor DA('output_data_set') is allowed when IEAVFTED is run under IPCS (an example is provided in the IEATEDS macro example section that shows how to have IPCS place the Timed Event Data Report into a pre-allocated data set).
  • PATH('z/OS UNIX file') is used to specify the name of a z/OS UNIX file where the Timed Event Data Report will be written when IEAVFTED is run under TSO. A z/OS UNIX file is created along with its directories with the authority options of 770. Note that one and only one of PATH('z/OS UNIX file'), DATASET('output_data_set'), or DA('output_data_set') must be specified when IEAVFTED is run under TSO. PATH('z/OS UNIX file') is not allowed when IEAVFTED is run under IPCS as IPCS does not directly support putting output to a z/OS UNIX file.
  • IPCSDA('input_data_set') is an optional specification that is used only with a special IEAVFTED invocation that will convert the spreadsheet data into a proper format in order to import it into a spreadsheet program. This is needed for the case where the Timed Event Data Report was obtained under IPCS using the example technique described in the IEATEDS macro example section. In that example technique, the output data set needs to be pre-allocated with an LRECL of 255 to satisfy IPCS, but in order to import the spreadsheet data into a spreadsheet program, the spreadsheet data needs to be in a 512 character data set or in a z/OS UNIX file. Invoking IEAVFTED with IPCSDA('input_data_set') does not produce a new report, but instead extracts the spreadsheet data contained in IPCSDA('input_data_set') and places it into the required data set as specified by one and only one of DATASET('output_data_set'), DA('output_data_set'), or PATH('z/OS UNIX file'). Parameters SS, NOSS, Component(component_name), and Comp(component_name) are ignored when IPCSDA is specified. Note that 'input_data_set' and 'output_data_set' must be different data set names.
  • Component(component_name) or Comp(component_name) is optional and is used as a filter to obtain Timed Event Data Table information for a specific component. Each Timed Event Data Table is created with the component name specified as CompName on the IEATEDS REGISTER request. When component(component_name) is specified, the Timed Event Data Report will include Timed Event Data Table information only for those Timed Event Data Tables with a matching component name. Note that if the component_name value contains blanks, it must be enclosed within quotes. The component_name value is not case sensitive and will be converted to uppercase. Also, Component(IPST) can be used to obtain only the IPL Statistics Table. When neither Component() nor Comp() is specified, all Timed Event Data Tables for all components are included in the report. Note that Component() and Comp() are ignored when IPCSDA is specified.
  • SS(char) is optional and is used to specify the character delimiter for the spreadsheet fields. The default character is a semicolon (;). Note that SS(char) is ignored when NOSS or IPCSDA are specified.
  • NOSS is optional and is used to cause the spreadsheet data to be omitted from the Timed Event Data Report. Note that NOSS is ignored when IPCSDA is specified.
  • HELP or ? is optional and is used to get a description of IEAVFTED and its parameters.

Environment

The requirements for the caller are:

Environmental factor Requirement
Minimum authorization: Supervisor state. Any PSW key.
Dispatchable unit mode: Task or SRB
Cross memory mode: Any primary, any home, and any secondary address space
AMODE: 31-bit
ASC mode: Primary or access register (AR)
Interrupt status: Enabled for I/O and external interrupts
Locks: The caller may hold a local lock, or a local lock and the CMS lock.
Control parameters: Control parameters must be in the primary address space.

Programming requirements

The caller must include the IHAPSA, CVT, IHAECVT, and IHATEDS macros. Note that the IHATEDS macro has equate symbols for the return and reason codes, and for the length of the WorkArea.

Restrictions

None

Input register information

Before issuing the IEATEDS macro, the caller must ensure that general register 13 contains the address of a 216 byte save area. The save area must be in primary storage in the first 2G of storage. The caller does not have to place any information into any other general purpose register (GPR) unless using it in register notation for a particular parameter, or using it as a base register.

Output register information

When control returns to the caller, the GPRs contain:
Register
Contents
0
Reason code if GPR15 is not zero
1
Used as a work register by the system
2-13
Unchanged
14
Used as a work register by the system
15
Return code
When control returns to the caller, the ARs contain:
Register
Contents
0-1
Used as work registers by the system
2-13
Unchanged
14-15
Used as work registers by the system

Some callers depend on register contents remaining the same before and after issuing a service. If the system changes the contents of registers on which the caller depends, the caller must save them before issuing the service, and restore them after the system returns control.

Performance implications

None

Syntax

Read syntax diagramSkip visual syntax diagram
>>-+------+--IEATEDS--+-REQUEST--=--REGISTER--|  |-+------------>
   '-name-'           '-REQUEST--=--RECORD--|  |---'   

>--,--WORKAREA--=--workarea--+------------------------+--------->
                             '-,--RETCODE--=--retcode-'   

>--+------------------------+----------------------------------->
   '-,--RSNCODE--=--rsncode-'   

   .-,--PLISTVER--=--IMPLIED_VERSION-.   
>--+---------------------------------+-------------------------->
   +-,--PLISTVER--=--MAX-------------+   
   '-,--PLISTVER--=--0---------------'   

   .-,--MF--=--S--------------------------------------.   
>--+--------------------------------------------------+--------><
   |                               .-,--0D---.        |   
   +-,--MF--=--(--L--,--list addr--+---------+--)-----+   
   |                               '-,--attr-'        |   
   |                               .-,--COMPLETE-.    |   
   '-,--MF--=--(--E--,--list addr--+-------------+--)-'   

Read syntax diagramSkip visual syntax diagram
parameters-1

>>-,--COMPNAME--=--compname--,--MAXEVENTS--=--maxevents--------->

>--,--TEDTOKEN--=--tedtoken------------------------------------><

Read syntax diagramSkip visual syntax diagram
parameters-2

>>-,--TEDTOKEN--=--tedtoken--+-,--EVENTTYPE--=--START-+--------->
                             +-,--EVENTTYPE--=--MID---+   
                             '-,--EVENTTYPE--=--END---'   

>--,--EVENTTHREAD--=--eventthread--,--EVENTDESC--=--eventdesc--->

>--,--MODNAME--=--modname--,--MODLEVEL--=--modlevel------------->

   .-,--USERDATA--=--NO_USERDATA-.   
>--+-----------------------------+-----------------------------><
   '-,--USERDATA--=--userdata----'   

Parameters

The parameters are explained as follows:

name
An optional symbol, starting in column 1, that is the name on the IEATEDS macro invocation. The name must conform to the rules for an ordinary assembler language symbol.
,COMPNAME=compname
When REQUEST=REGISTER is specified, a required input parameter that specifies the component name that is registering. A mixed case value is supported.

To code: Specify the RS-type address, or address in register (2) - (12), of a 32-character field.

,EVENTDESC=eventdesc
When REQUEST=RECORD is specified, a required input parameter that is used to describe the event. A mixed case value is supported.

To code: Specify the RS-type address, or address in register (2) - (12), of a 32-character field.

,EVENTTHREAD=eventthread
When REQUEST=RECORD is specified, a required input parameter that is used to provide an association for a series of events consisting of a start event, zero or more mid events, and an end event. This can be any character or hex value that the component finds useful. Using a unique value for each series of associated start, mid, and end events will help in understanding the flow and timing of the events. The Timed Event Data Report will include both the hex and the EBCDIC values for the thread. See the macro example section for more information regarding the Timed Event Data Report.

To code: Specify the RS-type address, or address in register (2) - (12), of an 8-character field.

,EVENTTYPE=START
,EVENTTYPE=MID
,EVENTTYPE=END
When REQUEST=RECORD is specified, a required parameter that indicates the type of event to record.
,EVENTTYPE=START
The event is the start of a series of events.
,EVENTTYPE=MID
The event is one of a series of events. This mid event is matched to the start event whose EventThread matches the EventThread provided on this request.
,EVENTTYPE=END
The event is the last of a series of events. This end event is matched to the start event whose EventThread matches the EventThread provided on this request.
,MAXEVENTS=maxevents
When REQUEST=REGISTER is specified, a required input parameter that specifies the maximum number of events that will be recorded. This value will be used to determine the amount of storage to be allocated for the Timed Event Data Table for recording the events. The Timed Event Data Table size will be capped at 2M bytes, meaning that the value specified for MaxEvents will be reduced as necessary to a value where the Timed Event Data Table will be created within 2M bytes of storage. A return code and reason code will be returned if the MaxEvents was reduced, unless some other more serious error is returned.

Note also that all Timed Event Data Table storage is capped at 2G bytes, and any attempt to REGISTER once the 2G limit is reached will be rejected with a return code and reason code. No attempt will be made to reduce the MaxEvents in order to build a Timed Event Data Table any smaller than 2M just to get it to fit into the remaining storage that is near the 2G limit. Note also that there may be additional system controls or environmental conditions that limit this size to something smaller than 2G bytes.

The number of events that will fit into a 2M Timed Event Data Table is a function of the size of each entry. Since the entry size could grow over time, the number of events that will fit could be reduced in the future. This makes it difficult to accurately state the maximum number of events a Timed Event Data Table will hold, but a maximum of at least 2000 events is guaranteed.

Note that any attempt to record events beyond the resultant MaxEvents will not be recorded, but will be counted as an overflow count to assist in determining whether the number of RECORD requests should be decreased or MaxEvents should be increased (if not already at or above the maximum for a 2M Timed Event Data Table). The overflow count, requested MaxEvents, resultant MaxEvents, and the size of the resultant Timed Event Data Table can be found in the Timed Event Data Report which is described in the macro example section.

To code: Specify the RS-type address, or address in register (2) - (12), of a fullword field, or specify a literal decimal value.

,MF=S
,MF=(L,list addr)
,MF=(L,list addr,attr)
,MF=(L,list addr,0D)
,MF=(E,list addr)
,MF=(E,list addr,COMPLETE)
An optional input parameter that specifies the macro form.

Use MF=S to specify the standard form of the macro, which builds an inline parameter list and generates the macro invocation to transfer control to the service. MF=S is the default.

Use MF=L to specify the list form of the macro. Use the list form together with the execute form of the macro for applications that require reentrant code. The list form defines an area of storage that the execute form uses to store the parameters. Only the PLISTVER parameter may be coded with the list form of the macro.

Use MF=E to specify the execute form of the macro. Use the execute form together with the list form of the macro for applications that require reentrant code. The execute form of the macro stores the parameters into the storage area defined by the list form, and generates the macro invocation to transfer control to the service.

,list addr
The name of a storage area to contain the parameters. For MF=S and MF=E, this can be an RS-type address or an address in register (1)-(12).
,attr
An optional 1- to 60-character input string that you use to force boundary alignment of the parameter list. Use a value of 0F to force the parameter list to a word boundary, or 0D to force the parameter list to a doubleword boundary. If you do not code attr, the system provides a value of 0D.
,COMPLETE
Specifies that the system is to check for required parameters and supply defaults for omitted optional parameters.
,MODLEVEL=modlevel
When REQUEST=RECORD is specified, a required input parameter that specifies the module level that is recording this event.

To code: Specify the RS-type address, or address in register (2) - (12), of an 8-character field.

,MODNAME=modname
When REQUEST=RECORD is specified, a required input parameter that specifies the module name that is recording this event.

To code: Specify the RS-type address, or address in register (2) - (12), of an 8-character field.

,PLISTVER=IMPLIED_VERSION
,PLISTVER=MAX
,PLISTVER=0
An optional input parameter that specifies the version of the macro. PLISTVER determines which parameter list the system generates. PLISTVER is an optional input parameter on all forms of the macro, including the list form. When using PLISTVER, specify it on all macro forms used for a request and with the same value on all of the macro forms. The values are:
  • IMPLIED_VERSION, which is the lowest version that allows all parameters specified on the request to be processed. If you omit the PLISTVER parameter, IMPLIED_VERSION is the default.
  • MAX, if you want the parameter list to be the largest size currently possible. This size might grow from release to release and affect the amount of storage that your program needs.

    If you can tolerate the size change, IBM recommends that you always specify PLISTVER=MAX on the list form of the macro. Specifying MAX ensures that the list-form parameter list is always long enough to hold all the parameters you might specify on the execute form, when both are assembled with the same level of the system. In this way, MAX ensures that the parameter list does not overwrite nearby storage.

  • 0, if you use the currently available parameters.
To code: Specify one of the following:
  • IMPLIED_VERSION
  • MAX
  • A decimal value of 0
REQUEST=REGISTER
REQUEST=RECORD
A required parameter that indicates which service to perform.
REQUEST=REGISTER
Register the user for the timed event data service.
REQUEST=RECORD
Record the timed event data.
,RETCODE=retcode
An optional output parameter into which the return code is to be copied from GPR 15. If you specify 15, GPR15, REG15, or R15 (within or without parentheses), the value will be left in GPR 15.

To code: Specify the RS-type address of a fullword field, or register (2) - (12) or (15), (GPR15), (REG15), or (R15).

,RSNCODE=rsncode
An optional output parameter into which the reason code is to be copied from GPR 0. If you specify 0, 00, GPR0, GPR00, REG0, REG00, or R0 (within or without parentheses), the value will be left in GPR 0.

To code: Specify the RS-type address of a fullword field, or register (0) or (2) - (12), (00), (GPR0), (GPR00), REG0), (REG00), or (R0).

,TEDTOKEN=tedtoken
When REQUEST=REGISTER is specified, a required output parameter, whose returned value must be provided as input on subsequent REQUEST=RECORD calls.

To code: Specify the RS-type address, or address in register (2) - (12), of a 16-character field.

,TEDTOKEN=tedtoken
When REQUEST=RECORD is specified, a required input parameter that is used to identify the timed event data collection to which this event shall be placed. This must be the TedToken that was returned as output from the Register request.

To code: Specify the RS-type address, or address in register (2) - (12), of a 16-character field.

,USERDATA=userdata
,USERDATA=NO_USERDATA
When REQUEST=RECORD is specified, an optional input parameter consisting of a comma delimited list of one or more variable names with a combined length (determined using L'varname for each variable) that does not exceed a total of 16 bytes. UserData may be any data that the user finds helpful in understanding the timed events. Note that the values must be simple items - for example, using substringed references is not allowed. The default is NO_USERDATA.

One or more values may be specified for the USERDATA parameter. If more than one value is specified, group the values within parentheses.

To code: Specify the RS-type address of a character field.

,WORKAREA=workarea
A required input parameter that specifies a work area on a double word boundary to be used by the timed event data service. The work area must be of size IEATEDS_WorkAreaSize (in macro IHATEDS) and must reside within the first 2 GB of primary storage in any key.

To code: Specify the RS-type address of a character field.

ABEND codes

0C2
Meaning: Privileged-operation exception. A problem state caller attempted to use IEATEDS.

Action: Get into supervisor state before invoking the function, perhaps by the MODESET macro.

Return and reason codes

When the IEATEDS macro returns control to your program:
  • GPR 15 (and retcode, when you code RETCODE) contains a return code.
  • When the value in GPR 15 is not zero, GPR 0 (and rsncode, when you code RSNCODE) contains a reason code.

Macro IHATEDS provides equate symbols for the return and reason codes. Note that the return and reason codes described below are hexadecimal values.

The following table identifies the hexadecimal return and reason codes and the equate symbol associated with each reason code.

Table 1. Return and reason codes for the IEATEDS macro
Return code Reason code Equate symbol meaning and action
0 Equate symbol: IEATEDSRc_OK

Meaning: IEATEDS request was successful.

Action: None required.
REGISTER
Meaning: The Timed Event Data Table was obtained and initialized and is ready for events to be recorded.

Action: None required.

RECORD
Meaning: The event was placed into the Timed Event Data Table.

Action: None required.

4 Equate symbol: IEATEDSRc_Warn

Meaning: Warning

Action: Refer to the action provided with the specific reason code.

4 00000401 Equate symbol: IEATEDSRsn_TedTableFull

Meaning: An IEATEDS RECORD request was unable to place the new entry into the caller's Timed Event Data Table because the Timed Event Data Table is full. The Timed Event Data Table overflow count has been incremented.

Action: Try increasing the value specified for MaxEvents on the IEATEDS REGISTER request. Note, however, that there is a limit of 2M bytes of storage for each Timed Event Data Table, and an overall limit of 2G bytes of storage for all of the Timed Event Data Tables in the system. You can execute the Timed Event Data Report REXX exec to examine the overflow count to determine the number of additional entries required to allow all of the RECORD requests to succeed. The Timed Event Data Report will also show the requested MaxEvents, the resultant MaxEvents, and the size of the Timed Event Data Table. If the size of the Timed Event Data Table is already at the 2M byte limit, try reducing the number of IEATEDS RECORD requests.

4 00000402 Equate symbol: IEATEDSRsn_MaxEventsReduced

Meaning: An IEATEDS REGISTER request reduced the specified MaxEvents to allow the Timed Event Data Table to be built within the 2M-byte storage limit.

Action: Execute the Timed Event Data Report REXX exec and examine the overflow count to determine whether the reduced MaxEvents has resulted in some RECORD requests not being recorded. If so, consider reducing the number of RECORD requests to a value that is no greater than the reduced MaxEvents (shown in the report as the resultant MaxEvents).

8 Equate symbol: IEATEDSRc_InvParm

Meaning: IEATEDS request specified parameters that are not valid.

Action: Refer to the action provided with the specific reason code.

8 00000801 Equate symbol: IEATEDSRsn_BadTedToken

Meaning: An IEATEDS RECORD request supplied a TedToken value that was unable to locate a valid Timed Event Data Table. The RECORD request was not completed.

Action: Ensure that the TedToken returned from the REGISTER request is not corrupted and is provided on the subsequent IEATEDS RECORD requests. Note that this error will also occur in the case of a Timed Event Data Table being corrupted or the storage becoming inaccessible. Execute the Timed Event Data Report REXX exec (described in the macro example section) to see whether the Timed Event Data Table in question was able to be located. If so, then the problem is with the specified TedToken.

C Equate symbol: IEATEDSRc_Env

Meaning: Environmental error

Action: Refer to the action provided with the specific reason code.

C 00000C01 Equate symbol: IEATEDSRsn_NoTedTableStorage

Meaning: An IEATEDS REGISTER request was unable to obtain storage for the Timed Event Data Table.

Action: Ensure that the system has enough above the bar common storage to satisfy a request for a Timed Event Data Table of the size being requested. Note that the maximum size allowed for a Timed Event Data Table is 2M bytes, and the maximum size for all Timed Event Data Table storage to 2G bytes. Note also that there may be additional system controls or environmental conditions that limit this size to something smaller than 2G bytes.

C 00000C02 Equate symbol: IEATEDSRsn_NoTedVectorTableStorage

Meaning: An IEATEDS REGISTER request was unable to obtain storage for a Timed Event Data Vector Table.

Action: Ensure that the system has enough above the bar common storage to satisfy a request for a Timed Event Data Vector Table which has a size of 4k.

10 Equate symbol: IEATEDSRc_CompError

Meaning: Unexpected failure.

Action: Contact your system programmer.

10 00001001 Equate symbol: IEATEDSRsn_UnexpectedError

Meaning: An IEATEDS REGISTER or RECORD request had an unexpected error. The REGISTER of RECORD request completion status is unknown.

Action: The system programmer should gather any diagnostic information that was produced and contact IBM support.

Examples

The following is an example of invoking IEATEDS to:
  • Invoke IEATEDS to REGISTER
  • Invoke IEATEDS to RECORD a Start event
  • Invoke IEATEDS to RECORD a Mid event
  • Invoke IEATEDS to RECORD an End event
The code is as follows.
         TITLE 'Sample code to register/record Timed Event Data'
TEDSAMPL CSECT
TEDSAMPL AMODE  31
TEDSAMPL RMODE  ANY
*/* START OF SPECIFICATIONS *********************************
*
*01* MODULE-NAME = TEDSAMPL
*
*02*   DESCRIPTIVE-NAME = Sample program to register and
*                         record Timed Event Data.
*01* DISCLAIMER =
*      This sample source is provided for tutorial purposes
*      only. A complete handling of error conditions has not
*      been shown or attempted, and this source has not been
*      submitted to formal IBM testing. This source is
*      distributed on an 'as is' basis without any warranties
*      either expressed or implied.
*
**** END OF SPECIFICATIONS *********************************/
         EJECT
         BAKR  R14,0           Save on stack,return using r14
         BASR  12,0
         USING START,R12
START    EQU   *
         MODID ,
*************************************************************
*        START OF CODE
*************************************************************
         STORAGE OBTAIN,LENGTH=DynAreaLen,Addr=(R1),COND=NO, *
               LOC=ANY,SP=240
         LR R13,R1
         USING DynArea,R13
*************************************************************
*        Register for Timed Event Data Recording
*************************************************************
         IEATEDS Request=REGISTER,                           *
               CompName==CL32'TheProduct',                   *
               MaxEvents==F'64',                             *
               TedToken=TedToken,                            *
               WorkArea=TedWorkArea,                         *
               RetCode=RetCode,                              *
               RsnCode=RsnCode,                              *
               MF=(E,MyTedPLD,COMPLETE)
*
* Place code to check return/reason codes here.
*
*************************************************************
*        Record Timed Event Data for Event Thread SAMPLE
*************************************************************
         LA    R2,1
         ST    R2,DATA1
         MVC   DATA2(4),=CL4' RCD'
         IEATEDS Request=RECORD,                             *
               EventType=START,                              *
               EventThread==CL8'SAMPLE',                     *
               EventDesc==CL32'Timed Event Data sample',     *
               UserData=(Data1,Data2),                       *
               ModName==CL8'TEDSAMPL',                       *
               ModLevel==CL8'Level101',                      *
               TedToken=TedToken,                            *
               WorkArea=TedWorkArea,                         *
               RetCode=RetCode,                              *
               RsnCode=RsnCode,                              *
               MF=(E,MyTedPLD,COMPLETE)
*
* Place code to check return/reason codes here.
*
*************************************************************
*        Record Mid Timed Event Data
*************************************************************
         LA    R2,2
         ST    R2,DATA1
         MVC   DATA2(4),=CL4'XYZ1'
         MVC   DATA3(6),=CL6'FUNC 1'
         IEATEDS Request=RECORD,                             *
               EventType=MID,                                *
               EventThread==CL8'SAMPLE',                     *
               EventDesc==CL32'Before doing XYZ',            *
               UserData=(Data1,Data2,Data3),                 *
               ModName==CL8'TEDSAMPL',                       *
               ModLevel==CL8'Level101',                      *
               TedToken=TedToken,                            *
               WorkArea=TedWorkArea,                         *
               RetCode=RetCode,                              *
               RsnCode=RsnCode,                              *
               MF=(E,MyTedPLD,COMPLETE)
*
* Place code to check return/reason codes here.
*
*************************************************************
*        Record Last Timed Event Data for this Thread
*************************************************************
         LA    R2,3
         ST    R2,DATA1
         MVC   DATA2(4),=CL4'XYZ1'
         MVC   DATA3(6),=CL6'FUNC 2'
         IEATEDS Request=RECORD,                             *
               EventType=END,                                *
               EventThread==CL8'SAMPLE',                     *
               EventDesc==CL32'After doing XYZ',             *
               UserData=(Data1,Data2,Data3),                 *
               ModName==CL8'TEDSAMPL',                       *
               ModLevel==CL8'Level101',                      *
               TedToken=TedToken,                            *
               WorkArea=TedWorkArea,                         *
               RetCode=RetCode,                              *
               RsnCode=RsnCode,                              *
               MF=(E,MyTedPLD,COMPLETE)
*
* Place code to check return/reason codes here.
*
*************************************************************
*        Free Dynamic Area and Return
*************************************************************
         LA    R0,DynAreaLen       Length of Dynamic Area
         STORAGE RELEASE,LENGTH=(R0),ADDR=(R13),SP=240

         PR
*************************************************************
*        Dynamic Area
*************************************************************
DynArea   DSECT
SaveArea  DS    XL216
TedToken  DS    XL16           Timed Event Data Token
Data1     DS    F              One word
Data2     DS    CL4            Four bytes
Data3     DS    CL6            Six Bytes
Data4     DS    CL2            Two Bytes
RetCode   DS    F              Return Code from Timed Event  x
                               Data Service
RsnCode   DS    F              Reason Code from Timed Event  x
                               Data Service
          DS    0D             Align TedWorkArea on dbl word
TedWorkArea DS  XL(IEATEDS_WORKAREASIZE)
          IEATEDS MF=(L,MyTedPLD)
DynAreaLen EQU *-DynArea       Length of DynArea
         IHATEDS               Constants and ret/rsn codes
*************************************************************
*        REGISTER EQUATES
*************************************************************
         SPACE 1
R0       EQU   0
R1       EQU   1
R2       EQU   2
R3       EQU   3
R4       EQU   4
R5       EQU   5
R6       EQU   6
R7       EQU   7
R8       EQU   8
R9       EQU   9
R10      EQU   10
R11      EQU   11
R12      EQU   12
R13      EQU   13
R14      EQU   14
R15      EQU   15
         EJECT
**************************************************************
* Mappings
**************************************************************
         CVT DSECT=YES
         IHAPSA DSECT=YES
         IHAECVT
         END

Timed Event Data Report example invocations

Example invocations for TSO:
The following example invocation will produce a Timed Event Data Report with all components with spreadsheet data with the default spreadsheet delimiter of a semicolon. IBM may request that this data be sent to IBM for analysis. Note that output_data_set must be the name of a pre-allocated data set with an LRECL of 512 and a RECFM of V or VB.
IEAVFTED DA('output_data_set')
The following example invocation will produce a Timed Event Data Report for component ABC with spreadsheet data and with a spreadsheet delimiter of a question mark. Note that the component name is not case sensitive.
IEAVFTED DA('output_data_set(member)') COMPONENT(ABC) SS(?)
The following invocation will produce a Timed Event Data Report with all components without the spreadsheet data:
IEAVFTED DA('output_data_set') NOSS
The following invocation will produce a Timed Event Data Report to a z/OS UNIX file for component ABC with spreadsheet data: Note that the file name is case sensitive, the directories need not exist and COMP is abbreviated for COMPONENT.
IEAVFTED PATH('/usr/ted_data/Performance_Data_For_System_XYZ')
         COMP(ABC)
The following example JCL will run the IEAVFTED REXX exec in the TSO background. Note that the SYSEXEC data set must have an LRECL of 80 and a RECFM of F or FB.
//IEAVFTED JOB '123456,?',
// 'name',REGION=0M,
// MSGLEVEL=(1,1),CLASS=J,NOTIFY=name,
// MSGCLASS=H
//IEAVFTED EXEC PGM=IKJEFT01,ROLL=(NO,NO),DYNAMNBR=400,REGION=0M
//**************************************************************
//* Notes:
//*  - The REXX compiler run-time libraries must be installed.
//*
//*  - The data set containing the IEAVFTED exec
//*    (SYS1.SBLSCLI0) must have an LRECL of 80 and a RECFM of
//*    F or FB.
//**************************************************************
//SYSEXEC DD DISP=SHR,DSN=SYS1.SBLSCLI0
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
IEAVFTED DA('output_data_set')
/*
The following example JCL is a started procedure that will run the IEAVFTED REXX exec in the TSO background. Required and optional parameters for IEAVFTED are passed via the PARM keyword. See Timed Event Data Report for the descriptions for the required and optional IEAVFTED parameters.
//TEDRPT     JOB MSGCLASS=A
//TEDRPT     PROC PARM='PATH(/usr/ted/ted_report)'
//  EXEC  PGM=IKJEFT01,
//   PARM='IEAVFTED &PARM'
//SYSEXEC  DD DSN=SYS1.SBLSCLI0,DISP=SHR
//SYSPROC  DD DSN=SYS1.PROCLIB,DISP=SHR
//SYSTSIN  DD DUMMY
//SYSTSPRT DD SYSOUT=*
//SYSINT   DD SYSOUT=(A,INTRDR),DCB=(LRECL=80,RECFM=FB)
//       PEND
//       EXEC TEDRPT
An example of a started procedure invocation using system symbolics as parameters:
S TEDRPT,PARM='PATH(/usr/&SYSPLEX/&SYSNAME/ted_from_12_1_2009)
  COMP(ABC)'
An example of a started procedure invocation specifying a TSO dataset and having NOSS (no spreadsheet data).
S TEDRPT,PARM='da(console.mttr.output(sample)) noss'
Example IPCS invocations:
The following example will produce a Timed Event Data Report with all components with spreadsheet data with a spreadsheet delimiter of a semicolon (the default). The output will be put into a data set that must be pre-allocated with an LRECL of 255 and a RECFM of V or VB. Note that IPCS only supports a maximum of 255 characters for the data set, but if the spreadsheet data needs to be imported into a spreadsheet program, then an additional procedure (described below) must be performed to extract the spreadsheet data from the 255 character data set and place it into either a pre-allocated 512 character data set or a z/OS UNIX file. Note that no data will be truncated or lost with the 255 character data set. The ALTLIB statement tells IPCS where to find the IEAVFTED exec. Note that the data set containing IEAVFTED (SYS1.SBLSCLI0) must have an LRECL of 80 and a RECFM of F or FB.
Create an output dsn (LRECL of 255, RECFM of V or VB)
TSO ALLOC F(IPCSPRNT) DA(dsn) SHR REUS
IP ALTLIB ACTIVATE APPL(EXEC) DA('SYS1.SBLSCLI0')
IP SETDEF PRINT NOTERM
IP IEAVFTED
IP CLOSE PRINT
IP SETDEF TERM NOPRINT
Data set dsn now contains the Timed Event Data Report
If the spreadsheet data needs to be imported into a spreadsheet program then one of the following IEAVFTED invocations must be issued from TSO. In the first example, the output_data_set must be pre-allocated with an LRECL of 512 and a RECFM of V or VB. In the second example, the output will go to a z/OS UNIX file. In both examples, the input_data_set is the 255 character data set from the above procedure for IPCS. IEAVFTED will extract the spreadsheet data from input_data_set, convert it into the proper format, and write it to the 512 character output_data_set or to the z/OS UNIX file, either of which can then be downloaded or FTP'd and imported into a spreadsheet program.
IEAVFTED IPCSDA('input_data_set') DA('output_data_set')
...or...
IEAVFTED IPCSDA('input_data_set') PATH('z/OS UNIX file')
Formatted Timed Event Data Report
The following example Timed Event Data Report was obtained by running the example TEDSAMPL assembler program described above, and then invoking IEAVFTED as follows:
IEAVFTED PATH(/usr/ted/example1) COMPONENT('THEPRODUCT')
  
 ***********************************************************************************************************************
 *                                                                                                                     *
 * IBM z/OS Timed Event Data Report                                                                                    *
 * Level: HBB7770-V1.03      Report Date/Time: 15 Mar 2010 16:01:23     Component Filter: THEPRODUCT                   *
 * Sysplex: PLEX1       System: SY1       FMID: HBB7770  z/OS V01R12M00                                                *
 * Machine: 4381-FF639F30 Online Standard CPs: 6 zAAPs: 0 zIIPs: 0                                                     *
 * IPL Start Date/Time: 15 Mar 2010 15:02:06.364187                                                                    *
 *                                                                                                                     *
 ***********************************************************************************************************************
 
 
 ***********************************************************************************************************************
 *                                                                                                                     *
 * Total Timed Event Data Table Storage: 00072A70                                                                      *
 *                                                                                                                     *
 ***********************************************************************************************************************
 
 
 ***********************************************************************************************************************
 *                                                                                                                     *
 * Timed Event Data Table - Component: TheProduct                          Address: 000001EF80605000                   *
 * Table Size: 00002C60      Register Date/Time: 15 Mar 2010 15:51:39.783511                                           *
 * Requested MaxEvents:         64  Resultant MaxEvents:    64  NumEvents: Current:     3  Overflow:          0        *
 *                                                                                                                     *
 ***********************************************************************************************************************
 
 
 EntryNum:     1  Event Type/Thread: Start/E2C1D4D7D3C54040/*SAMPLE  *  Event Date/Time: 15 Mar 2010 15:51:39.783516
  Description: A sample of a TED entry
  HASN: 0025  PASN: 0025  Jobname: MAINASID  TCB: 005FF050  Module/Level/Offset: TEDSAMPL/Level101/000000D0
  SRB/Task Time: 00000000002CFE00/000000000130A25C  User Data: 00000001 40D9C3C4 00000000 00000000 *.... RCD........*
  OUXBFCON: 00:00:00.334592  OUXBFDIS: 00:00:00.000000  OUXBFMNO: 00:00:00.052000  OUXBFWAIT: 00:00:00.134016
  Deltas:     IPL Start: 0 Days 00:49:33.419329    T.E.D. Registration: 0 Days 00:00:00.000005
     Thread Start Event: 0 Days 00:00:00.000000     Thread Prior Event: 0 Days 00:00:00.000000
 
 EntryNum:     2  Event Type/Thread: Mid  /E2C1D4D7D3C54040/*SAMPLE  *  Event Date/Time: 15 Mar 2010 15:51:39.783521
  Description: Before doing XYZ
  HASN: 0025  PASN: 0025  Jobname: MAINASID  TCB: 005FF050  Module/Level/Offset: TEDSAMPL/Level101/00000148
  SRB/Task Time: 00000000002CFE00/000000000130A25C  User Data: 00000002 E7E8E9F1 C6E4D5C3 40F10000 *....XYZ1FUNC 1..*
  OUXBFCON: 00:00:00.334592  OUXBFDIS: 00:00:00.000000  OUXBFMNO: 00:00:00.052000  OUXBFWAIT: 00:00:00.134016
  Deltas:     IPL Start: 0 Days 00:49:33.419334    T.E.D. Registration: 0 Days 00:00:00.000010
     Thread Start Event: 0 Days 00:00:00.000004     Thread Prior Event: 0 Days 00:00:00.000004
 
 EntryNum:     3  Event Type/Thread: End  /E2C1D4D7D3C54040/*SAMPLE  *  Event Date/Time: 15 Mar 2010 15:51:39.783525
  Description: After doing XYZ
  HASN: 0025  PASN: 0025  Jobname: MAINASID  TCB: 005FF050  Module/Level/Offset: TEDSAMPL/Level101/000001C6
  SRB/Task Time: 00000000002CFE00/000000000130A25C  User Data: 00000003 E7E8E9F1 C6E4D5C3 40F20000 *....XYZ1FUNC 2..*
  OUXBFCON: 00:00:00.334592  OUXBFDIS: 00:00:00.000000  OUXBFMNO: 00:00:00.052000  OUXBFWAIT: 00:00:00.134016
  Deltas:     IPL Start: 0 Days 00:49:33.419338    T.E.D. Registration: 0 Days 00:00:00.000014
     Thread Start Event: 0 Days 00:00:00.000009     Thread Prior Event: 0 Days 00:00:00.000004
 
 ***********************************************************************************************************************
 *                                                                                                                     *
 * End Timed Event Data Table - Component: TheProduct                                                                  *
 * Number Events: Start:    1  Mid:    1  End:    1                                                                    *
 *                                                                                                                     *
 ***********************************************************************************************************************
 
 
 ***********************************************************************************************************************
 *                                                                                                                     *
 * Description of columns                                                                                              *
 *   Unique Id   : If multiple reports are merged into a single spread sheet, this field can be used to uniquely       *
 *                 identify the source for the row of data.                                                            *
 *   Event Time  : The time the event occurred.                                                                        *
 *   Date        : The date the event occurred.                                                                        *
 *   Event Thread: Used to tie the related Start/Mid/End events together. This can be a hex or EBCDIC value.           *
 *   Thread EBCDIC: If Event Thread is in hex, this data is translated to EBCDIC. Unprintable characters are           *
 *                 displayed as periods. The EBCDIC value is preceded and followed by an asterisk.                     *
 *                 If the Event Thread is in EBCDIC, it is repeated in this column.                                    *
 *   Type        : The type of event. (e.g. Start, Mid, End, Register, Create).                                        *
 *   Description : Text which describes the event.                                                                     *
 *   Component   : The component to which this event belongs.                                                          *
 *   Deltas                                                                                                            *
 *     IPL Start : The amount of time that elapsed from the beginning of the IPL until the time of this event.         *
 *     Thread Start Event: The amount of time that elapsed from the start event of the same Timed Event Data table     *
 *                 and same Event Thread until the time of this event.                                                 *
 *     T.E.D. Registration: The amount of time that elapsed from the time the component registered (created a Timed    *
 *                 Event Data table) until the time of this event. For the IPST data, this field will be blank.        *
 *     Thread Prior Event: The amount of time that elapsed from the previous event of the same Timed Event Data/IPS    *
 *                 table and same Event Thread until the time of this event.                                           *
 *   Jobname     : The jobname of the address space that recorded this event.                                          *
 *   HASN        : The home address space ID that recorded this event.                                                 *
 *   PASN        : The primary address space ID that recorded this event.                                              *
 *   Module      : The name of the module that recorded this event.                                                    *
 *   Level       : The level of the module that recorded this event. For the IPST data, this field will be blank.      *
 *   Offset      : The offset within the module where the event was recorded. For the IPST data, this field will be    *
 *                 blank.                                                                                              *
 *   TCB@        : The TCB address that the module was running under when the event was recorded. For the IPST data,   *
 *                 this field will be blank. If the recording was done under an SRB, this field will be zero.          *
 *   User1       : Data that the recording module wanted to record along with the event.                               *
 *   User2       : Data that the recording module wanted to record along with the event.                               *
 *   User3       : Data that the recording module wanted to record along with the event.                               *
 *   User4       : Data that the recording module wanted to record along with the event.                               *
 *   User EBCDIC : The four user data fields are displayed in EBCDIC. Unprintable characters are displayed as          *
 *                 periods. The data is preceded and followed by an asterisk. For the IPST data, this field will be    *
 *                 blank.                                                                                              *
 *   SRB         : The SRB time for the home address space where this event was recorded. For the IPST data, this      *
 *                 field will be blank.                                                                                *
 *   Task Time   : The task time for the home address space where this event was recorded. For the IPST data, this     *
 *                 field will be blank.                                                                                *
 *   OUXBFCON    : The time from the OUXBFCON field which contains the accumulated I/O FICON connect time for the      *
 *                 address space.  For the IPST data, this field will be blank.                                        *
 *   OUXBFDIS    : The time from the OUXBFDIS field which contains the accumulated I/O FICON disconnect time for the   *
 *                 address space. For the IPST data, this field will be blank.                                         *
 *   OUXBFMNO    : The time from the OUXBFMNO field which contains the FICON magic number - for every I/O interrupt    *
 *                 from a device attached to a FICON native CHPID, IOS will add one millisecond to this field.         *
 *                 For the IPST data, this field will be blank.                                                        *
 *   OUXBFWAIT   : The time from the OUXBFWAIT field which contains the accumulated I/O FICON wait time for the        *
 *                 address space. This value includes pending time and control unit queue time. For the IPST data,     *
 *                 this field will be blank.                                                                           *
 *                                                                                                                     *
 * You may notice that some of the delta values (IPL Start, Thread Start ...) may be off by 0.000001 seconds. This is  *
 * due to rounding effects.                                                                                            *
 *                                                                                                                     *
 * By default, a semicolon is used as a column separator so when importing the data into a spreadsheet program, the    *
 * data is placed in the correct columns. If any of the data contains a semicolon (or whatever the separator character *
 * is), that semicolon will be replaced with a blank.                                                                  *
 *                                                                                                                     *
 * When you import this data, remember to tell the program what the column separator character is so the data is       *
 * formatted correctly.                                                                                                *
 *                                                                                                                     *
 ***********************************************************************************************************************
 
 
 ***********************************************************************************************************************
 *                                                                                                                     *
 * IBM z/OS Timed Event Data Report                                                                                    *
 * Level: HBB7770-V1.03      Report Date/Time: 15 Mar 2010 16:01:23     Component Filter: THEPRODUCT                   *
 *                                                                                                                     *
 * The following is the same Timed Event Data/IPST as above but in a form that can be imported into a spreadsheet      *
 * program. To do so:                                                                                                  *
 *   - Edit this data set (or a copy) and remove everything above the spreadsheet data (including these directions.)   *
 *   - When you download or FTP the data set, specify ASCII or TEXT.                                                   *
 *   - Do NOT download as Binary.                                                                                      *
 *   - When importing into the spreadsheet program, indicate that the data is delimited with a delimiter character     *
 *     of: ;                                                                                                           *
 *                                                                                                                     *
 * Sorting by the 'Event Time' column will put all the data into chronological order.                                  *
 *                                                                                                                     *
 * Sorting by the 'Event Thread' and the 'Event Time' columns will group all the related events in chronological       *
 * order. Examining the 'Thread Prior Event Delta' will help identify events that took a long time.                    *
 *                                                                                                                     *
 ***********************************************************************************************************************
Figure 1. Sample (beginning portion) Timed Event Data spreadsheet
Sample (beginning portion) Timed Event Data spreadsheet
Figure 2. Sample (second portion) Timed Event Data spreadsheet
Sample (second portion) Timed Event Data spreadsheet
The formatted Timed Event Data Report will consist of:
  • A header section for the start of the report.
  • Timed Event Data Table sections with each Timed Event Data Table section comprised of a header section, the Timed Event Data Table formatted information, Timed Event Data Table formatted entries, and a trailer section.
  • A header section for the IPST (IPL Statistics Table) followed by the formatted IPST.
  • The spreadsheet format of the IPST and Timed Event Data entries.

The following describes each of the formatted sections in more detail:

The header section for the start of the report contains the text "IBM z/OS Timed Event Data Report" and the following fields:
  • Level: The product and version of the Timed Event Data Report REXX exec (IEAVFTED).
  • Date/Time of Report: The local date and time when the report was run.
  • Component Filter: The filter used to select which entries to format. If no filter was specified, ALL is displayed.
  • Sysplex: The name of the sysplex for the system from which the report was obtained.
  • System: Name of the system from which the report was obtained.
  • FMID: The FMID of the system from which the report was obtained and the z/OS release level.
  • Machine: The model of the machine where the report was run.
  • Online CPs: The number of online standard CPs, IBM zEnterprise® Application Assist Processors (zAAPs) and IBM z Integrated Information Processors (zIIPs).
  • IPL Start Date/Time: The local date and time when the IPL was started for the system from which the report was obtained.
  • Total Timed Event Data Table Storage: The total number of hexadecimal bytes of storage that is currently in use for the Timed Event Data Tables.
The header section for a Timed Event Data Table includes the following fields:
  • Component: The value specified for the COMPNAME keyword on the IEATEDS REGISTER request.
  • Address: The address in storage where the Timed Event Data Table resides.
  • Table Size: Number of hexadecimal bytes allocated for the Timed Event Data Table.
  • Register Date/Time: The local date and time when the Timed Event Data Table was registered with the IEATEDS REGISTER request.
  • Requested MaxEvents: The maximum number of events originally specified on the IEATEDS REGISTER request.
  • Resultant MaxEvents: The maximum number of events for this Timed Event Data Table that can be recorded with the IEATEDS RECORD request. This value may be the requested value, or a reduced value that allowed the Timed Event Data Table to be built within the 2M-byte storage limit.
  • Current® NumEvents: The number of events that have been recorded thus far.
  • Overflow NumEvents: The number of events that were not recorded because the Timed Event Data Table is full.
Following the Timed Event Data Table formatted header section, the report continues with zero or more formatted events that were recorded with IEATEDS RECORD requests, with each request having the following fields:
  • EntryNum: This will start with 1 for each Timed Event Data Table and will increment for each event.
  • Event Type/Thread: The type will be Start, Mid, or End as was specified for the EVENTTYPE keyword on the IEATEDS RECORD request. For Timed Event Data entries, the Thread, which is the value specified on the EVENTTREAD keyword of the IEATEDS RECORD request, will follow as formatted hex and again as formatted EBCDIC contained within asterisk borders. For IPST entries, the thread will always be in EBCDIC.
  • Event Date/Time: The local date and time that the event was recorded.
  • "*** Incomplete Event ***" will be displayed if it is determined that the entry is incomplete. In this case, the data for this event should be ignored.
  • Description: The value specified for the DESCRIPTION keyword on the IEATEDS RECORD request.
  • HASN: The ASID (address space identity) for the home address space at the time of IEATEDS RECORD request.
  • PASN: The ASID (address space identity) for the primary address space at the time of IEATEDS RECORD request.
  • Jobname: The jobname for the home address space at the time of the IEATEDS RECORD request.
  • TCB: The TCB (Task Control Block) address at the time of IEATEDS RECORD request (which will be zero when running as an SRB).
  • Module/Level/Offset: The values specified on the MODNAME and MODLEVEL keywords on the IEATEDS RECORD request, and the offset in the module where the IEATEDS RECORD request was issued. Note that the offset is calculated by obtaining the difference between the current location and SYSECT which names the current control section but which might not necessarily be the name of the module.
  • SRB/Task Time: The SRB and task time values for the home address space at the time of IEATEDS RECORD request.
  • User Data: The value(s) specified for the USERDATA keyword on the IEATEDS RECORD request, displayed as both printable hex and printable EBCDIC enclosed in asterisk borders. Note that zeros are appended to the user data to ensure that there are 16 bytes of data in the case where the specified user data combined size is less than 16 bytes.
  • OUXBFCON: The formatted time from OUXBFCON which contains the accumulated I/O FICON® connect time for the address space.
  • OUXBFDIS: The formatted time from OUXBFDIS which contains the accumulated I/O FICON disconnect time for the address space.
  • OUXBFMNO: The formatted time from OUXBFMNO which contains the FICON magic number - for every I/O interrupt from a device attached to a FICON native CHPID, IOS will add one millisecond to this field.
  • OUXBFWAIT: The formatted time from OUXBFWAIT which contains the accumulated I/O FICON wait time for the address space. This value includes pending time and control unit queue time.
  • IPL Start Delta: The elapsed time from the start of the IPL to the time of the IEATEDS RECORD request for this event.
  • Timed Event Data Registration Delta: The elapsed time from when the IEATEDS REGISTER request was made to the time of the IEATEDS RECORD request for this event.
  • Thread Start Event Delta: The elapsed time from when the IEATEDS RECORD request with an EVENTTYPE of START was made to the time of the IEATEDS RECORD request for this event and this event has an EVENTTHREAD value that matches the START event.
  • Thread Prior Event Delta: The elapsed time from when the IEATEDS RECORD request for the prior event in the same Timed Event Data Table with the same Event Thread was made to the time of the IEATEDS RECORD request for this event.
The trailer section for the Timed Event Data Table includes the following fields:
  • Component: The value specified for the COMPONENT keyword on the IEATEDS REGISTER request.
  • Number of Events: The number of processed START, MID, and END events. The number of start events and end events should normally match unless there were incomplete entries or an overflow of entries.

Note that error messages may be issued if a storage access error occurs, in which case the IPST, one of more Timed Event Data Tables, or Timed Event Data Table entries may be missing from the report.

Other error messages may be issued for data set errors or processing errors.

The Timed Event Data Report REXX exec provides the following return codes:
  • Return Code=d'00' - Report written successfully.
  • Return Code=d'16' - Report was not completed. An error message will be output to either the screen or within the report.
If you want to load the Timed Event Data Report into a spreadsheet program, perform the following:
  • If the Timed Event Data Report was placed into a 512 character data set or a z/OS UNIX file, edit the data set (or a copy) to delete everything above the spreadsheet data (including the directions).
  • If the Timed Event Data Report was placed into a 255 character data set (i.e., obtained from a dump under IPCS), invoke IEAVFTED with the IPCSDA option which will extract the spreadsheet data from the 255 character data set and place it into either a pre-allocated 512 character data set or a z/OS UNIX file.
  • When you download or FTP the data set, choose the download options of ASCII or TEXT. Do not download as binary.
  • When importing into the spreadsheet program, indicate that the data is delimited with a delimiter of a semicolon (or the character that was specified with the SS keyword when IEAVFTED was invoked to generate the Timed Event Data Report).
  • Sorting by the 'Event Time' column will put all the data into chronological order.
  • Sorting by the 'Event Thread' and the 'Event Time' columns will group all the related events in chronological order. Examining the 'Thread Prior Event Delta' will help identify events that took a long time.