Program analysis

Program analysis provides a graphical breakdown of a CICS transaction’s processing by program and by component (processing area).

C\\Prof Web UI program analysis dashboard for time spent in CICS transactions Program analysis in the C\Prof Web UI

Opening program analysis

To view program analysis, complete the following steps:

  1. Find the transaction you are interested in using the transaction list.
  2. Click the expand button (Expand) to reveal additional actions.
  3. Click the program analysis button (Program analysis).

Tip: To share this transaction's program analysis with others, use the send button (Send) to copy the URL from your browser's address bar and then paste into an email or other communication method of your choice.

Exploring the breakdown

The following visualizations are available in program analysis. Each visualization is available for viewing on a separate card as a bar graph, sunburst (pie), or as a sankey. To change the visualization, select the button at the top-right corner of the card. To view the visualization in seconds, select the stopwatch at the top of the screen.

For an explanation of the abbreviations used in this screen see Components reported in program analysis.

Note: If C\Prof was unable to attribute the time spent to a particular program, the CICS region name is displayed instead.

Analysis overview card

Analysis overview displays the time spent in each program with additional breakdown into individual processing areas (components). To change the visualization, select the button at the top-right corner of the card.

Bar graph

The bar graph provides a breakdown as a horizontal bar chart. The bar on the program name displays the total time spent in the program, whilst the bars nested beneath the program break down the program time further into components. You can collapse or expand an individual program by selecting the program name. In the example below, the graph reveals that most of the work is being done in programs MBKPSEQ1, MBKPDEB1, and FBODCP05.

Program list for a CICS transaction with syncpoint time, file control time, DB2 time, JCICS time, storage manager time, temporary storage time, transient data time, and more Analysis overview - bar graph

Sunburst

On initial load, the sunburst diagram provides a breakdown of the time spent in each program. In the example below, MBKPSEQ1 has consumed the most time in this transaction.

Donut/pie chart showing time spent in each program used by a CICS transaction Analysis overview - sunburst

To reveal the time spent in each component, select Show components. The component breakdown is shown on the outer ring of the sunburst. In the example below, the diagram reveals that despite MBKPSEQ1 having consumed the most time, a lot of time was also spent in DB2 in program FBODCP05, and FC (VSAM files) in program MBKPDEB1.

Pie/donut/sunburst chart showing time spent in each program used by a CICS transaction and then further divided into processing areas (file control, DB2, syncpoint, program control, processing time) Analysis overview - sunburst with components shown

Sankey

The sankey diagram shows the flow of time between programs and processing areas (components). The single bar on the left shows the total time for the transaction. The horizontal bars in the center reveal the time spent in each program. The bars on the right show the time in each component, rolled up across all programs participating in the transaction. The flows between the components and programs reveal which programs are contributing the most to each type of processing.

In the example below, the transaction uses two programs: DATABUS and DATAPGM. The transaction has also spent time in multiple components from PC (Program Load) to IC (Interval Control). The diagram reveals that PROCESS, SYNCPOINT, and BA (Business Activity) component time is distributed over both of the participating programs whilst other components are isolated to a single program.

Sankey diagram showing time spent in each program used by a CICS transaction. Listed programs are further divided into time spent in program control, processing, file control (MVS), syncpoint time, business activity, terminal control, and interval control Analysis overview - sankey of transaction DATA

In the next example, several programs are participating in transaction BPMT. Whilst program MBKPSEQ1 consumes the most time overall, time spent in DB2 processing is also significant. Drilling down further, the chart reveals that program FBODCP05 consumes most of this DB2 time. Programs MBKPDEB1 and MBKPCOM1 both spend time accessing VSAM files (FC) and also contribute to a large percentage of the overall time spent in the transaction.

Sankey diagram in the C\Prof Web UI that lists programs used by a CICS transaction and shows which is the most expensive (MBKPSEQ1) and which resource is used most (DB2) Analysis overview - sankey of transaction BPMT

In the final example, CICS transaction CJSA is processing a web request sent to a Java program running in a Liberty JVM server in region CCVWAXL. The program links to COBOL program DATABUS via JCICS. Program DATABUS consumes 5.38% of the total transaction time. 17.49% of the transaction's time was spent in processing JCICS requests.

Sankey diagram of CICS transaction CJSA revealing legacy COBOL programs used by Liberty Java programs and time spent Analysis overview - sankey of CICS transaction CJSA

Program breakdown card

Program breakdown shows the processing breakdown for an individual program. To change the program being analyzed, select it from the dropdown menu. To change the visualization, select the button at the top-right corner of the card. In the example below, program DATABUS spends most of its time in PC (program load) followed by FC (VSAM files).

Breaking down a CICS program into time spent in each processing area Program breakdown

Component breakdown card

Component breakdown shows the processing breakdown for the entire transaction independent of its programs. To change the visualization, select the button at the top-right corner of the card. In this example, the diagram reveals that this transaction spends over half of its time in PC (program load).

Breaking down a CICS transaction into processing areas (File control, syncpoint time, DB2 time, program control time) Component breakdown

Components reported in program analysis

The bar next to the program name represents the overall processing time spent in that program. Beneath the program name, the processing time is further divided into a program's components.

Component Meaning
BA Business Activity
DB2 DB2 SQL
DH Document Handler
ENQ Enqueue/Dequeue
EP Event Publishing
FC VSAM files
IC Interval Control
IMS IMS-DBCTL DLI
JCICS Java JCICS requests (nested EXEC CICS time removed)
LG Journaling to the logger
MQ IBM MQ
NC Named Counters
Other All other EXEC CICS command types
PC Program load
Process Application code has control
SM Storage Manager
Syncpoint EXEC CICS SYNCPOINT and commit during RETURN
TC Terminal Control and BMS etc.
TD Transient Data
TS Temporary Storage
Unknown Time that cannot be accounted to a category
WEB WEB and services
XML XML and JSON conversion