Layout of an SMF type 116 record

Use this topic as a reference to the format of an SMF type record.

The standard layout for SMF records involves three parts:

    SMF header
    Provides format, identification, and time and date information about the record itself.

    Self-defining section
    Defines the location and size of the individual data records within the SMF record.

    Data records
    The actual data from IBM MQ that we want to analyze.

For more information about SMF record formats, see the MVS System Management Facilities (SMF) manual.


The SMF header

Table 1 shows the format of SMF record header (SM116).

Offset: Dec Offset: Hex Type Len Name Description Example
0 0 Structure 28 SM116 SMF record header.  
0 0 Integer 2 SM116LEN SMF record length. 01A4
2 2   2   Reserved.  
4 4 Integer 1 SM116FLG System indicator. 5E
5 5 Integer 1 SM116RTY Record type. The SMF record type, for IBM MQ accounting records this is always 116 (X'74'). 74
6 6 Integer 4 SM116TME Time when SMF moved record. 00356124
10 A Integer 4 SM116DTE Date when SMF moved record. 0100223F
14 E Character 4 SM116SID z/OS subsystem ID. Defines the z/OS subsystem on which the records were collected. D4E5F4F1 (MV41)
18 12 Character 4 SM116SSI IBM MQ subsystem ID. D4D8F0F7 (MQ07)
22 16 Integer 2 SM116STF Record subtype. 0000
24 18 Character 3 SM116REL IBM MQ version. F6F0F0 (600)
27 1B   1   Reserved.  
28 1C Character 0 SM116END End of SMF header and start of self-defining section.  
Note: The (hexadecimal) values in the right-hand column relate to Figure 1.


Self-defining sections

A self-defining section of an SMF record tells you where to find an accounting record, how long it is, and how many times that type of record is repeated (with different values). The self-defining sections follow the header, at a fixed offset from the start of the SMF record.

Each self-defining section points to accounting related data. Table 2 summarizes the offsets from the start of the SMF record header.

Record subtype (SMF116STF) Source of accounting data Offset of self-defining section See...
Dec Hex
All Common header 28 X'1C' Common IBM MQ SMF header
0 Message manager 44 X'2C' Message manager data records
1 Thread identification record 36 X'24' Thread-level and queue-level data records
1 Thread-level accounting 44 X'2C' Thread-level and queue-level data records
1 Queue-level accounting 52 X'34' Thread-level and queue-level data records. This section is present only if the WTASWQCT field in the task-related information (WTAS) structure is non-zero.
2 Thread identification record 36 X'24' Thread-level and queue-level data records
2 Queue-level accounting 44 X'2C' Thread-level and queue-level data records
10 Channel accounting     Channel accounting data records
Note: Other self-defining sections refer to data for IBM use only. Each self-defining section is two fullwords long and has this format:
   ssssssssllllnnnn
where:

    ssssssss
    Fullword containing the offset from start of the SMF record.

    llll
    Halfword giving the length of this data record.

    nnnn
    Halfword giving the number of data records in this SMF record.

Figure 1 shows an example of part of an SMF type 116 record. The numbers in the left-hand column represent the offset, in hexadecimal, from the start of the record. Each line corresponds to sixteen bytes of data, where each byte is two hexadecimal characters, for example 0C. The characters in the right-hand column represent the printable characters for each byte. Non-printable characters are shown by a period (.) character.

In this example, alternate fields in the SMF header are underlined to help you to see them; refer to Table 1 to identify them. The self defining section for one of the message manager accounting data records (at the offset given in Table 2 ) is shown in bold.
Figure 1. Part of an SMF record 116 showing the header and self-defining sections. Part of an SMF record 116 showing the header and self-defining sections.
000000 01A40000 5E740035 61240100 223FD4E5  *....;.../.....MV*
000000 F4F1D4D8 F0F70000 F6F0F000 00000134  *41MQ07..600.....*
000000 00700001 00000054 00B00001 00000104  *................*
000000 00300001 00000000 00000000 00000000  *................*
000000 00000000 00000000 00000000 00000000  *................*
The self-defining section for the type of message manager accounting data is located at offset X'2C' from the start of the SMF record and contains this information:

  • The offset of the message manager accounting data is located X'00000104' bytes from the start of the SMF record.
  • This message manager record is X'0030' bytes long.
  • There is one record (X'0001').

Note: Always use offsets in the self-defining sections to locate the accounting records. Parent topic: Interpreting IBM MQ for z/OS accounting data