The CICS® DB2® attachment facility uses CICS-managed open TCBs rather than CICS DB2 subtask TCBs. This means the CICS monitoring facility can measure activity that was previously (with DB2 Version 5 or earlier,) only reported in the DB2 accounting record (the SMF type 101 record). For example, CICS can now measure the processor time consumed on the DB2 thread and the processor time consumed in DB2 (the CLASS 1 and CLASS 2 CPU time). When CICS is using L8 open TCBs, the CPU time reported for these TCBs by the CICS monitoring facility includes the DB2 CLASS 1 processor time.
When CICS is connected to DB2 Version 6 or later, do not add together the processor time from the CICS records (SMF type 110 records) and the DB2 accounting records (SMF type 101 records) when calculating the total processor time for a single transaction, because the DB2 processor time would then be included twice. The total processor time for a single transaction is recorded in the USRCPUT field in the CICS records (performance class data field 008 from group DFHTASK). This field includes all processor time used by the transaction when it was executing on any TCB managed by the CICS dispatcher. CICS-managed TCBs include the QR, RO, CO, J8, J9, L8, L9, X8 and X9 mode TCBs.
In the open transaction environment, the CICS L8 task processor time can also include the cost of creating a DB2 thread. If a transaction causes a DB2 thread to be created, you can expect the total task processor time accounted for to be higher than that accounted for by a CICS system running with earlier DB2 releases. Correspondingly, if at the end of a transaction, the thread is terminated (because it is unprotected and no other task is waiting to use it), then the cost of thread termination is included in the CICS L8 task processor time. Again, this cost was not accounted for by a CICS system connected to DB2 Version 5 or earlier.
From a DB2 perspective, when the CLASS 1 recording becomes active for a thread, it is now recording time spent on the L8 open TCB. Because the L8 TCB is used for both CICS activity and DB2 activity, this includes processor time spent in the CICS-DB2 attachment facility, including trace calls, and also includes processor time spent running application code (if the application is threadsafe) and threadsafe CICS commands on the open TCB. If a thread is reused, the thread housekeeping processor time is also included in the CLASS 1 processor time. As in previous releases, there is a proportion of thread creation and thread termination processing that is not captured by CLASS 1 time. The CLASS 1 processor time does not include any time spent running application code on the QR TCB. (When an application issues a non-threadsafe CICS command, it is forced back to the QR TCB.) When CICS is connected to DB2 Version 5 or earlier, CLASS 1 processor time does not include any processor time spent in application code, because all application code is executed under the QR TCB. The CLASS 2 processor time recorded by DB2, which is a subset of the CLASS 1 processor time showing the time spent in DB2 itself, is not affected by the open transaction environment.
For more information about calculating processor times for CICS and DB2 and a full explanation of how processor times are recorded, see "Accounting for processor usage in a CICS DB2 environment" in the CICS DB2 Guide.
[[ Contents Previous Page | Next Page Index ]]