[z/OS][MQ 9.3.0 Jul 2022]

Queue data records

Use this topic as a reference for queue (SMF type 115, subtype 216) data records.

The information in this topic is for IBM® MQ 9.3.0. For IBM MQ 9.3.1, use the information in Queue data records Version 9.3.1 release.

The format of the queue statistics data record is described in assembler macro thlqual.SCSQMACS(CSQDQQST).

The queue statistics record contains information on the performance of selected queues including:
  • Queue name (qqstqnam)
  • Whether the queue is private or shared (qqstdisp bit on means queue is shared)
  • Page set ID where the queue is located, if allocated and a private queue (qqstpsid)
  • Bufferpool ID used by the queue, if allocated and a private queue (qqstbpid)
  • Queue sharing group (QSG) name, if it is a shared queue (qqstqsgn)
  • Coupling facility (CF) structure name, if it is a shared queue (qqstcfst)
  • Queue depth at the time when the SMF data was captured (qqstdpth)
Notes:
  • When the record is for a private queue, the qqstqsgn and qqstcfst fields are blank.
  • When the record is for a shared queue, or the record is for a private queue that does not have a page set and bufferpool assigned to it, the values of qqstpsid and qqstbpid are -1 (x'FFFF').

All information provided in the queue statistics record are the correct values at the time of the SMF data collection. For example, if during the interval a queue's information is changed and it moves to a new page set, the new page set ID is provided in the record.

As well as the entries in the preceding list, there is a flag in the queue statistics record that indicates whether the record contains full or partial data (qqstpart). When this flag is set there was an issue accessing the information on the queue, for example if there is a CF structure failure.

In a partial record the accuracy of qqstdpth, qqstmage, and qqstuncm cannot be guaranteed. Therefore, the field qqstdpth is populated with x'00'.

When this flag is set there was an issue accessing the queues information. For example, if there is a CF structure failure the record contains only the correct information in the qqstqnam, qqstdisp, qqstpsid, qqstbpid, qqstqsgn, and qqstcfst fields; the remaining fields are populated with x'00' for numeric fields and x'40' for non-numeric fields.

Example data

Full records


Queue                ,  Disposition,  Pageset ID,  Bufferpool ID,  QSG ,  CF Struct   ,  Current Depth,  Record Type 
Example.Queue.Private,  Private    ,  2         ,  4            ,      ,              ,  67           ,  FULL
Example.Queue.Shared ,  Shared     ,  -1        ,  -1           ,  QSG1,  CFSTRUCTURE1,  12           ,  FULL

The example data shows two full queue records, one for a private queue and one for a shared queue.

In the private queue record (Example.Queue.Private) the queue can be seen using page set 2 and bufferpool 4. You can use this information in conjunction with page set and bufferpool statistics to give a better view of what is happening on the system. As the queue is private, the QSG name and the CF Structure name are blank. The current depth of the queue is 67 and the record is a full record.

In the shared queue record (Example.Queue.Shared) the queue exists in the QSG 'QSG1' and is located in 'CFSTRUCTURE1'. As the queue is shared the page set ID and bufferpool ID are -1. The queue has a current depth of 12 and the record is a full record.

Partial records


Queue                ,  Disposition,  Pageset ID,  Bufferpool ID,  QSG ,  CF Struct   ,  Current Depth,  Record Type 
Example.Queue.Shared ,  Shared     ,  -1        ,  -1           ,  QSG1,  CFSTRUCTURE1,  0            ,  PARTIAL

The example data shows a partial record for a shared queue. The information contained in the record for the disposition, QSG and CF Structure are all valid. The current depth of the queue is displayed as '0' as there was an issue obtaining the correct queue depth. Therefore, the record is marked as PARTIAL to indicate the depth might not be correct.

Note that when formatting the data with IBM MQ SupportPac MP1B the potentially erroneous current depth is not formatted.