Reports That Show Natural System CPU Usage
Several Strobe reports can be generated that show CPU usage and activity within a Natural environment.
Program Section Usage Summary Report
The Program Section Usage Summary report (Program Section Usage Summary Report) shows the distribution of CPU time used by each active control section of each active module in the Natural environment. Natural nucleus modules and IBM system modules are compressed and shown as pseudo-sections under the pseudo-module .SYSTEM.
This report can help you focus your investigation by showing whether Natural nucleus programs or user programs are responsible for the most CPU activity. If Natural user programs are the heaviest CPU users, refer to the Natural 4GL Program reports to identify performance improvement opportunities. Otherwise, refer to the Program Usage by Procedure reports.
In this example, the Natural nucleus programs shown under module name .SYSTEM and section name .NATNUC account for 36.94% of the execution time. Therefore, look at the Program Usage by Procedure report (Program Usage by Procedure Report) for .NATNUC to determine what caused this activity.
Program Section Usage Summary Report
Program Usage by Procedure Report
The Program Usage by Procedure reports present a detailed accounting of CPU time spent by each procedure within each program that was active during a measurement session. They include both application programs and system modules, and the two types of reports look slightly different. For application programs, Strobe displays the module name, control section name, and starting location. If the control section was indexed, Strobe shows the line number and procedure name as well.
For system modules, Strobe displays the module and control section name and a function descriptor. Both types of reports show the solo and total CPU time used by each control section within the module. For a complete description of this report, see Interpretation-and-Analysis-User-Guide.
Activity in System Modules
The second type of Program Usage by Procedure report details activity in system modules. The example in Program Usage by Procedure Report shows the Natural nucleus programs that support the Natural 4GL programs in this CICS environment. Strobe identifies activity in Natural nucleus programs with the pseudo-module name .NATNUC.
Of particular interest in this example are control section NATADRI of module NAT412RE, which accounts for 6% of CPU activity, and section NATARI2 of module NAT412RE, which accounts for 4.8%. To determine which Natural 4GL programs and statements caused the activity, examine the Attribution of CPU Execution Time report (Attribution of CPU Execution Time Report).
Program Usage by Procedure Report
Attribution of CPU Execution Time Report
The Attribution of CPU Execution Time report (Attribution of CPU Execution Time Report) identifies the sites of invocation of attributed modules. Use this report to identify which Natural 4GL statements caused activity in a Natural nucleus module or system service routine.
Header Lines
The report header identifies the invoked routine, showing:
- Its pseudo-module, module, and control section name (when available)
- Function descriptor for either the control section or the module.
Detail Lines
Each report detail line for a Natural nucleus program identifies an invoker of the module and displays:
- Transaction name, if the Natural nucleus is running under a CICS transaction
- Name of the Natural 4GL program
- For copycode, the name of the object that included the code
- Natural 4GL program statement number
- Natural program library name
- Adabas database ID and file number of the Natural program library
- Solo and total CPU time spent on behalf of the invoker..
Total Line
The total line shows the total time attributed to the invokers of the module. It may be less than the time shown in the Program Usage by Procedure or Most Intensively Executed Procedures reports because Strobe cannot always identify an invoker of a service routine.
Attribution of CPU Execution Time Report
Transaction Reports for CICS Address Spaces
When you measure an online subsystem, the transaction reports show you a breakdown of CPU activity by transaction name. These reports are helpful when:
- You want to see the transaction counts and service time statistics
- You are interested in the program activity within transactions
- You want to improve the performance of the CICS system in which your Natural programs execute.
Transaction reports in the Strobe Performance Profile vary according to the type of address space measured and the Strobe options that were installed and active during the measurement session.
Strobe presents transaction reports for CICS transactions executing Natural in the Strobe CICS Performance Supplement.
Pseudo-Transactions
When Strobe for CICS detects activity in the main CICS task and neither a user transaction nor a CICS transaction is in control, Strobe for CICS assumes that CICS is performing activities on its own behalf and assigns that time to a pseudo-transaction named .CICS.
When Strobe identifies activity in a task other than the main CICS task, Strobe generates a pseudo-transaction name beginning with a “.” and followed by the first seven characters of the name of the load module that initiated execution in the task.
Transaction Summary Report
When Strobe produces the CICS Performance Supplement, the Transaction Summary report for a CICS address space (Transaction Summary Report) shows the distribution of service time and CPU usage among transactions that were active during a measurement session. In this report, the transaction DIS0 shows a transaction count of 499 with 35.74% of CPU time is attributed to it.
When Strobe identifies activity in a CICS transaction, the transaction count, message rates, service time statistics, and the name of the initial program appear in the detail line. When Strobe uses a pseudo-transaction name, it leaves these values blank.
The Transaction Summary report aggregates all CPU execution for a Natural nucleus executing under a CICS transaction and shows the name of that transaction in the NAME column. If the Natural nucleus is:
- Loaded from CICS-managed storage, the INITIAL PROGRAM column shows the nucleus’ program name
- Loaded from the operating system using the Natural NCILOAD module (OS LOADED), the INITIAL PROGRAM column shows the NCILOAD module name.
Transaction Summary Report
Transaction Activity: CPU Usage by Control Section Report
The CPU Usage by Control Section report shows, for each transaction that was active during the measurement session, the CPU time spent in each control section within each active module that was invoked to process that transaction.
The CICS example (CPU Usage by Control Section Report), for transaction DIS0, shows that most of the CPU activity was caused by the Natural nucleus programs. In this case, the Natural nucleus was OS LOADED, so the activity appears under the OS LOADED module name (NAT412RE) rather than the CICS-defined initial program name (NCX412PC) for transaction DIS0, shown in the Transaction Summary report (Transaction Summary Report).
CPU Usage by Control Section Report