Layout of channel initiator SMF type 115 records

The layout of channel initiator statistics data (SMF type 115, subtype 231) records is described in this topic.


Self-defining section

The self-defining section for the channel initiator statistics data follows the standard SMF header. It is structured in the standard triplet format. The format of the triplets is described in structure qwsx in the C programming language header file thlqual.SCSQC370(CSQDSMFC), and in assembler macro thlqual.SCSQMACS(CSQDQWSX).

Table 1 shows the format of the self-defining section.

Offset: Dec Offset: Hex Type Length Name Description
0 0 Integer 4 QWSX0PSO Offset from the start of the SMF record to the first instrumentation standard header (QWHS)
4 4 Integer 2 QWSX0PSL Length of the QWHS
6 6 Integer 2 QWSX0PSN Number of instances of QWHS
8 8 Integer 4 QWSX0R1O Offset from the start of the SMF record to the first channel initiator control information block (QCCT)
12 C Integer 2 QWSX0R1L Length of the QCCT
14 E Integer 2 QWSX0R1N Number of instances of QCCT
16 10 Integer 4 QWSX0R2O Offset from the start of the SMF record to the first dispatcher task block (QCT_DSP)
20 14 Integer 2 QWSX0R2L Length of the QCT_DSP
22 16 Integer 2 QWSX0R2N Number of instances of QCT_DSP
24 18 Integer 4 QWSX0R3O Offset from the start of the SMF record to the first adapter task block (QCT_ADP)
28 1C Integer 2 QWSX0R3L Length of the QCT_ADP
30 1E Integer 2 QWSX0R3N Number of instances of QCT_ADP
32 20 Integer 4 QWSX0R4O Offset from the start of the SMF record to the first SSL task block (QCT_SSL)
36 24 Integer 2 QWSX0R4L Length of the QCT_SSL
38 26 Integer 2 QWSX0R4N Number of instances of QCT_SSL
40 28 Integer 4 QWSX0R5O Offset from the start of the SMF record to the first DNS task block (QCT_DNS)
44 2C Integer 2 QWSX0R5L Length of the QCT_DNS
46 2E Integer 2 QWSX0R5N Number of instances of QCT_DNS

Typically one record contains all the data. If there are a large number of dispatchers, adapters, or SSL tasks, the data is split over more than one record.

If this happens, the count of instances of some type of tasks can be zero, and information about a group of tasks can be spread across multiple records. The channel initiator control information block (QCCT) is only present in the first record. For example the data could be split between two SMF records like this:

Count First record Last record
QWHS 1 1
QCCT 1 0
QCT_DSP 50 5
QCT_ADP 0 10
QCT_SSL 0 3
QCT_DNS 0 1

This example shows that there were 55 dispatcher TCBs running during the SMF interval.


Instrumentation standard header (QWHS)

The format of the QWHS is described in structure qwhs in the C programming language header file thlqual.SCSQC370(CSQDSMFC), and in assembler macro thlqual.SCSQMACS(CSQDQWHS). It contains the following key fields that are relevant to channel initiator SMF 115 records:

Name Length Description
QWHSNDA 1 byte Number of self-defining sections
QWHSSSID 4 bytes Subsystem name
QWHSSMFC 1 bit Indicates whether there are multiple SMF records containing information for this interval. If this bit is on, information for this interval is continued in further SMF records. If this bit is off, this is the last or only record. The subsystem ID in QWHSSSID, and the SMF interval start time in QWHSTIME, can be used to group multiple records for the same interval.
QWHSTIME 8 bytes Local time of the start of the interval in STCK format
QWHSDURN 8 bytes Duration from the start of the interval to the end of the interval in STCK format
QWHSSTCK 8 bytes End of the interval in UTC in STCK format
Parent topic: Interpreting IBM MQ for z/OS performance statistics