Thread-level and queue-level data records
Use this topic as a reference to the format of the thread-level and queue-level accounting records.
Thread level accounting records are collected for each task using IBM® MQ. In addition, queue-level accounting records are 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.
If the task uses a queue that is configured with a streaming queue, there is no queue-level accounting record for the streaming queue. Instead, the accounting record for the original queue accumulates data for the data points that would have been associated with the streaming queue.
The only exception to this is that the PUTN/PUT1N value shows the number of MQPUT/MQPUT1 requests made by the application, and excludes the extra MQPUT requests made to the streaming queue.
- PUTN value is 1
- Elapsed time (PUTET) and CPU time (PUTCT) for the MQPUT include the time taken to put to both the primary and streaming queue
- Number of page set requests (PUTPSN) includes those for both the primary and secondary queue, and so on
For each task, data is written to SMF when the task finishes.
From IBM MQ 9.3.0 onwards, for long
running tasks, data is also written at the interval specified by either the ACCTIME, or STATIME,
parameter of the CSQ6SYSP system parameter macro, or by the system SMF statistics broadcast,
provided that the task was running the previous time data was gathered.
START TRACE(ACCTG) DEST(SMF) CLASS(3)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). The format of the queue-level accounting record is
described in assembler macro thlqual.SCSQMACS(CSQDWQ). The format of the thread
identification record is described in assembler macro
thlqual.SCSQMACS(CSQDWTID). All these records are also described in C header
file thlqual.SCSQC370(CSQDSMFC). The field names in C are all in lowercase, for
example wtas, wtasshex.