Activity by DL/I Request

The Activity by DL/I Request report identifies the CPU time and run time spent in wait by the transaction, module, section, and PSB name that initiated a request for IMS DL/I services.

Report details

The Activity by DL/I Request report is defined by the following three tabs:

  • DL/I Activity

  • Transaction

  • Region

You can filter the transactions that appear in the report window by typing a character string. iStrobe filters profiles based on your selections in these field.

  • From either the DL/I Activity tab, the Transaction tab, or the Region tab, enter a text string in the Transaction Filter field.

  • From either the Transaction tab or the Region tab, enter a text string in the Region Filter field.

The filter function maintains the values in the Filter field until you edit or delete the filter values.

DL/I Activity

The Activity by DL/I Request report provides detailed information for each DL/I call and its parameter list within a transaction, module, section, and PSB. The DL/I activity detail is for the job or region that was specified for the measurement.

  • Transaction identifies the IMS transaction responsible for activity within a particular module, section, and Program Specification Block.

  • Module shows the name of the DL/I application used by the transaction responsible for the DL/I requests showing CPU activity.

  • Section identifies the control section within the module responsible for DL/I requests showing CPU activity.

Note: For all module or section names that exceed eight characters, Strobe generates a token, which is an eight-byte identifier. The token comprises the first four characters of the module or section name followed by a hyphen (-) and then the last three characters of the name. Refer to the Token Long Name Cross Reference report to reconcile all tokens with their long names.

  • PSB identifies the Program Specification Block that the active module used.

  • DL/I Execution Count identifies the execution count.

  • DL/I Avg Service Time (sec) identifies the average service time.

  • Total CPU % shows the percentage of CPU time used by a module or DL/I request in a transaction as a percentage of all CPU time used by programs executed in the measured job step.

  • Wait % shows the percentage of wait time used by a module or DL/I request in a transaction as a percentage of all wait time used by programs executed in the measured job step.

Click  next to the Transaction to view additional detail:

  • Line Number shows the application line number associated with the DL/I request, if the module was indexed. Otherwise, the field is blank.

  • Procedure Name shows the procedure name associated with the DL/I request, if the module was indexed. Otherwise, the field is blank.

  • Request Location shows the location of the DL/I request within the application program, in hexadecimal notation.

  • DL/I Function identifies the DL/I function being requested. [MORE]

  • SSA ( Segment Search Argument) shows:

    • for Segment Search Arguments-- the segment name, optionally followed by a command code, field name specification, relational operator, and a question mark to represent the remainder of the expression

    • for Field Search Arguments-- the key or search field name, optionally followed by a command code, field name specification, relational operator, and a question mark to represent the remainder of the expression.

  • PCB Type shows the type of Program Control Block (PCB) referenced by the current DL/I request. Values are as follows:

    • I/O for IOPCB I/O Program Control Blocks

    • DB for DBPCB Database Program Control Blocks

    • ALT for Alternate Program Control Blocks

  • PCB Name/Label shows the name or Label of the Program Communication Block referenced in the DL/I request.

  • Resource Name shows the IMS resource used to execute the DL/I request. The type of resource depends on the PCB type, as follows:

    • for Database PCBs, the resource is the Database Descriptor (DBD) name

    • for I/O PCBs, the resource is blank

    • for ALTERNATE PCBs, the resource is MODIFY for modifiable alternate PCBs, or the name of the fixed destination for non-modifiable alternate PCBs

    • Execution Count shows how many times the DL/I call executed.

    • Avg Service Time (sec) identifies the average service time, in seconds, for the transaction. Service time represents the time the transaction is being processed or awaiting processing within the region.

    • Total CPU % shows the percentage of CPU time used by a module or DL/I request in a transaction as a percentage of all CPU time used by programs executed in the measured job step.

    • Wait % shows the percentage of wait time used by a module or DL/I request in a transaction as a percentage of all wait time used by programs executed in the measured job step.

Transaction

The Transaction tab details the DL/I calls, by transaction and region, of the IMS subsystem that matches the measured IMS region. For each transaction that occurred in the IMS subsystem during the measurement interval, the report provides transaction counts, module name, PSB name, transaction abend counts, and DL/I call activity. The maximum, minimum, and average is provided for CPU, elapsed, data base IO, lock and zIIP times.

  • Transaction identifies the IMS transaction responsible for activity within a particular module, section, and Program Specification Block.

  • Module shows the name of the DL/I application used by the transaction responsible for the DL/I requests showing CPU activity.

  • PSB identifies the Program Specification Block that the active module used.

  • Transaction Abends shows the number of transaction abends.

  • Transaction Count shows the total number of times the transaction executed.

  • Avg Execution Time (sec) shows the total transaction time divided by zIIP time.

  • Avg DB IO Time (sec) shows the total data base IO time divided by transaction count.

  • Avg Lock Time (sec) shows the total data base lock time divided by transaction count.

  • Avg zIIP Time (sec) shows the total zIIP time by transaction divided by transaction count.

Click  next to the Transaction to view additional detail:

  • Region shows the IMS job or task name that executed the IMS transaction.

  • Transaction Abends shows the number of transaction abends.

  • Transaction Count shows the total number of times the transaction executed.

  • Avg Execution Time (sec) shows the total transaction time divided by zIIP time.

  • Avg DB IO Time (sec) shows the total data base IO time divided by transaction count.

  • Avg Lock Time (sec) shows the total data base lock time divided by transaction count.

  • Avg zIIP Time (sec) shows the total zIIP time by transaction divided by transaction count.

Click  next to the Region to view additional detail:

    • Execution Time (sec) shows the execution time in seconds for both the minimum and maximum durations.

    • DB IO Time (sec) shows DBIO time in seconds for both the minimum and maximum durations.

    • Lock Time (sec) shows the lock time in seconds for both the minimum and maximum durations.

    • zIIP Time (sec) shows the zIIP time in seconds for both the minimum and maximum durations.

    • DB GU shows the number of times the Get Unique call was issued against the database.

    • DB GN shows the number of times the Get Next call was issued against the database.

    • DB GNP shows the number of times the Get Next within Parent call was issued against the database.

    • DB GHU shows the number of times the Get Hold Unique call was issued against the database.

    • DB GHN shows the number of times the Get Hold Next call was issued against the database.

    • DB GHNP shows the number of times the Get Hold Next within Parent call was issued against the database.

    • DB ISRT shows the number of times the Insert call was issued against the database.

    • DB DLET shows the number of times the Delete call was issued against the database.

    • DB REPL shows the number of times the Replace call was issued against the database.

    • DL/I CHKP shows the number of times the Checkpoint call was issued.

    • DL/I XRST shows the number of times a Restart from a checkpoint call was issued.

    • DL/I ROLB shows the number of times the Roll Back call was issued.

    • DL/I ROLS shows the number of times the Roll Back to SETS call was issued.

    • GU IOPCB shows the number of times the Get Unique call was issued against the I/O PCB.

    • GN IOPCB shows the number of times the Get Next call was issued against the I/O PCB.

    • ISRT IOPCB shows the number of times the Insert call was issued against the I/O PCB.

Region

The region tab details transaction counts and transaction times, ordered by transaction and region, for all regions within the measured IMS subsystem that had transactions during the measurement interval.

  • Region shows the IMS job or task name that executed the IMS transaction.

  • Transaction Abends shows the number of transaction abends.

  • Transaction Count shows the total number of times the transaction executed.

  • Avg Execution Time (sec) shows the total transaction time divided by zIIP time.

  • Avg DB IO Time (sec) shows the total data base IO time divided by transaction count.

  • Avg Lock Time (sec) shows the total data base lock time divided by transaction count.

  • Avg zIIP Time (sec) shows the total zIIP time by transaction divided by transaction count.

Click  next to the Region to view additional detail:

  • Transaction shows the IMS transaction responsible for activity within a particular module, section, and Program Specification Block.

  • Module shows the name of the DL/I application used by the transaction responsible for the DL/I requests showing CPU activity.

  • PSB shows the Program Specification Block that the active module used.

  • Transaction Abends shows the number of transaction abends.

  • Transaction Count shows the total number of times the transaction executed.

  • Avg Execution Time (sec) shows the total transaction time divided by zIIP time.

  • Avg DB IO Time (sec) shows the total data base IO time divided by transaction count.

  • Avg Lock Time (sec) shows the total data base lock time divided by transaction count.

  • Avg zIIP Time (sec) shows the total zIIP time by transaction divided by transaction count.

Click  next to the Transaction to view additional detail:

    • Execution Time (sec) shows the execution time in seconds for both the minimum and maximum durations.

    • DB IO Time (sec) shows DBIO time in seconds for both the minimum and maximum durations.

    • Lock Time (sec) shows the lock time in seconds for both the minimum and maximum durations.

    • zIIP Time (sec) shows the zIIP time in seconds for both the minimum and maximum durations.

    • DB GU shows the number of times the Get Unique call was issued against the database.

    • DB GN shows the number of times the Get Next call was issued against the database.

    • DB GNP shows the number of times the Get Next within Parent call was issued against the database.

    • DB GHU shows the number of times the Get Hold Unique call was issued against the database.

    • DB GHN shows the number of times the Get Hold Next call was issued against the database.

    • DB GHNP shows the number of times the Get Hold Next within Parent call was issued against the database.

    • DB ISRT shows the number of times the Insert call was issued against the database.

    • DB DLET shows the number of times the Delete call was issued against the database.

    • DB REPL shows the number of times the Replace call was issued against the database.

    • DL/I CHKP shows the number of times the Checkpoint call was issued.

    • DL/I XRST shows the number of times a Restart from a checkpoint call was issued.

    • DL/I ROLB shows the number of times the Roll Back call was issued.

    • DL/I ROLS shows the number of times the Roll Back to SETS call was issued.

    • GU IOPCB shows the number of times the Get Unique call was issued against the I/O PCB.

    • GN IOPCB shows the number of times the Get Next call was issued against the I/O PCB.

    • ISRT IOPCB shows the number of times the Insert call was issued against the I/O PCB.

Analysis Tips

Examine the values in the Segment Search Argument column for the following considerations:

  • Does the application use the database design appropriately? For example, does it take advantage of existing secondary index fields, instead of using search fields?

  • Do the command codes take advantage of any pointers provided in the database design?

  • Are the relational operators appropriate? For example, using NOT EQUAL instead of a less resource-consumptive syntax can cause an extensive search of the database.

  • If an IMS region shows transaction times that are out of proportion to transactions in other regions in the IMS subsystem, then a Strobe measurement for that region may help determine the cause of the variance.