Transaction flow and IMS Monitor events

For an overall picture of the events, system activities, and usage of storage areas (buffer pool or data set) for which the IMS Monitor gathers timings, see the following table.

The leftmost column shows, from top to bottom, a sequence of processing events; each event is related to IMS Monitor reported items in the notes that follow the table.

Table 1. Transaction flow and IMS Monitor events description
Flow Event Activity Pool Data set
1 Wait for poll Waiting N/A N/A
2 Data Transfer N/A N/A N/A
3 Input message processing Device CIOP (For lines)
MFS MFP IMS.FORMATx
Enqueuing QBUF Message queue
4 Input queuing Waiting N/A N/A
5 Scheduling Scheduling QBUF Message queue
PSB load PSB, PSBW, DPSB IMS.ACBLIBx
DMB load DMBP IMS.ACBLIBx
6 Program load Program load   IMS.PGMLIB
7 Program initialization Initializing N/A N/A
8 Message queue GU Primed GU call N/A N/A
9 Program Execution DC calls QBUF Message queue
DL/I Elapsed DB calls OSAM/VSAM N/A
Wait Elapsed DB I/Os OSAM/VSAM Databases
SPA insert CWAP IMS.SPA
10 Output message insert DC ISRT call QBUF Message queue
DC GU call QBUF Message queue
Sync point (MODE=SNGL) OSAM/VSAM Databases
11 Wait for sync point (Only for MODE=MULT) N/A N/A
12 Program termination Program termination OSAM/VSAM Databases
13 Wait for selection Waiting QBUF Message Queue
14 Output message processing Message send QBUF Message queue
MFS MFP IMS.FORMATx
Device CIOP (For lines)
15 Data transfer N/A N/A N/A
16 Output queue processing Dequeuing QBUF Message queue
Notes:
  1. The time waiting for poll is not recorded by the IMS Monitor.
  2. Line activity in terms of data transmitted and IMS communication sub-task activity are recorded for all messages. Input message activity is not separated from output message activity.
  3. During input message processing, the device dependent processing and the use of the communication I/O pool (CIOP) are recorded. If Message Format Service (MFS) is required, the use of the message format buffer pool and any I/O to the active IMS.FORMATA/B library are recorded. The input message is then placed in a message queue buffer (QBUF) with possible I/O to the message queue data sets. The IMS Monitor reporting does not distinguish this activity from output message processing.
  4. Time spent waiting on the input queue is not recorded by the IMS Monitor.
  5. IMS schedules the processing program into a region and, as part of this action, accesses the message queue or the QBUF pool so that it can present the message to the program. At this time, the required PSB and physical database blocks are made available in the PSB pool and the DMB pool. If they are not already in the pool, they are retrieved from the active IMS.ACBLIBA/B data set. These events are summarized under SCHEDULING AND TERMINATION in IMS Monitor reports.
  6. Next, the application program is loaded into the region from IMS.PGMLIB, or initialized if already resident in the region. This processing is included as part of SCHEDULE TO FIRST CALL in IMS Monitor reports.
  7. The initialization performed by the application program is included in this period of time, up to the time of the first message queue or database call. This processing is considered part of the scheduling process because it is not repeated when multiple transactions are processed for one scheduling event. This processing is recorded as part of the SCHEDULE TO FIRST CALL in IMS Monitor reports.
  8. The event of performing the first DL/I GU call to obtain the first message segment is not separately recorded. The processing to prime the application with this message is included with the SCHEDULE TO FIRST CALL.
  9. The program elapsed event is measured from the first call to termination of the processing program. The total elapsed time is recorded in IMS Monitor reports as ELAPSED EXECUTION.
    • Each DL/I call, whether DC or DB, is individually recorded along with its use of message queues or database data sets and their respective pools. Each external subsystem call is individually recorded. These events are recorded under CALLS in IMS Monitor reports.
    • When a DL/I call causes I/O activity, the time spent waiting for the data is recorded as WAIT time and as the number of I/Os. When a program's database processing intent and other update activity are in contention, this also contributes to WAIT time. For each external subsystem call, the time spent in external subsystem processing is recorded separately as WAIT time. When processing is suspended because of intent, the elapsed time is recorded in IDLE FOR INTENT IMS Monitor report items. When processing is suspended because the region is designated as wait-for-input and no input message is available, the time spent waiting for the next input message is excluded from elapsed time intervals and wait times. Wait-for-input time appears only in **WFI items on the program I/O report.
    • If the message processing is part of a conversational transaction, the activity in the communications work area pool (CWAP) and the IMS.SPA data set is recorded.
  10. The DL/I ISRT call for the response to the message just processed is recorded for the transaction.

    As processing continues, there are synchronization points such as a GU to the message queue for another input message or a checkpoint call. The database and message queue I/O to commit the program processing is recorded. Checkpointing by IMS or by the processing program is recorded separately.

  11. If the processing is for multiple messages before synchronization (MODE=MULT), there can be a wait for sync point. This time is not recorded by the IMS Monitor.
  12. The processing after exiting from the application program, the program termination events, is included with the initial scheduling time. It is part of SCHEDULING AND TERMINATION.
  13. The output message waits for the selection to be transmitted to the terminal. The duration of any wait time on the output queue is not recorded by the IMS Monitor.
  14. After the exit from the application program and termination, output message processing events are recorded. These include message format and device dependent processing as well as sending the output message. The IMS Monitor reporting does not distinguish this activity from input message processing.
  15. Line activity in terms of data transmitted and IMS communication sub-task activity are recorded for all messages. Output message activity is not separated from input message activity.
  16. The processing to remove the output message from the queue is recorded.