The ITZEVENT macro is used to build and record a transaction trace record. It optionally performs the query function to determine if the work unit should be traced.
The requirements for the caller are:
Environmental factor | Requirement |
---|---|
Minimum authorization: | Problem state. PSW key 8 - 15 |
Dispatchable unit mode: | Task or SRB |
Cross memory mode: | Any PASN, any HASN, any SASN |
AMODE: | 31-bit |
ASC mode: | Primary |
Interrupt status: | Enabled forI/O and external interrupts |
Locks: | No locks may be held |
Control parameters: | Control parameters must be in the
primary address space. The data pointed to by DATAADDR must reside in the caller's primary address space. |
Any module that invokes this macro must include the macos CVT and IHAECVT.
To get the equate symbols for the return and reason codes, the caller should include the ITZYRETC macro.
None.
Before issuing the ITZEVENT macro, the caller does not have to place any information into any access register (AR).
Some callers depend on register contents remaining the same before and after issuing a macro. If the macro changes the contents of registers on which the caller depends, the caller must save them before issuing the macro and restore them after the macro returns control.
None.
The ITZEVENT macro is written as follows:
Syntax | Description |
---|---|
name | name: symbol. Begin name in column 1. |
␢ | One or more blanks must precede ITZEVENT. |
ITZEVENT | |
␢ | One or more blanks must follow ITZEVENT. |
COMPONENT=component | component: RS-type address or address in register (2) - (12) |
,EVENTDESC=eventdesc | eventdesc: RS-type address or address in register (2) - (12) |
,DATAFORMAT=TT | Default: DATAFORMAT=TT |
,DATAFORMAT=GTF | |
,DATAADDR=dataaddr | dataaddr: RS-type address or address in register (2) - (12) |
,DATALEN=datalen | datalen: RS-type address or address in register (2) - (12) |
,DATAADDR=dataaddr | dataaddr: RS-type address or address in register (2) - (12) |
,DATALEN=datalen | datalen: RS-type address or address in register (2) - (12) |
,GTFID=gtfid | gtfid: RS-type address or address in register (2) - (12) |
,GTFFID=gtffid | gtffid: RS-type address or address in register (2) - (12) |
,FMTTYPE=HEX | Default: FMTTYPE=HEX |
,FMTTYPE=MODEL | |
,FMTTYPE=ROUTINE | |
,FORMATRTN=formatrtn | formatrtn: RS-type address or address in register (2) - (12) |
,FORMATRTN=formatrtn | formatrtn: RS-type address or address in register (2) - (12) |
,FUNCTIONNAME= | functionname |
functionname: RS-type adderss or address in register (2) - (12) | |
,QUERY=YES | Default: QUERY=YES |
,QUERY=NO | |
,MONTKN=montkn | montkn: RS-type address or address in register (2) - (12) |
,TRACETKN=tracetkn | tracetkn: RS-type address or address in register (2) - (12) |
,PLISTVER= | |
IMPLIED_VERSION | Default: PLISTVER=IMPLIED_VERSION |
,PLISTVER=MAX | |
,PLISTVER=0 | |
,MF=S | Default: MF=S |
,MF=(L,list addr) | list addr: RS-type address or register (1) - (12) |
,MF=(L,list addr,attr) | |
,MF=(L,list addr,0D) | |
,MF=(E,list addr) | |
,MF=(E,list addr,COMPLETE) | |
,MF=(E,list addr,NOCHECK) | |
,MF=(M,list addr) | |
,MF=(M,list addr,COMPLETE) | |
,MF=(M,list addr,NOCHECK) | |
The parameters are explained as follows:
To code: Specify the RS-type address, or address in register (2)-(12), of an 8-character field.
Some examples might be START xxxxxxxx, END xxxxxxxx, ENTRYPTxxx, COMMIT, and ROLLBACK.
To code: Specify the RS-type address, or address in register (2)-(12), of an 16-character field.
To code: Specify the RS-type address, or address in register (2)-(12), of a pointer field.
The maximum length of data may not exceed 1K. If a length greater than 1K is specified, data will be truncated to record 1K of data.
To code: Specify the RS-type address, or address in register (2)-(12), of a fullword field.
To code: Specify the RS-type address, or address in register (2)-(12), of a pointer field.
The maximum length of data may not exceed 1K. If a length greater than 1K is specified, data will be truncated to record 1K of data.
To code: Specify the RS-type address, or address in register (2)-(12), of a fullword field.
To code: Specify the RS-type address, or address in register (2)-(12), of a 2-character field.
To code: Specify the RS-type address, or address in register (2)-(12), of a 1-character field.
The formatting can be in Hex, Model format, or from a Format routine. If a FORMATRTN is specified, FMTTYPE must be set to Routine or Model. The default is FMTTYPE=HEX.
To code: Specify the RS-type address, or address in register (2)-(12), of an 8-character field.
To code: Specify the RS-type address, or address in register (2)-(12), of an 8-character field.
To code: Specify the RS-type address, or address in register (2)-(12), of a 32-character field.
Specifying QUERY=YES causes the same function to be performed as the ITZQUERY macro. If transaction trace is active for this work unit, a trace record is built and recorded. The default is QUERY=YES.
The transaction trace token (TRACETKN) is a required input parameter. The TRACETKN is obtained by issuing a ITZQUERY macro just prior to issuing the ITZEVENT.
IBM® recommends that MONTKN be specified for a monitoring environment to keep the query pathlength short and fast.
To code: Specify the RS-type address, or address in register (2)-(12), of a fullword field.
To code: Specify the RS-type address, or address in register (2)-(12), of a 32-character field.
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 of the macro 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.
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.
Use MF=M with the list and execute forms of the macro for service routines that need to provide different options according to user-provided input. Use the list form to define a storage area, use the modify form to set the appropriate options, and use the execute form to call the service.
None.
The following table identifies the hexadecimal return and reason codes and the equate symbol associated with each reason code. IBM support personnel may request the entire reason code, including the xxxx value.
Return Code | Reason Code | Equate Symbol Meaning and Action |
---|---|---|
0 | — | Equate Symbol: ITZGOOD Meaning: Success - this work unit was traced. Action: None. |
4 | — | Equate Symbol: ITZNOTR Meaning: Work unit was not traced. Action: None. Reason code set to indicate the reason for not tracing. |
4 | xxxx0401 | Equate Symbol: ITZNOTKN Meaning: Trace token was zero. Action: None. |
4 | xxxx0402 | Equate Symbol: ITZNOACT Meaning: Transaction trace is not active. Action: None. |
4 | xxxx0403 | Equate Symbol: ITZLATNT Meaning: Transaction trace is LATENT with LATENT=N set. Action: None. |
ITZEVENT COMPONENT=COMP,
EVENTDESC=DESC,
DATAADDR=TTDATA,
DATALEN=TTLEN
COMP DC CL8'COMP1 '
DESC DC CL16'START TRAN '
TTDATA DC CL64
TTLEN DC F'64'