gtpp1m1mProgram Development Support Reference

TPF MQSeries Trace and Postprocessing

TPF MQSeries local queue manager support provides a communications trace and a function trace.

Communications Trace

Communications trace provides a detailed trace of the data transferred between a TPF MQSeries channel and a remote MQSeries system. Communications trace provides the following information about each message:

Function Trace

Function trace allows you to trace the entry to or exit from any function in the MQSeries system. You can set tracing for:

Function trace provides the following information:

You can direct the trace output to an RTL tape, the console, both tape and console, or neither tape nor console. The trace data is also attached to the entry control block (ECB) and will be included in any system error dumps that are issued.

Note:
Use the console for trace output only on test systems; sending trace output to the console can degrade system performance on a production system.

Using TPF MQSeries Trace

TPF MQSeries tracing is controlled with the ZMQSC TRACE command. Use the following procedure:

  1. Enter the ZMQSC TRACE command to set the trace parameters that you want for your MQSeries system. See TPF Operations for more information about the specific parameters to specify.
  2. Enter ZMQSC TRACE START to start tracing according to the parameters you set in step 1. Tracing will continue until you stop tracing even if the channel is stopped and started, or if the queue manager is stopped and started.
  3. Enter ZMQSC TRACE STOP to stop tracing.
  4. If you directed the output to tape, see Postprocessing the Trace Data for information about how to postprocess the trace data.

Enter the ZMQSC TRACE command with the DISPLAY parameter specified whenever you want to display the current trace status. See TPF Operations for more information about the ZMQSC TRACE command.

All tracing parameters and start and stop status are maintained through an IPL.

Postprocessing the Trace Data

If you direct the trace data to an RTL tape, you must postprocess the data offline. The following is an example of the job control language (JCL) that you can use to generate the TPF MQSeries trace report.

//MQTR     EXEC PGRM=CMQMPP,PARM='parm'
//STEPLIB  DD DISP=SHR,DSN=linklibname
//PRINT    DD SYSOUT=A,DCB=(LRECL=133,BLKSIZE=3990,RECFM=FBA)
//RTL      DD DSN=RTL,UNIT=TAPE,DISP=OLD,VOL=SER=tapenum,
//            DCB=(LRECL=4184,BLKSIZE=32760,RECFM=VB)
//* RECFM=VB FOR TAPES CREATED IN BLOCKED FORMAT
/*

Where:

parm
is one of the following:

C
processes the communications trace data.

F
processes the function trace data.

If you do not specify C or F, both communications trace data and function trace data are processed.

linklibname
is your link library name.

tapenum
is the tape number.

Communications Trace Example

Consider the following command entries:

ZMQSC TRACE CHL-TPF.MVS.MQD2.TPFMGR ON
ZMQSC TRACE TAPE-ON
ZMQSC TRACE START

The following is an example of the communications trace data.

Figure 57. TPF MQSeries Communications Trace Output Example

MQ COMMS TRACE BEGIN....
-------------------------------------------------------
CHL = TPF.MVS.MQD2.TPFMGR   CHLTYPE = RCVR
1998-09-04      12.35.35
Message Type For This message is INITIAL_DATA.
Data Contains:
E3E2C840 00000084 01010200 00000000 00000000 00000311 01F40000 C9C44040
03070038 0000000A 00007FFE 00002800 3B9AC9FF E3D7C64B D4E5E24B D4D8C4F2
4BE3D7C6 D4C7D940 040001F4 D4D8C4F2 40404040 40404040 40404040 40404040
40404040 40404040 40404040 40404040 40404040 40404040 40404040 0000012C
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
-------------------------------------------------------
CHL = TPF.MVS.MQD2.TPFMGR   CHLTYPE = RCVR
1998-09-04      12.35.35
Message Type For This message is INITIAL_DATA.
Data Contains:
E3E2C840 0000004C 01010100 00000000 00000000 00000311 00250000 C9C44040
03070000 0000000A 00007FFE 00002800 3B9AC9FF E3D7C64B D4E5E24B D4D8C4F2
4BE3D7C6 D4C7D940 00000025 D4D8C4F2 40404040 40404040 40404040 40404040
40404040 40404040 40404040 40404040 40404040 40404040 40404040 0000012C
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
-------------------------------------------------------
CHL = TPF.MVS.MQD2.TPFMGR   CHLTYPE = RCVR
1998-09-04      12.35.35
Message Type For This message is STATUS_DATA.
Data Contains:
E3E2C840 0000001C 01050000 00000000 00000000 00000222 01F40000 C9C44040
03070000 0000000A 00007FFE 00002800 3B9AC9FF E3D7C64B D4E5E24B D4D8C4F2
4BE3D7C6 D4C7D940 000001F4 D4D8C4F2 40404040 40404040 40404040 40404040
40404040 40404040 40404040 40404040
-------------------------------------------------------
CHL = TPF.MVS.MQD2.TPFMGR   CHLTYPE = RCVR
1998-09-04      12.35.35
Message Type For This message is MESSAGE_DATA.
TSH:
E3E2C840 00001564 01043000 B1013AA8 E081FE03 00000311 00250000
MSH:
D4E2C840 00000BB9 00001388 00000000 00001534
Only one message segment in this message.
MQXQH:
E7D8C840 00000001 D6D9C1D5 C7C54BD8 E4C5E4C5 40404040 40404040 40404040
40404040 40404040 40404040 40404040 40404040 40404040 E3D7C6D4 C7D94040
40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404040
40404040 40404040 D4C44040 00000001 00000000 00000008 FFFFFFFF 00000000
00000311 00000025 40404040 40404040 00000000 00000001 C3E2D840 D4D8C4F2
40404040 40404040 B10077C5 BD792403 00000000 00000000 00000000 00000000
00000000 00000000 00000000 40404040 40404040 40404040 40404040 40404040
40404040 40404040 40404040 40404040 40404040 40404040 40404040 D4D8C4F2
40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404040
40404040 40404040 40404040 E6E7C9C1 D6404040 40404040 1AF1F0F1 F3C4C2C4
C36BF3F9 E4F0F66B D5D6D5E8 6BC2D6E7 60F5F500 00000000 40404040 40404040
40404040 40404040 40404040 40404040 40404040 40404040 00000002 7BD7E4E3
D8404040 40404040 40404040 40404040 40404040 40404040 F1F9F9F8 F0F9F0F3
F2F2F0F4 F4F1F0F2 40404040
Formatted MQXQH Data Contains:
   RemoteQName is: ORANGE.QUEUE
   RemoteQMgrName is: TPFMGR
   Name of reply-to queue is:
   Name of reply queue manager is: MQD2
   Application that puts the message is: #PUTQ
Application Data contains:
E7E7E7E7 E7E7E7E7 E7E7E7E7 E7E7E7E7 E7E7E7E7 E7E7E7E7 E7E7E7E7 E7E7E7E7
E7E7E7E7 E7E7E7E7 E7E7E7E7 E7E7E7E7 E7E7E7E7 E7E7E7E7 E7E7E7E7 E7E7E7E7
E7E7E7E7 E7E7E7E7 E7E7E7E7 E7E7E7E7
-------------------------------------------------------
TOTAL NUMBER OF TRACE MESSAGES ARE:  4.
MQ TRACE COMPLETED.
*******************************************************

Function Trace Example

Consider the following command entries:

ZMQSC TRACE Q-PETE ON
ZMQSC TRACE TAPE-ON
ZMQSC TRACE START

The following is an example of function trace data.

Figure 58. TPF MQSeries Function Trace Output Example

BEGIN TRACE POSTPROCESS
MQ FUNCTION TRACE BEGIN
ECB SVA: 19BE000
TIME: Tue Jan 19 13:23:34 1999
entry CMQAPI-zstMQPUT1: PETE
TIME: Tue Jan 19 13:23:34 1999
entry CMQHSH-HASH_findEntry: QFNCTRCE
TIME: Tue Jan 19 13:23:34 1999
entry CMQHSH-hashName
TIME: Tue Jan 19 13:23:34 1999
return CMQHSH-hashName(0)
TIME: Tue Jan 19 13:23:34 1999
return CMQHSH-HASH_findEntry(0)
TIME: Tue Jan 19 13:23:34 1999
entry CMQAPI-zstMQOPEN: PETE
TIME: Tue Jan 19 13:23:34 1999
entry CMQQUE-resolveName: /PETE
TIME: Tue Jan 19 13:23:34 1999
entry CMQQUE-locateQEntry: PETE
TIME: Tue Jan 19 13:23:34 1999
entry CMQHSH-HASH_findEntry: MQCOMMON
TIME: Tue Jan 19 13:23:34 1999
entry CMQHSH-hashName
TIME: Tue Jan 19 13:23:34 1999
return CMQHSH-hashName(0)
TIME: Tue Jan 19 13:23:34 1999
return CMQHSH-HASH_findEntry(0)
TIME: Tue Jan 19 13:23:34 1999
return CMQQUE-locateQEntry(0)
TIME: Tue Jan 19 13:23:34 1999
return CMQQUE-resolveName(0): PETE
TIME: Tue Jan 19 13:23:34 1999
entry CMQAPI-updateDCcount
TIME: Tue Jan 19 13:23:34 1999
return CMQAPI-updateDCcount(0)
TIME: Tue Jan 19 13:23:34 1999
return CMQAPI-zstMQOPEN(0): server
TIME: Tue Jan 19 13:23:34 1999
entry CMQHSH-HASH_findEntry: QFNCTRCE
TIME: Tue Jan 19 13:23:34 1999
entry CMQHSH-hashName
TIME: Tue Jan 19 13:23:34 1999
return CMQHSH-hashName(0)
TIME: Tue Jan 19 13:23:34 1999
return CMQHSH-HASH_findEntry(0)
TIME: Tue Jan 19 13:23:34 1999
entry CMQAPI-zstMQPUT: PETE
TIME: Tue Jan 19 13:23:34 1999
entry CMQQUE-locateQEntry:
TIME: Tue Jan 19 13:23:34 1999
entry CMQHSH-HASH_findEntry: MQCOMMON
TIME: Tue Jan 19 13:23:34 1999
entry CMQHSH-hashName
TIME: Tue Jan 19 13:23:34 1999
return CMQHSH-hashName(0)
TIME: Tue Jan 19 13:23:34 1999
return CMQHSH-HASH_findEntry(11)
TIME: Tue Jan 19 13:23:34 1999
entry CMQMGR-QM_storeOneQ
TIME: Tue Jan 19 13:23:34 1999
entry CMQUTL-UT_createTO2Env
TIME: Tue Jan 19 13:23:34 1999
return CMQUTL-UT_createTO2Env(0)
TIME: Tue Jan 19 13:23:34 1999
entry CMQUTL-UT_createQNameListCursor
TIME: Tue Jan 19 13:23:34 1999
entry CMQUTL-createCursorForObject
TIME: Tue Jan 19 13:23:34 1999
entry CMQUTL-UT_getDSdictEntry: QUEUE NAME LIST
TIME: Tue Jan 19 13:23:34 1999
return CMQUTL-UT_getDSdictEntry(0)
TIME: Tue Jan 19 13:23:34 1999
return CMQUTL-createCursorForObject(0)
TIME: Tue Jan 19 13:23:34 1999
return CMQUTL-UT_createQNameListCursor(0)
TIME: Tue Jan 19 13:23:34 1999
entry CMQUTL-UT_deleteTO2Env
TIME: Tue Jan 19 13:23:34 1999
return CMQUTL-UT_deleteTO2Env(0)
TIME: Tue Jan 19 13:23:34 1999
return CMQMGR-QM_storeOneQ(35)
TIME: Tue Jan 19 13:23:34 1999
entry CMQHSH-HASH_findEntry: MQCOMMON
TIME: Tue Jan 19 13:23:34 1999
entry CMQHSH-hashName
TIME: Tue Jan 19 13:23:34 1999
return CMQHSH-hashName(0)
TIME: Tue Jan 19 13:23:34 1999
return CMQHSH-HASH_findEntry(11)
TIME: Tue Jan 19 13:23:34 1999
return CMQQUE-locateQEntry(35)
TIME: Tue Jan 19 13:23:34 1999
entry CMQQUE-addMsgToQ
TIME: Tue Jan 19 13:23:34 1999
entry CMQUTL-UT_createTO2Env
TIME: Tue Jan 19 13:23:34 1999
return CMQUTL-UT_createTO2Env(0)
TIME: Tue Jan 19 13:23:34 1999
entry CMQUTL-UT_commitScope: 003
TIME: Tue Jan 19 13:23:34 1999
return CMQUTL-UT_commitScope(0)
TIME: Tue Jan 19 13:23:34 1999
entry CMQQUE-putToBLOB
TIME: Tue Jan 19 13:23:35 1999
return CMQQUE-putToBLOB(0)
TIME: Tue Jan 19 13:23:35 1999
entry CMQUTL-UT_commitScope: 004
TIME: Tue Jan 19 13:23:35 1999
return CMQUTL-UT_commitScope(0)
TIME: Tue Jan 19 13:23:35 1999
entry CMQQUE-addQEntry
TIME: Tue Jan 19 13:23:35 1999
entry CMQQUE-lockQ
TIME: Tue Jan 19 13:23:35 1999
return CMQQUE-lockQ(0)
TIME: Tue Jan 19 13:23:35 1999
entry CMQQUE-locateQEntry: DEAD.LETTER.QUEUE
TIME: Tue Jan 19 13:23:35 1999
entry CMQHSH-HASH_findEntry: MQCOMMON
TIME: Tue Jan 19 13:23:35 1999
entry CMQHSH-hashName
TIME: Tue Jan 19 13:23:35 1999
return CMQHSH-hashName(0)
TIME: Tue Jan 19 13:23:35 1999
return CMQHSH-HASH_findEntry(0)
TIME: Tue Jan 19 13:23:35 1999
return CMQQUE-locateQEntry(0)
TIME: Tue Jan 19 13:23:35 1999
entry CMQQUE-unlockQ
TIME: Tue Jan 19 13:23:35 1999
return CMQQUE-unlockQ(0)
TIME: Tue Jan 19 13:23:35 1999
return CMQQUE-addQEntry(0)
TIME: Tue Jan 19 13:23:35 1999
entry CMQUTL-UT_deleteTO2Env
TIME: Tue Jan 19 13:23:35 1999
return CMQUTL-UT_deleteTO2Env(0)
TIME: Tue Jan 19 13:23:35 1999
return CMQQUE-addMsgToQ(0)
TIME: Tue Jan 19 13:23:35 1999
return CMQAPI-zstMQPUT(0): server
TIME: Tue Jan 19 13:23:35 1999
entry CMQHSH-HASH_findEntry: QFNCTRCE
TIME: Tue Jan 19 13:23:35 1999
entry CMQHSH-hashName
TIME: Tue Jan 19 13:23:35 1999
return CMQHSH-hashName(0)
TIME: Tue Jan 19 13:23:35 1999
return CMQHSH-HASH_findEntry(0)
TIME: Tue Jan 19 13:23:35 1999
entry CMQAPI-zstMQCLOSE: PETE
TIME: Tue Jan 19 13:23:35 1999
entry CMQAPI-updateDCcount
TIME: Tue Jan 19 13:23:35 1999
return CMQAPI-updateDCcount(0)
TIME: Tue Jan 19 13:23:35 1999
return CMQAPI-zstMQCLOSE(0): server
TIME: Tue Jan 19 13:23:35 1999
return CMQAPI-zstMQPUT1(0): server
TOTAL TRACE MESSAGES: 78
MQ FUNCTION TRACE COMPLETED