Thread-level and queue-level data records
Thread level accounting records are collected for each task using WebSphere MQ. For each task, a thread-level accounting data record is written to the SMF when the task finishes. For a long running task, data is also written at the statistics interval set by the STATIME parameter of the CSQ6SYSP system parameter macro (or by the system SMF statistics broadcast), provided that the task was running the previous time statistics were gathered. In addition, accounting information is gathered about each queue that the task opens. A queue-level accounting record is written for each queue that the task has used since the thread-level accounting record was last written.
Thread-level and queue-level accounting records are produced if you specify class 3 when you start the accounting trace.
The thread level accounting information is written to an SMF type 116, subtype 1 record, and is followed by queue-level records. If the task opened many queues, further queue information is written to one or more SMF type 116 subtype 2 records. A thread identification control block is included in each subtype 1 and 2 record to enable you to relate each record to the correct task. Typically, the maximum number of queue-level records in each SMF record is about 45.
The format of the thread-level accounting record is described in assembler macro thlqual.SCSQMACS(CSQDWTAS) and in Table 25. The format of the queue-level accounting record is described in assembler macro thlqual.SCSQMACS(CSQDWQ) and in Table 26. The format of the thread identification record is described in assembler macro thlqual.SCSQMACS(CSQDWTID) and in Table 27.All these records are also described in C header file thlqual.SCSQC370(CSQDSMFC). The field names in C are all in lower case, for example wtas, wtasshex.
Table 25. Layout of the task-related information (WTAS) structure Offset: Dec Offset: Hex Type Length Name Description 0 0 Structure 712 WTAS 0 0 Integer 2 WTASSHEX Hex ID of block 2 2 Integer 2 WTASLEN Length of block 4 4 Character 4 WTASEYEC Eye catcher 8 8 Character 16 WTASCORR Correlator identifier 8 8 Character 8 WTASSTRT Time WTAS allocated 16 10 Character 8 WTASHASH Reserved 16 10 Integer 4 WTASMTHR Reserved 20 14 Integer 4 WTASWTAS Reserved 24 18 Character 8 WTASLATC Reserved 32 20 Integer 4 WTASHSHI Reserved 36 24 Address 4 * Reserved 40 28 Bitstring 4 * Reserved 44 2C Character 4 * Reserved 48 30 Character 384 WTASTHST Thread statistics 48 30 Character 8 * Reserved 304 130 Integer 4 * Reserved Non-queue 'other' statistics 432 1B0 Character 8 WTASOTET Other MQI calls elapsed time 440 1B8 Character 8 WTASOTCT Other MQI calls CPU time 448 1C0 Integer 4 WTASOTN Number of other calls 452 1C4 Character 8 WTASMLW Maximum latch wait time 460 1CC Integer 4 WTASMLWN Maximum wait latch number 464 1D0 Character 4 * Reserved 468 1D4 Integer 4 * Reserved Commit statistics 472 1D8 Character 8 WTASCMET Commit elapsed time 480 1E0 Character 8 WTASCMCT Commit CPU time 488 1E8 Integer 4 WTASCMN Commit number of calls Backout statistics 492 1EC Character 8 WTASBAET Backout elapsed time 500 1F4 Character 8 WTASBACT Backout CPU time 508 1FC Integer 4 WTASBAN Backout number of calls 512 200 Character 4 * Reserved Journal and logging information 516 204 Character 8 WTASJWET Log write elapsed time in STCK format 524 20C Integer 4 WTASJWN Number of log writes 528 210 Integer 4 WTASJWB Number of bytes written to the log 532 214 Character 8 WTASJCET Elapsed time waiting for log data to be forced to DASD 540 21C Integer 4 WTASJCN Number of times the log was forced 544 220 Integer 4 WTASSUSN Number of times the task was suspended 548 224 Character 8 WTASSUSE Total suspend time Page set 0 logging activity 556 22C Character 8 WTASPSE0 Elapsed time logging for page set 0 564 234 Integer 4 WTASPSN0 Logging requests for page set 0 DB2 manager 568 238 Character 8 WTASDBET DB2 elapsed time for thread 576 240 Character 8 WTASDBES DB2 elapsed time for server 584 248 Character 8 WTASDBMT DB2 maximum elapsed time for thread 592 250 Character 8 WTASDBMS DB2 maximum elapsed time for server 600 258 Integer 4 WTASDBCT Number of DB2 requests 604 25C 64-bit integer 8 WTASDBGT Bytes written to DB2 612 264 64-bit integer 8 WTASDBPT Bytes read from DB2 CF manager 620 26C Integer 4 WTASCSEC Number of IXLLSTE calls 624 270 Integer 4 WTASCMEC Number of IXLLSTM calls 628 274 Integer 4 WTASRSEC Number of IXLLSTE redrives 632 278 Integer 4 WTASRMEC Number of IXLLSTM redrives 636 27C Character 8 WTASSSTC Time spent in IXLLSTE calls 644 284 Character 8 WTASMSTC Time spent in IXLLSTM calls 652 28C Character 8 * (3) Reserved Interval data and page counts 676 2A4 Character 8 WTASINTS Interval start - for post processing 684 2AC Character 8 WTASINTE Interval end - for post processing 692 2B4 Integer 4 WTASGPO Get pages old 696 2B8 Integer 4 WTASGPN Get pages new
Table 26. Layout of the Queue (WQ) structure Offset: Dec Offset: Hex Type Length Name Description 0 0 Structure 576 WQSTAT 0 0 Integer 2 WQID Control block hex ID 2 2 Integer 2 WQLL Length of the block 4 4 Character 4 WQEYE Eye catcher (WQST) 8 8 Integer 4 WQVER Vnumber 12 C Address 4 WQNEXT Reserved 16 10 Character 16 CORREL Correlator to tie block to owning WTAS 32 20 Character 48 OBJNAME Object name as opened 80 50 Character 48 BASENAME Base name or generate name if applicable 128 80 Character 8 OPENTIME Time queue opened (this is the first time if data is accumulated) 136 88 Character 8 CLOSTIME Time the queue was closed (this is the last time if data is accumulated) Object information 144 90 Integer 4 QTYPE Queue type (for example, local) 148 94 Integer 4 INDXTYPE Index type of queue 152 98 Integer 4 QSGDISP QSGDISP (for example, SHARED or GROUP) MQOPEN 156 9C Character 4 OPENEYE Eye catcher (OPEN) 160 A0 Character 8 OPENET Total elapsed time for MQOPEN processing 168 A8 Character 8 OPENCT Total amount of CPU time processing MQOPEN calls 176 B0 Integer 4 OPENN Number of MQOPEN calls MQCLOSE 180 B4 Character 4 CLOSEEYE Eye catcher (CLOS) 184 B8 Character 8 CLOSEET Total elapsed time for MQCLOSE processing 192 C0 Character 8 CLOSECT Total CPU times used for MQCLOSE processing 200 C8 Integer 4 CLOSEN Number of MQCLOSE calls MQGET 204 CC Character 4 GETEYE Eye catcher (GET) 208 D0 Character 8 GETET Elapsed time processing MQGET calls 216 D8 Character 8 GETCT CPU times used processing MQGET calls 224 E0 Integer 4 GETN Total number of MQGET calls 228 E4 Integer 4 GETBRWA Number of MQGET browses (any) 232 E8 Integer 4 GETBRWS Number of MQGET browses (specific) 236 EC Integer 4 GETA Number of MQGET calls (any) 240 F0 Integer 4 GETS Number of MQGET calls (specific) 244 F4 Integer 4 GETERR Number of unaccountable MQGETs 248 F8 Character 8 GETJWET Elapsed time waiting for a journal write to complete. This is for getting persistent messages out of syncpoint. 256 100 Integer 4 GETJWN Number of journal write requests. This is for getting persistent messages out of syncpoint. 260 104 Character 8 GETPSET Elapsed time waiting for a read from a page set 268 10C Integer 4 GETPSN Number of reads from a page set 272 110 Character 8 GETSUSET Total suspend time for MQGET calls 280 118 Integer 4 GETSUSN Number of times suspended 284 11C Integer 4 GETEPAGE Number of empty pages skipped over when doing an MQGET 288 120 Integer 4 GETSMSG Number of messages skipped when doing an MQGET, either by MsgId or CorrelId 292 124 Integer 4 GETEXMSG Number of expired messages processed (this causes an increase in time because the event messages need to be produced) MQPUT 296 128 Character 4 PUTEYE Eye catcher (PUT) 300 12C Character 8 PUTET Total elapsed time for the MQPUT calls 308 134 Character 8 PUTCT CPU time used during MQPUT processing 316 13C Integer 4 PUTN Number of MQPUT requests 320 140 Character 8 PUTJWET Elapsed time waiting for a journal write request. This is for putting persistent messages out of syncpoint. 328 148 Integer 4 PUTJWN Number of journal write requests. This is for putting persistent messages out of syncpoint. 332 14C Character 8 PUTSUSET Elapsed time the task was suspended for 340 154 Integer 4 PUTSUSN Number of times suspended 344 158 Character 8 PUTPSET Time taken to read from a page set for MQPUT 352 160 Integer 4 PUTPSN Number of page set put requests MQPUT1 356 164 Character 4 PUT1EYE Eye catcher (PUT1) 360 168 Character 8 PUT1ET Total elapsed time for the MQPUT1 calls 368 170 Character 8 PUT1CT CPU time used during MQPUT1 processing 376 178 Integer 4 PUT1N Number of MQPUT1 requests 380 17C Character 8 PUT1JWET Elapsed time waiting for a journal write request. This is for putting persistent messages out of syncpoint. 388 184 Integer 4 PUT1JWN Number of journal write requests. This is for putting persistent messages out of syncpoint. 392 188 Character 8 PUT1SUSET Elapsed time the task was suspended 400 190 Integer 4 PUT1SUSN Number of times suspended 404 194 Character 8 PUT1PSET Time taken to read from a page set for MQPUT1 412 19C Integer 4 PUT1PSN Number of page set MQPUT1 requests MQINQ 416 1A0 Character 4 INQEYE Eye catcher (INQ) 420 1A4 Character 8 INQET Total elapsed time for the MQINQ calls 420 1A4 Character 8 INQET Total elapsed time for the MQINQ calls 436 1B4 Integer 4 INQN Number of MQINQ requests MQSET 440 1B8 Character 4 SETEYE Eye catcher (SET) 444 1BC Character 8 SETET Total elapsed time for the MQSET calls 452 1C4 Character 8 SETCT CPU time used during MQSET processing 460 1CC Integer 4 SETN Number of MQSET requests 464 1D0 Character 8 SETJWET Elapsed time waiting for journal write requests 472 1D8 Integer 4 SETJWN Number of journal write requests Other statistics 476 1DC Integer 4 NPS Page set number 480 1E0 Character 12 CFSTRUCNAME Name of CF structure 492 1EC Integer 4 NBUFFPOOL Buffer pool number 496 1F0 Character 8 PUTBYTES Total number of bytes put successfully 504 1F8 Character 8 GETBYTES Total number of bytes got successfully 512 200 Integer 4 VALIDPUT Number of MQPUTs writing data 516 204 Integer 4 VALIDGET Number of MQGETs with data 520 208 Integer 4 NGEN Number of messages generated (including COA, COD, event, and expiry messages) 524 20C Integer 4 GETMAXMS Get maximum messages size 528 210 Integer 4 GETMINMS Get minimum messages size 532 214 Integer 4 PUTMAXMS Put maximum messages size 536 218 Integer 4 PUTMINMS Put minimum messages size 540 21C Character 8 MAXLATNT Maximum latency of message 548 224 Character 8 MINLATNT Minimum latency of message 556 22C Character 8 TOTLATNT Total latency of messages 564 234 Integer 4 * Reserved 568 238 Integer 4 USE_COUNT Use count (plus 1 for MQOPEN, minus 1 for MQCLOSE) 572 23C Integer 4 TOTAL_USE Total number of calls using this queue 576 240 Integer 4 GETPMSG Number of persistent messages created using MQPUT 580 244 Integer 4 PUTPMSG Number of persistent messages retrieved using MQGET 584 248 Integer 4 PUT1PMSG Number of persistent messages created using MQPUT1 588 24C Integer 4 * Reserved 592 250 Character 0 * End of Structure Note:The average size of message put to a queue or got from a queue is not specifically recorded. However, it can be obtained by dividing PUTBYTES by VALIDPUT or GETBYTES by VALIDGET, as appropriate.
Table 27. Layout of the Task Id structure (WTID) Offset: Dec Offset: Hex Type Length Name Description 0 0 Structure 208 WTID 0 0 Integer 2 WTIDSHEX Hex ID of block 2 2 Integer 2 WTIDLEN Length of block 4 4 Character 4 WTIDEYEC Eye catcher 8 8 Character 186 WTASID 8 8 Integer 4 WTIDATYP CCBCTCOD 1=CICS etc 12 C Character 8 WTIDCCN CCBNAME connection name. See Table 30. 20 14 Character 8 WTIDOPID CCBOPID operator ID 28 1C Character 16 WTIDNID NID 44 2C Character 12 WTIDCORI Correlator. See Table 28 or Table 29 for the internal structure of this field. 56 38 Character 24 WTIDUOWI LUWID 80 50 Character 22 WTIDACCT Accounting token 102 66 Character 20 WTIDCHL Channel name. See Table 30. 122 7A Character 48 WTIDCHLC Channel connection name. See Table 30. 170 AA Character 16 WTIDCTXT Current context token 186 BA Character 8 WTIDTRAN CCBUSER MVS user ID 194 C2 Character 2 * Reserved 196 C4 Address 4 WTIDCFWD Reserved 200 C8 Address 4 WTIDCBWD Reserved 204 CC Address 4 WTIDWTAS Reserved 208 D0 Character 0 * Reserved
Table 28. Structure of the WTICDORI for a CICS system Offset: Dec Offset: Hex Type Length Name Description 44 2C Hexadecimal 4 WTICTNO CICS thread number 48 30 Character 4 WTIDCTRN CICS transaction name 52 34 Packed decimal 4 WTIDCTSK CICS task number
Table 29. Structure of the WTICDORI for an IMS system Offset: Dec Offset: Hex Type Length Name Description 44 2C Hexadecimal 4 WTIDPST IMS partition specification table (PST) region identifier 48 30 Character 8 WTIDPSB IMS program specification block (PSB) name