SMF Type 116 Record
This table shows the record layout for type 116 SMF records
(WebSphere MQ Accounting Data V6.0).
List of other SMF record layouts available.
List of sample SMF reports.
Purpose: WebSphere MQ accounting data is written as SMF type 116 records.
WebSphere MQ accounting information can be collected for three subtypes:
- 0 Message manager accounting records (how much CPU was spent processing WebSphere MQ API calls and the number of MQPUT and MQGET calls). This information is produced when a named task disconnects from WebSphere MQ, and so the information contained within the record might cover many hours.
- 1 Accounting data for each task, at thread and queue level.
- 2 Additional queue-level accounting data (if the task used more queues than could fit in the subtype 1 record).
Subtype 0 is produced with trace class 1; subtypes 1 and 2 are produced with trace class 3.
It's easy to report on SMF 116 data! (Jump to sample reports) | |
Spectrum SMF Writer handles the difficult SMF record parsing for you automatically. You just specify which fields you want to see. Spectrum SMF Writer also converts the arcane date and time fields and reformats them into an attractive report. Plus, Spectrum SMF Writer can export SMF data as comma delimited files to use on your PC.
|
The Spectrum Writer definitions for the SMF type 116 record below are based on the description provided by IBM in its "MVS Systems Management Facilities (SMF)" manual and/or DSECTs mapped by its Assembler macros.
 
File Definition for Type 116 SMF Records WebSphere MQ Accounting Data V6.0
*********************************************************************** * SPECTRUM SMF WRITER -- FILE DEFINITION STATEMENTS * * SMF TYPE 116 RECORD - "WEBSPHERE MQ ACCOUNTING DATA V6.0" * *********************************************************************** OPTION: MISSOFFSET /* TREAT OFFSET ERRORS (99999) LIKE MISSING DATA */ OPTION: STCKADJ(0) /* STCKTIMES ARE INTERVALS, NOT GMT TIMES */ ******************************************************************* * SMF COMMON HEADER MAPPING MACRO FOR STATISTICS TYPE 100 ******************************************************************* * FLD: SMF116LEN LEN(2) DISP(0) /*SMF116 TOTAL LENGTH*/ FLD: SMF116SGD LEN(2) DISP(2) /*RESERVED*/ FLD: SMF116FLG LEN(1) DISP(4) /*SYSTEM INDICATOR*/ FLD: SMF116RTY LEN(1) TYPE(BIN) ACC(NO) DISP(5) /*The SMF record type.*/ * For WebSphere MQ accounting records * this is always 116 (X'74'). FLD: SMF116TME LEN(4) TYPE(B-SECS) DISP(6) DEC(2) /*TIME SMF MOVED RECORD*/ FLD: SMF116DTE TYPE(P-CYYDDD) DISP(10) /*DATE SMF MOVED RECORD*/ FLD: SMF116SID LEN(4) DISP(14) /*z/OS subsystem ID. Defines the z/OS*/ * subsystem on which the records were * collected. (EX: MV41) FLD: SMF116SSI LEN(4) DISP(18) /*WebSphere MQ subsystem ID. (EX: MQ07)*/ FLD: SMF116STF TYPE(HALF) DISP(22)/*RECORD SUBTYPE*/ FLD: SMF116RI LEN(3) DISP(24) /*WebSphere MQ version. (EX: 600)*/ FLD: SMF116SEQ LEN(1) DISP(27) /*RESERVED*/ FLD: SMF116SD LEN(1) DISP(28) /*self defining section starts*/ * *** ***The following 3 fields are included for all subtypes FLD: SMF116_COMMO LEN(4) TYPE(BIN) DISP(28) /*Offset to common header section.*/ FLD: SMF116_COMML TYPE(HALF) DISP(32) /*Length of common header section.*/ FLD: SMF116_COMMN TYPE(HALF) DISP(34) /*Number of common header sections.*/ * FLD: SMF116_SEC1O LEN(4) TYPE(BIN) DISP(36) /*Offset to 1st variable section*/ FLD: SMF116_SEC1L TYPE(HALF) DISP(40) /*Length of 1st variable section*/ FLD: SMF116_SEC1N TYPE(HALF) DISP(42) /*Number of 1st variable sections.*/ FLD: SMF116_SEC2O LEN(4) TYPE(BIN) DISP(44) /*Offset to 2nd variable section*/ FLD: SMF116_SEC2L TYPE(HALF) DISP(48) /*Length of 2nd variable section*/ FLD: SMF116_SEC2N TYPE(HALF) DISP(50) /*Number of 2nd variable sections.*/ FLD: SMF116_SEC3O LEN(4) TYPE(BIN) DISP(52) /*Offset to 3rd variable section*/ FLD: SMF116_SEC3L TYPE(HALF) DISP(56) /*Length of 3rd variable section*/ FLD: SMF116_SEC3N TYPE(HALF) DISP(58) /*Number of 3rd variable sections.*/ * ********************************************************************* ** IBM WebSphere MQ for z/OS * ** * ** INSTRUMENTATION STANDARD HEADER DATA IN PRODUCT SECTION * ** PRESENT FOR ALL SUBTYPES * ** * ********************************************************************* *********************************************************************** **** QWHS DSECT *********************************************************************** *********************************************************************** * TO REPORT ON ALL OCCURRENCES OF QWHS, USE: * INPUT: SMF116 * NORMWHEN(SMF116RTY = 116 AND SMF116_COMMN > 0) * NORMALIZE(QWHS, SMF116_COMMN) *********************************************************************** COMP: QWHS_OFFSET = WHEN(SMF116RTY = 116 AND SMF116_COMMN > 0) ASSIGN(SMF116_COMMO) ELSE ASSIGN(99999) FLD: QWHS DISP(0) LEN(128) OFFSET(QWHS_OFFSET) FLD: QWHSNSDA LEN(1) TYPE(BIN) DISP(6) /*NUMBER OF SELF DEFINING AREAS*/ FLD: QWHSSSID LEN(4) DISP(12) /*SUBSYSTEM NAME*/ FLD: QWHCAID LEN(8) DISP(40) /*User ID associated with the OS/390 job*/ FLD: QWHCCV LEN(12) DISP(48) /*Thread cross reference*/ FLD: QWHCCN LEN(8) DISP(60) /*Connection name*/ FLD: QWHCOPID LEN(8) DISP(76) /*User ID associated with the transactio*/ FLD: QWHCATYP LEN(4) DISP(84) /*Type of connecting system*/ * 1=CICS * 2=Batch or TSO * 3=IMS control region * 4=IMS MPP or BMP * 5=Command server * 6=Channel initiator * 7=RRS Batch FLD: QWHCTOKN LEN(22) DISP(88) /*Accounting token set to the OS/390*/ * accounting information for the user FLD: QWHCNID LEN(16) DISP(110) /*Network identifier*/ ********************************************************************* ** IBM WebSphere MQ for z/OS * ** * ** MESSAGE MANAER ACCOUNTING SECTION * ** PRESENT FOR SUBTYPE 0 * ** * ********************************************************************* *********************************************************************** **** QMAC DSECT , Message Manager Accounting Data *********************************************************************** *********************************************************************** * TO REPORT ON ALL OCCURRENCES OF QMAC, USE: * INPUT: SMF116 * NORMWHEN(SMF116RTY = 116 AND SMF116STF=0 * AND SMF116_SEC2N > 0) * NORMALIZE(QMAC, SMF116_SEC2N) *********************************************************************** COMP: QMAC_OFFSET = WHEN(SMF116RTY=116 AND SMF116STF=0 AND SMF116_SEC2N > 0) ASSIGN(SMF116_SEC2O) ELSE ASSIGN(99999) FLD: QMAC DISP(0) LEN(40) OFFSET(QMAC_OFFSET) /*Message Manager Accounting Data*/ FLD: QMACID LEN(2) DISP(0) /*Control block identifier*/ COMP: QMACIDV = X'D414' /*Control block identifier value*/ FLD: QMACLL LEN(2) TYPE(BIN) DISP(2) /*length of QMAC block*/ FLD: QMACEYEC LEN(4) DISP(4) /*eyecatcher*/ FLD: QMACCPUT TYPE(STCKTIME) DISP(8) /*STCK CPU time used*/ FLD: QMACPUTA LEN(4) TYPE(BIN) DISP(16) /*# puts for length 0 99 bytes*/ FLD: QMACPUTB LEN(4) TYPE(BIN) DISP(20) /*# puts for length 100 999 bytes*/ FLD: QMACPUTC LEN(4) TYPE(BIN) DISP(24) /*# puts for length 1000 9999 bytes*/ FLD: QMACPUTD LEN(4) TYPE(BIN) DISP(28) /*# puts for length > 10000 bytes*/ FLD: QMACGETL LEN(4) TYPE(BIN) DISP(32) /*Get requests indexed by msg length*/ FLD: QMACGETA LEN(4) TYPE(BIN) DISP(32) /*# gets for length 0 99 bytes*/ FLD: QMACGETB LEN(4) TYPE(BIN) DISP(36) /*# gets for length 100 999 bytes*/ FLD: QMACGETC LEN(4) TYPE(BIN) DISP(40) /*# gets for length 1000 9999 bytes*/ FLD: QMACGETD LEN(4) TYPE(BIN) DISP(44) /*# gets for length > 10000 bytes*/ ********************************************************************* ** IBM WebSphere MQ for z/OS * ** * ** TASK IDENTIFICATION SECTION * ** PRESENT FOR SUBTYPES 1 AND 2 * ** * ********************************************************************* *********************************************************************** **** WTID DSECT , Thread accounting block *********************************************************************** *********************************************************************** * TO REPORT ON ALL OCCURRENCES OF WTID, USE: * INPUT: SMF116 * NORMWHEN(SMF116RTY = 116 AND (SMF116STF = 1 OR 2) * AND SMF116_SEC1N > 0) * NORMALIZE(WTID, SMF116_SEC1N) *********************************************************************** COMP: WTID_OFFSET = WHEN(SMF116RTY = 116 AND (SMF116STF = 1 OR 2) AND SMF116_SEC1N > 0) ASSIGN(SMF116_SEC1O) ELSE ASSIGN(99999) FLD: WTID DISP(0) LEN(208) OFFSET(WTID_OFFSET) /*Thread accounting block*/ FLD: WTIDSHEX LEN(2) DISP(0) /*Control block ID (XF700')*/ FLD: WTIDLEN LEN(2) TYPE(BIN) DISP(2) /*Length*/ FLD: WTIDEYEC LEN(4) DISP(4) /*Eyecatcher (C'WTID')*/ * FLD: WTIDID LEN(186) DISP(8) FLD: WTIDATYP LEN(4) TYPE(BIN) DISP(8) /*Task's connection type*/ * 0 - Internal task * 1 - CICS Attach * 2 - Batch Attach * 3 - IMS Control region * 4 - IMS MPP region * 5 - Command Server * 6 - Mover * 7 - RRS Stub * 8 - IGQ agent FLD: WTIDCCN LEN(8) DISP(12) /*Connection name*/ FLD: WTIDOPID LEN(8) DISP(20) /*Original primary authid*/ FLD: WTIDNID LEN(16) DISP(28) /*Network ID for RRS connections*/ FLD: WTIDCORI LEN(12) DISP(44) /*Correlation ID*/ FLD: WTIDUOWI LEN(24) DISP(56) /*Logical unit of work identifier*/ FLD: WTIDACCT LEN(22) DISP(80) /*Accounting token*/ FLD: WTIDCHL LEN(20) DISP(102) /*Channel name for mover*/ FLD: WTIDCHLC LEN(48) DISP(122) /*Long connection name for mover*/ FLD: WTIDCTXT LEN(16) DISP(170) /*RRS current context token*/ FLD: WTIDTRAN LEN(8) DISP(186) /*Primary authid*/ * FLD: WTIDCFWD LEN(4) TYPE(BIN) DISP(196) /*reserved*/ FLD: WTIDCBWD LEN(4) TYPE(BIN) DISP(200) /*reserved*/ FLD: WTIDWTAS LEN(4) TYPE(BIN) DISP(204) /*Reserved*/ ********************************************************************* ** IBM WebSphere MQ for z/OS * ** * ** TASK RELATED STATISTICS SECTION * ** PRESENT FOR SUBTYPE 1 * ** * ********************************************************************* *********************************************************************** **** WTAS DSECT , Thread accounting block *********************************************************************** *********************************************************************** * TO REPORT ON ALL OCCURRENCES OF WTAS, USE: * INPUT: SMF116 * NORMWHEN(SMF116RTY = 116 AND SMF116STF = 1 * AND SMF116_SEC2N > 0) * NORMALIZE(WTAS, SMF116_SEC2N) *********************************************************************** COMP: WTAS_OFFSET = WHEN(SMF116RTY = 116 AND SMF116STF = 1 AND SMF116_SEC2N > 0) ASSIGN(SMF116_SEC2O) ELSE ASSIGN(99999) FLD: WTAS DISP(0) LEN(700) OFFSET(WTAS_OFFSET) /*Thread accounting block*/ FLD: WTASSHEX LEN(2) DISP(0) /*Control block ID (X'F701')*/ FLD: WTASLEN LEN(2) TYPE(BIN) DISP(2) /*Length*/ FLD: WTASEYEC LEN(4) DISP(4) /*Eyecatcher (C'WTAS')*/ * FLD: WTASCORR LEN(16) DISP(8) /*This is a unique 16 byte*/ * correlator identifier that * identifies this task. If queue * activity is performed this valu * will appear in each WQSTAT * control block for this task FLD: WTASSTRT TYPE(STCKTIME) DISP(8) /*STCK time WTAS was allocated*/ FLD: WTASHASH LEN(8) DISP(16) /*Reserved*/ FLD: WTASMTHR LEN(4) TYPE(BIN) DISP(16) /*Reserved*/ FLD: WTASWTAS LEN(4) TYPE(BIN) DISP(20) /*Reserved*/ * FLD: WTASLATC LEN(8) DISP(24) /*Reserved*/ * FLD: WTASHSHI LEN(4) TYPE(BIN) DISP(32) /*Reserved*/ FLD: WTASNEXT LEN(4) TYPE(BIN) DISP(36) /*Reserved*/ * FLD: WTASFLAG LEN(4) TYPE(BIN) DISP(40) /*Reserved*/ * FLD: WTASCLR LEN(512) DISP(48) FLD: WTASLWET TYPE(STCKTIME) DISP(48) /*Latch elapse time wait for each*/ * of the 32 latch classes. * FLD: WTASLWN LEN(4) TYPE(BIN) DISP(304) /*# of times waiting for latch fo*/ * each of the 32 latch classes. *********************************************************************** * The following fields are non-Queue 'other' stats * *********************************************************************** FLD: WTASOTET TYPE(STCKTIME) DISP(432) /*'Other' MQ Calls elapsed*/ FLD: WTASOTCT TYPE(STCKTIME) DISP(440) /*'Other' MQ calls CPU time*/ FLD: WTASOTN LEN(4) TYPE(BIN) DISP(448) /*Number of 'Other' calls*/ FLD: WTASMLW TYPE(STCKTIME) DISP(452) /*Max latch wait time*/ FLD: WTASMLWN LEN(4) DISP(460) /*Max wait latch number*/ FLD: WTASCMET TYPE(STCKTIME) DISP(472) /*Commit requests elapsed time*/ FLD: WTASCMCT TYPE(STCKTIME) DISP(480) /*Commit requests CPU time*/ FLD: WTASCMN LEN(4) TYPE(BIN) DISP(488) /*Number of commit requests*/ *********************************************************************** * Backout Statistics * *********************************************************************** FLD: WTASBAET TYPE(STCKTIME) DISP(492) /*Backout requests elapsed time*/ FLD: WTASBACT TYPE(STCKTIME) DISP(500) /*Backout requests CPU time*/ FLD: WTASBAN LEN(4) TYPE(BIN) DISP(508) /*Number of backout requests*/ FLD: WTASJWET TYPE(STCKTIME) DISP(516) /*Elapse time spent waiting for*/ * log writes FLD: WTASJWN LEN(4) TYPE(BIN) DISP(524) /*Number of Log writes*/ FLD: WTASJWB LEN(4) TYPE(BIN) DISP(528) /*Number of Log bytes written*/ FLD: WTASJCET TYPE(STCKTIME) DISP(532) /*Elapsed time waiting for log*/ * data to be forced to DASD FLD: WTASJCN LEN(4) TYPE(BIN) DISP(540) /*Number of log forces*/ FLD: WTASSUSN LEN(4) TYPE(BIN) DISP(544) /*Number of task suspends*/ FLD: WTASSUSE TYPE(STCKTIME) DISP(548) /*Total elapsed suspend time*/ *********************************************************************** * Pageset 0 logging activity * *********************************************************************** FLD: WTASPSE0 TYPE(STCKTIME) DISP(556) /*Elapse time logging PS0*/ FLD: WTASPSN0 LEN(4) TYPE(BIN) DISP(564) /*Number of logging request PS0*/ *********************************************************************** * DB2 manager * *********************************************************************** FLD: WTASDBET TYPE(STCKTIME) DISP(568) /*Elapse time spent in DB2*/ * resource manager under threads * TCB (including time spent * switched to server TCB) FLD: WTASDBES TYPE(STCKTIME) DISP(576) /*Elapse time spent by DB2SRVxx*/ * task executing DB2 request. * (subtract from WTASSDBET to get * thread TCB only time). FLD: WTASDBMT TYPE(STCKTIME) DISP(584) /*Maximum STCK elapse time seen*/ * for WTASDBET FLD: WTASDBMS TYPE(STCKTIME) DISP(592) /*Maximum STCK elapse time seen*/ * for WTASDBES FLD: WTASDBCT LEN(4) TYPE(BIN) DISP(600) /*Number of requests to DB2*/ * resource manager for this * thread *********************************************************************** * CF manager * *********************************************************************** FLD: WTASCSEC LEN(4) TYPE(BIN) DISP(604) /*Number of IXLLSTE calls*/ FLD: WTASCMEC LEN(4) TYPE(BIN) DISP(608) /*Number of IXLLSTM calls*/ FLD: WTASRSEC LEN(4) TYPE(BIN) DISP(612) /*Number of IXLLSTE redrives*/ FLD: WTASRMEC LEN(4) TYPE(BIN) DISP(616) /*Number of IXLLSTM redrives*/ FLD: WTASSSTC TYPE(STCKTIME) DISP(620) /*STCK differential time spent*/ * executing IXLLSTE Calls FLD: WTASMSTC TYPE(STCKTIME) DISP(628) /*STCK differential time spent*/ * executing IXLLSTM calls FLD: WTASINTS TYPE(STCKTIME) DISP(664) /*Start of interval for which*/ * this accounting data was * collected. Normally this is * the time the thread was * allocated, unless the task is * long running in which case it * will be the start of interval * time. * Note: a long running thread is * defined as a thread that has be * executing for longer that one * statistics interval. (See the * STATIME keyword of the CSQ6SYSP * macro for this value. If the * value is zero then the interval * duration is controlled by * the SMF Global accounting * broadcast). FLD: WTASINTE TYPE(STCKTIME) DISP(672) /*End of interval for which*/ * this accounting data was * collected. Normally this is * the time the thread was * deallocated, unless the task is * long running in which case it * will be the end of interval * time. FLD: WTASGPO LEN(4) DISP(680) /*Get Pages old*/ FLD: WTASGPN LEN(4) DISP(684) /*Get Pages new*/ * FLD: WTASCQF LEN(4) TYPE(BIN) DISP(688) /*Reserved*/ FLD: WTASCQB LEN(4) TYPE(BIN) DISP(692) /*Reserved*/ ********************************************************************* ** IBM WebSphere MQ for z/OS * ** * ** QUEUE ACCOUNTING BLOCK * ** PRESENT FOR SUBTYPES 1 AND 2 * ** Notes * ** 1) All other fields are reserved * ** 2) All elapsed and CPU times are 8 character STCK differentials * ** 3) All interval times are 8 character STCK values * ** 4) All counts are unsigned binary values * ** * ********************************************************************* *********************************************************************** * QUEUE ACCOUNTING BLOCK * *********************************************************************** *********************************************************************** **** WQST DSECT , Queue accounting block *********************************************************************** *********************************************************************** * TO REPORT ON ALL OCCURRENCES OF WQST, USE: * INPUT: SMF116 * NORMWHEN(SMF116RTY = 116 AND (SMF116STF = 1 OR 2) * AND WQST_NUM > 0) * NORMALIZE(WQST, WQST_NUM) *********************************************************************** COMP: WQST_OFFSET = WHEN(SMF116RTY = 116 AND SMF116STF = 1 AND SMF116_SEC3N > 0) ASSIGN(SMF116_SEC3O) WHEN(SMF116RTY = 116 AND SMF116STF = 2 AND SMF116_SEC2N > 0) ASSIGN(SMF116_SEC2O) ELSE ASSIGN(99999) COMP: WQST_NUM = WHEN(SMF116RTY = 116 AND SMF116STF = 1) ASSIGN(SMF116_SEC3N) WHEN(SMF116RTY = 116 AND SMF116STF = 2) ASSIGN(SMF116_SEC2N) ELSE ASSIGN(0) FLD: WQST DISP(0) LEN(672) OFFSET(WQST_OFFSET) /*Queue accounting block*/ FLD: WQSTAT LEN(8) DISP(0) FLD: WQID LEN(2) DISP(0) /*Control block ID (X'F702')*/ FLD: WQLL LEN(2) TYPE(BIN) DISP(2) /*Length*/ COMP: WQ_LEN_1 = 576 /*Version 1*/ COMP: WQ_LEN_2 = 592 /*Version 2*/ COMP: WQ_LEN_3 = 608 /*Version 3*/ COMP: WQ_LEN_4 = 672 /*Version 4*/ FLD: WQEYE LEN(0) DISP(4) /*Eye catcher (C'WQST')*/ FLD: WQVER LEN(4) DISP(4) /*Version number*/ COMP: WQ_VER_1 = 1 /*Version 1*/ COMP: WQ_VER_2 = 2 /*Version 2*/ COMP: WQ_VER_3 = 3 /*Version 3*/ COMP: WQ_VER_4 = 4 /*Version 4*/ * FLD: WQNEXT LEN(4) TYPE(BIN) DISP(8) /*Reserved*/ FLD: CORREL LEN(16) DISP(12) /*Correlator identifer connection*/ * WQST block to owning WTAS block FLD: OBJNAME LEN(48) DISP(28) /*Queue name as specified in OD of*/ * MQOPEN request FLD: BASENAME LEN(48) DISP(76) /*Base queue name to which OBJNAME*/ * resolved FLD: OPENTIME TYPE(STCKTIME) DISP(124) /*STCK time queue was first opened*/ FLD: CLOSTIME TYPE(STCKTIME) DISP(132) /*STCK Time queue was last closed*/ * FLD: QTYPE LEN(4) DISP(140) /*Type of queue refer to MQQT_**/ * values FLD: INDXTYPE LEN(4) DISP(144) /*Index type of queue refer to*/ * MQIT_* values FLD: QSGDISP LEN(4) DISP(148) /*QSGDISP of the queue refer to*/ * MQQSGD_* values *********************************************************************** * OPEN * *********************************************************************** FLD: OPENEYE LEN(4) DISP(152) /*Eye catcher 'OPEN'*/ FLD: OPENET TYPE(STCKTIME) DISP(156) /*Total elapsed time for MQOPENs*/ FLD: OPENCT TYPE(STCKTIME) DISP(164) /*Total CPU time for MQOPENs*/ FLD: OPENN LEN(4) TYPE(BIN) DISP(172) /*Number of MQOPEN calls*/ *********************************************************************** * CLOSE * *********************************************************************** FLD: CLOSEEYE LEN(4) DISP(176) /*Eye catcher 'CLOS'*/ FLD: CLOSEET TYPE(STCKTIME) DISP(180) /*Total elapsed time for MQCLOSEs*/ FLD: CLOSECT TYPE(STCKTIME) DISP(188) /*Total CPU time for MQCLOSEs*/ FLD: CLOSEN LEN(4) TYPE(BIN) DISP(196) /*Number of MQCLOSE calls*/ *********************************************************************** * GET * *********************************************************************** FLD: GETEYE LEN(4) DISP(200) /*Eyecatcher 'GET '*/ FLD: GETET TYPE(STCKTIME) DISP(204) /*Total elapsed time for MQGETs*/ FLD: GETCT TYPE(STCKTIME) DISP(212) /*Total CPU time for MQGETs*/ FLD: GETN LEN(4) TYPE(BIN) DISP(220) /*Num of MQGET calls*/ FLD: GETBRWA LEN(4) TYPE(BIN) DISP(224) /*Num of MQGET BROWSE ANY reqs*/ FLD: GETBRWS LEN(4) TYPE(BIN) DISP(228) /*Num of MQGET BROWSE SPECIFIC reqs*/ FLD: GETA LEN(4) TYPE(BIN) DISP(232) /*Num of MQGET DESTRUCTIVE ANY reqs*/ FLD: GETS LEN(4) TYPE(BIN) DISP(236) /*Num of MQGET DESTRUCTIVE SPECIFIC*/ FLD: GETERR LEN(4) TYPE(BIN) DISP(240) /*Num of undeterminable MQGET reqs*/ * FLD: GETJWET TYPE(STCKTIME) DISP(244) /*Elapsed time waiting for log*/ * writes during MQGET FLD: GETJWN LEN(4) TYPE(BIN) DISP(252) /*Number of log writes during MQGET*/ FLD: GETPSET TYPE(STCKTIME) DISP(256) /*Elapsed time waiting for pageset*/ * reads during MQGET FLD: GETPSN LEN(4) TYPE(BIN) DISP(264) /*Num of pageset reads during MQGET*/ FLD: GETSUSET TYPE(STCKTIME) DISP(268) /*Elapsed time suspended waiting*/ * for MQGET FLD: GETSUSN LEN(4) TYPE(BIN) DISP(276) /*Num of times suspended during*/ * MQGET FLD: GETEPAGE LEN(4) TYPE(BIN) DISP(280) /*Num of pages skipped doing MQGET*/ * request FLD: GETSMSG LEN(4) TYPE(BIN) DISP(284) /*Num of messages skipped doing*/ * MQGET requests FLD: GETEXMSG LEN(4) TYPE(BIN) DISP(288) /*Num of expired messages processed*/ * during MQGETs *********************************************************************** * PUT * *********************************************************************** FLD: PUTEYE LEN(4) DISP(292) /*Eyecatcher 'PUT '*/ FLD: PUTET TYPE(STCKTIME) DISP(296) /*Total elapsed time for MQPUTs*/ FLD: PUTCT TYPE(STCKTIME) DISP(304) /*Total CPU time for MQPUTs*/ FLD: PUTN LEN(4) TYPE(BIN) DISP(312) /*Number of MQPUT calls*/ FLD: PUTJWET TYPE(STCKTIME) DISP(316) /*Elapsed time waiting for log*/ * writes during MQPUT FLD: PUTJWN LEN(4) TYPE(BIN) DISP(324) /*Num of log writes during MQPUT*/ FLD: PUTSUSET TYPE(STCKTIME) DISP(328) /*Elapsed time suspended during*/ * MQPUT FLD: PUTSUSN LEN(4) TYPE(BIN) DISP(336) /*Num of times suspended during*/ * MQPUT FLD: PUTPSET TYPE(STCKTIME) DISP(340) /*Elapsed time suspended on pageset*/ * during MQPUT FLD: PUTPSN LEN(4) TYPE(BIN) DISP(348) /*Number of pageset requests*/ * during MQPUT *********************************************************************** * PUT1 * *********************************************************************** FLD: PUT1EYE LEN(4) DISP(352) /*Eyecatcher 'PUT1'*/ FLD: PUT1ET TYPE(STCKTIME) DISP(356) /*Total elapsed time for MQPUT1s*/ FLD: PUT1CT TYPE(STCKTIME) DISP(364) /*Total CPU time for MQPUT1s*/ FLD: PUT1N LEN(4) TYPE(BIN) DISP(372) /*Number of MQPUT1 calls*/ FLD: PUT1JWET TYPE(STCKTIME) DISP(376) /*Elapsed time waiting for log*/ * writes during MQPUT1 FLD: PUT1JWN LEN(4) TYPE(BIN) DISP(384) /*Number of log writes during*/ * MQPUT1 FLD: PUT1SUSET TYPE(STCKTIME) DISP(388) /*Elapsed time suspended during*/ * MQPUT1 FLD: PUT1SUSN LEN(4) TYPE(BIN) DISP(396) /*Number of times suspended during*/ * MQPUT1 FLD: PUT1PSET TYPE(STCKTIME) DISP(400) /*Elapsed time suspended on pageset*/ * during MQPUT1 FLD: PUT1PSN LEN(4) TYPE(BIN) DISP(408) /*Number of pageset requests during*/ * MQPUT1 *********************************************************************** * INQ * *********************************************************************** FLD: INQEYE LEN(4) DISP(412) /*Eyecatcher 'INQ '*/ FLD: INQET TYPE(STCKTIME) DISP(416) /*Total elapsed time for MQINQs*/ FLD: INQCT TYPE(STCKTIME) DISP(424) /*Total CPU time for MQINQs*/ FLD: INQN LEN(4) TYPE(BIN) DISP(432) /*Number of MQINQ calls*/ *********************************************************************** * SET * *********************************************************************** FLD: SETEYE LEN(4) DISP(436) /*Eyecatcher 'SET '*/ FLD: SETET TYPE(STCKTIME) DISP(440) /*Total elapsed time for MQSETs*/ FLD: SETCT TYPE(STCKTIME) DISP(448) /*Total CPU time for MQSETs*/ FLD: SETN LEN(4) TYPE(BIN) DISP(456) /*Number of MQSET calls*/ FLD: SETJWET TYPE(STCKTIME) DISP(460) /*Elapsed time waiting for log*/ * writes during MQSET FLD: SETJWN LEN(4) TYPE(BIN) DISP(468) /*Number of journal writes during*/ * MQSET *********************************************************************** * OTHER STATISTICS * *********************************************************************** * NPS and NBUFFPOOL will always be zero if no MQGET, MQPUT or * MQPUT1 calls are issued to the queue. * If MQGET, MQPUT or MQPUT1 are issued, then NPS and NBUFFPOOL * refer to the values associated with the pageset on which the * messages reside. *********************************************************************** FLD: NPS LEN(4) DISP(472) /*Pageset number if queue is local*/ FLD: CFSTRUCNAME LEN(12) DISP(476)/*Unqualified structure name if*/ * queue is shared FLD: NBUFFPOOL LEN(4) DISP(488) /*Buffer pool number*/ * *********************************************************************** * PUTBYTES/VALIDPUT = average message size put. * * GETBYTES/VALIDGET = average size of message got. * * Failed calls count in the totals above, but only successful * * calls get counted below. * *********************************************************************** * FLD: PUTBYTES LEN(8) DISP(492) /*Total bytes put by MQQUT/MQPUT1*/ FLD: GETBYTES LEN(8) DISP(500) /*Total bytes got by MQGET*/ FLD: VALIDPUT LEN(4) TYPE(BIN) DISP(508) /*Number of MQPUT/MQPUT1s with data*/ FLD: VALIDGET LEN(4) TYPE(BIN) DISP(512) /*Number of MQGETs with data*/ FLD: NGEN LEN(4) TYPE(BIN) DISP(516) /*Number of generated messages*/ * FLD: GETMAXMS LEN(4) DISP(520) /*Maximum message size retrieved*/ * by MQGET FLD: GETMINMS LEN(4) DISP(524) /*Minimum message size retrieved*/ * by MQGET FLD: PUTMAXMS LEN(4) DISP(528) /*Maximum message size written*/ * by MQGET FLD: PUTMINMS LEN(4) DISP(532) /*Minimum message size written*/ * by MQGET * FLD: MAXLATNT TYPE(STCKTIME) DISP(536) /*The longest elapsed time that a*/ * destructively got message spent * on the queue FLD: MINLATNT TYPE(STCKTIME) DISP(544) /*The shortest elapsed time that a*/ * destructively got message spent * on the queue FLD: TOTLATNT TYPE(STCKTIME) DISP(552) /*The total elapsed time that all*/ * destructively got messages spent * on the queue * FLD: WQBACK LEN(4) TYPE(BIN) DISP(560) /*Reserved*/ * FLD: USE_COUNT LEN(4) TYPE(BIN) DISP(564) /*The current number of handles*/ * resolving to this * OBJNAME/BASENAME WQST. * Use: +1 for open, -1 for close FLD: TOTAL_USE LEN(4) TYPE(BIN) DISP(568) /*Total number of API calls*/ * resolving to this WQST * *********************************************************************** * FOLLOWING FIELDS INCLUDED ONLY IF WQ_VER > WQ_VER_1 * *********************************************************************** * Number of persistent messages FLD: GETPMSG LEN(4) TYPE(BIN) DISP(572) /*Number of MQGET reqs with*/ * persistent messages FLD: PUTPMSG LEN(4) TYPE(BIN) DISP(576) /*Number of MQPUT reqs with*/ * persistent messages FLD: PUT1PMSG LEN(4) TYPE(BIN) DISP(580) /*Number of MQPUT1 reqs with*/ * persistent messages * FLD: RES116A LEN(4) DISP(584) /*Reserved*/ * * *********************************************************************** * FOLLOWING FIELDS INCLUDED ONLY IF WQ_VER > WQ_VER_4 * *********************************************************************** FLD: GETDVAL LEN(4) TYPE(BIN) DISP(588) /*# of Successful destructive gets*/ FLD: GETJCET TYPE(STCKTIME) DISP(592) /*Elapsed time waiting for FORCE*/ * journal writes to complete FLD: GETJCN LEN(4) TYPE(BIN) DISP(600) /*Number of FORCE journal writes*/ FLD: PUTPWG LEN(4) TYPE(BIN) DISP(604) /*Number of MQPUT calls where msg*/ FLD: PUTJCET TYPE(STCKTIME) DISP(608) /*Elapsed time waiting for FORCE*/ * journal writes to complete FLD: PUTJCN LEN(4) TYPE(BIN) DISP(616) /*Number of FORCE journal writes*/ FLD: PUT1PWG LEN(4) TYPE(BIN) DISP(620) /*Number of MQPUT1 calls where msg*/ * passed directly to waiting getter FLD: PUT1JCET TYPE(STCKTIME) DISP(624) /*Elapsed time waiting for FORCE*/ * journal writes to complete FLD: PUT1JCN LEN(4) TYPE(BIN) DISP(632) /*Number of FORCE journal writes*/ FLD: SETJCET TYPE(STCKTIME) DISP(636) /*Elapsed time waiting for FORCE*/ * journal writes to complete FLD: SETJCN LEN(4) TYPE(BIN) DISP(644) /*Number of FORCE journal writes*/ FLD: SMF116_END LEN(1) OFFSET(0) |
 
  In this report, we read the SMF file and select just the type 116 subtype 1 Websphere MQ accounting statistics records. (See SMF 116 record layout.) We use all of the the multiply recurring WQST (Queue Statistics) sections from each SMF record to show queue statistics.
All of this with just a few lines of code!
Sample Report from SMF 116 Subtype 1 Records
Showing CPU Time for MQGETs and MQPUT1s
The sample SMF report below was created with Spectrum SMF Writer,
the low-cost 4GL SMF report writer.
Why not install a Spectrum SMF Writer trial right now and start making your own SMF reports!
These Spectrum SMF Writer Statements:
INPUT: SMF116
NORMWHEN(SMF116RTY = 116 AND SMF116STF = 1 AND WQST_NUM > 0)
NORMALIZE(WQST_SECTION, WQST_NUM)
INC: SMF116RTY = 116 AND SMF116STF = 1
COL: SMF116TME('LOG TIME')
WTIDCCN('CONNECTION|NAME')
OBJNAME('QUEUE|NAME' 20)
BASENAME('BASE|QUEUE|NAME' 30)
OPENTIME('QUEUE|OPEN|TIME' TPIC'99:99:99.99')
CLOSTIME('QUEUE|CLOSE|TIME' TPIC'99:99:99.99')
GETCT('CPU TIME|FOR|MQGETS''')
PUT1CT('CPU TIME|FOR|MQPUT1''S')
TITLE: 'SMF 116 - WEBSPHERE MQ ACCOUNTING STATS'
TITLE: 'QUEUE CPU TIME FOR MQGET''S AND MQPUT1''S'
Produce This SMF Report:
SMF 116 - WEBSPHERE MQ ACCOUNTING STATS
QUEUE CPU TIME FOR MQGET'S AND MQPUT1'S
BASE QUEUE QUEUE CPU TIME CPU TIME
CONNECTION QUEUE QUEUE OPEN CLOSE FOR FOR
LOG TIME NAME NAME NAME TIME TIME MQGETS' MQPUT1'S
___________ __________ ____________________ ______________________________ ___________ ___________ _______________ _______________
12:20:28.48 U0200021 MQGT.OTMA.QUEUE MQGT.OTMA.QUEUE 16:20:28.09 16:20:28.43 00:00:00.000000 00:00:00.000000
12:20:28.65 CICS3A1A CICS.BRIDGE.REPLY.Z3 SYSTEM.CLUSTER.TRANSMIT.QUEUE 16:20:28.64 16:20:28.64 00:00:00.000000 00:00:00.000363
12:20:28.65 CICS3A1A CICS.BRIDGE.QUEUE CICS.BRIDGE.QUEUE 16:20:28.50 16:20:28.66 00:00:00.000120 00:00:00.000000
12:20:29.36 CICS3A1A CICS.BRIDGE.REPLY.Z3 SYSTEM.CLUSTER.TRANSMIT.QUEUE 16:20:28.64 16:20:28.64 00:00:00.000000 00:00:00.000310
12:20:29.36 CICS3A1A CICS.BRIDGE.QUEUE CICS.BRIDGE.QUEUE 16:20:28.49 16:20:28.66 00:00:00.000096 00:00:00.000000
12:20:29.36 U0240087 DQMIPV6.CSQ1.REPLYQ DQMIPV6.CSQ1.REPLYQ 16:20:28.89 16:20:29.36 00:00:00.009340 00:00:00.000000
12:20:29.36 U0240087 DQMIPV6.CSQ2.TPN.QUE DQMIPV6.CSQ1.XMITQ 16:20:27.22 16:20:28.64 00:00:00.000000 00:00:00.000000
12:20:29.80 CICS3A1A CICS.BRIDGE.REPLY.Z3 SYSTEM.CLUSTER.TRANSMIT.QUEUE 16:20:29.80 16:20:29.80 00:00:00.000000 00:00:00.000328
12:20:29.80 CICS3A1A CICS.BRIDGE.QUEUE CICS.BRIDGE.QUEUE 16:20:29.76 16:20:29.80 00:00:00.000116 00:00:00.000000
12:20:30.09 CICS3A1A CICS.BRIDGE.REPLY.Z3 SYSTEM.CLUSTER.TRANSMIT.QUEUE 16:20:30.09 16:20:30.09 00:00:00.000000 00:00:00.000416
12:20:30.09 CICS3A1A CICS.BRIDGE.QUEUE CICS.BRIDGE.QUEUE 16:20:30.00 16:20:30.10 00:00:00.000112 00:00:00.000000
12:20:30.12 U0200021 MQGT.OTMA.REPLYQ MQGT.OTMA.REPLYQ 16:20:28.67 16:20:30.12 00:00:00.000241 00:00:00.000000
12:20:30.34 CICS3A1A CICS.BRIDGE.REPLY.Z3 SYSTEM.CLUSTER.TRANSMIT.QUEUE 16:20:30.34 16:20:30.34 00:00:00.000000 00:00:00.000346
12:20:30.34 CICS3A1A CICS.BRIDGE.QUEUE CICS.BRIDGE.QUEUE 16:20:30.26 16:20:30.35 00:00:00.000103 00:00:00.000000
12:20:30.50 U0200015 MQGT.OTMA.QUEUE MQGT.OTMA.QUEUE 16:20:29.93 16:20:30.44 00:00:00.000000 00:00:00.000000
12:20:30.52 CICS3A1A CICS.BRIDGE.REPLY.Z3 SYSTEM.CLUSTER.TRANSMIT.QUEUE 16:20:30.52 16:20:30.52 00:00:00.000000 00:00:00.000410
12:20:30.52 CICS3A1A CICS.BRIDGE.QUEUE CICS.BRIDGE.QUEUE 16:20:30.46 16:20:30.53 00:00:00.000141 00:00:00.000000
12:20:30.61 CICS3A1A CICS.BRIDGE.REPLY.Z3 SYSTEM.CLUSTER.TRANSMIT.QUEUE 16:20:30.61 16:20:30.61 00:00:00.000000 00:00:00.000373
12:20:30.61 CICS3A1A CICS.BRIDGE.QUEUE CICS.BRIDGE.QUEUE 16:20:30.39 16:20:30.62 00:00:00.000091 00:00:00.000000
12:20:30.81 U0200068 MQGT.OTMA.QUEUE MQGT.OTMA.QUEUE 16:20:30.40 16:20:30.81 00:00:00.000000 00:00:00.000000
12:20:30.87 CICS3A1A CICS.BRIDGE.REPLY.Z3 SYSTEM.CLUSTER.TRANSMIT.QUEUE 16:20:30.86 16:20:30.86 00:00:00.000000 00:00:00.000362
12:20:30.87 CICS3A1A CICS.BRIDGE.QUEUE CICS.BRIDGE.QUEUE 16:20:30.72 16:20:30.87 00:00:00.000130 00:00:00.000000
12:20:31.19 CICS3A1A CICS.BRIDGE.REPLY.Z3 SYSTEM.CLUSTER.TRANSMIT.QUEUE 16:20:31.20 16:20:31.20 00:00:00.000000 00:00:00.000406
12:20:31.19 CICS3A1A CICS.BRIDGE.QUEUE CICS.BRIDGE.QUEUE 16:20:31.18 16:20:31.20 00:00:00.000090 00:00:00.000000
12:20:31.25 U0240058 DQMIPV6.CSQ1.REPLYQ DQMIPV6.CSQ1.REPLYQ 16:20:30.77 16:20:31.22 00:00:00.010303 00:00:00.000000
12:20:31.25 U0240058 DQMIPV6.CSQ2.TPN.QUE DQMIPV6.CSQ1.XMITQ 16:20:29.52 16:20:30.62 00:00:00.000000 00:00:00.000000
12:20:31.27 U0240073 DQMIPV6.CSQ1.REPLYQ DQMIPV6.CSQ1.REPLYQ 16:20:31.06 16:20:31.27 00:00:00.004597 00:00:00.000000
12:20:31.27 U0240073 DQMIPV6.CSQ2.TPN.QUE DQMIPV6.CSQ1.XMITQ 16:20:29.73 16:20:30.76 00:00:00.000000 00:00:00.000000
12:20:31.39 U0240027 DQMIPV6.CSQ1.REPLYQ DQMIPV6.CSQ1.REPLYQ 16:20:30.84 16:20:31.28 00:00:00.008269 00:00:00.000000
12:20:31.39 U0240027 DQMIPV6.CSQ2.TPN.QUE DQMIPV6.CSQ1.XMITQ 16:20:29.40 16:20:30.64 00:00:00.000000 00:00:00.000000
12:20:31.42 CICS3A1A CICS.BRIDGE.REPLY.Z3 SYSTEM.CLUSTER.TRANSMIT.QUEUE 16:20:31.40 16:20:31.40 00:00:00.000000 00:00:00.000285
12:20:31.42 CICS3A1A CICS.BRIDGE.QUEUE CICS.BRIDGE.QUEUE 16:20:31.14 16:20:31.41 00:00:00.000098 00:00:00.000000
12:20:31.53 CICS3A1A CICS.BRIDGE.REPLY.Z3 SYSTEM.CLUSTER.TRANSMIT.QUEUE 16:20:31.53 16:20:31.53 00:00:00.000000 00:00:00.000336
12:20:31.53 CICS3A1A CICS.BRIDGE.QUEUE CICS.BRIDGE.QUEUE 16:20:31.51 16:20:31.54 00:00:00.000145 00:00:00.000000
12:20:31.72 CICS3A1A CICS.BRIDGE.REPLY.Z3 SYSTEM.CLUSTER.TRANSMIT.QUEUE 16:20:31.72 16:20:31.72 00:00:00.000000 00:00:00.000455
12:20:31.72 CICS3A1A CICS.BRIDGE.QUEUE CICS.BRIDGE.QUEUE 16:20:31.70 16:20:31.72 00:00:00.000087 00:00:00.000000
12:20:31.72 U0240039 DQMIPV6.CSQ1.REPLYQ DQMIPV6.CSQ1.REPLYQ 16:20:31.56 16:20:31.66 00:00:00.002926 00:00:00.000000
12:20:31.72 U0240039 DQMIPV6.CSQ2.TPN.QUE DQMIPV6.CSQ1.XMITQ 16:20:30.51 16:20:31.55 00:00:00.000000 00:00:00.000000
12:20:31.82 CICS3A1A CICS.BRIDGE.REPLY.Z3 SYSTEM.CLUSTER.TRANSMIT.QUEUE 16:20:31.80 16:20:31.80 00:00:00.000000 00:00:00.000403
12:20:31.82 CICS3A1A CICS.BRIDGE.QUEUE CICS.BRIDGE.QUEUE 16:20:31.52 16:20:31.82 00:00:00.000119 00:00:00.000000
12:20:31.82 CICS3A1A CICS.BRIDGE.REPLY.Z3 SYSTEM.CLUSTER.TRANSMIT.QUEUE 16:20:31.81 16:20:31.81 00:00:00.000000 00:00:00.000328
12:20:31.82 CICS3A1A CICS.BRIDGE.QUEUE CICS.BRIDGE.QUEUE 16:20:31.73 16:20:31.82 00:00:00.000099 00:00:00.000000
12:20:31.99 CICS3A1A CICS.BRIDGE.REPLY.Z3 SYSTEM.CLUSTER.TRANSMIT.QUEUE 16:20:31.99 16:20:31.99 00:00:00.000000 00:00:00.000321
12:20:31.99 CICS3A1A CICS.BRIDGE.QUEUE CICS.BRIDGE.QUEUE 16:20:31.98 16:20:32.00 00:00:00.000094 00:00:00.000000
12:20:32.23 CICS3A1A CICS.BRIDGE.REPLY.Z3 SYSTEM.CLUSTER.TRANSMIT.QUEUE 16:20:32.22 16:20:32.22 00:00:00.000000 00:00:00.000422
12:20:32.23 CICS3A1A CICS.BRIDGE.QUEUE CICS.BRIDGE.QUEUE 16:20:32.19 16:20:32.23 00:00:00.000104 00:00:00.000000