Job to run the DFHSTUP program

Sample JCL to unload the SMF data sets and run DFHSTUP against the data.

The job, which is shown in Figure 1 comprises two job steps. The job steps are as follows:
  1. Unload the SMF data set or data sets containing the CICS® statistics that you want to process.
  2. Run the statistics utility program to sort, format, and print the statistics data. You run the DFHSTUP program in a batch region to process any CICS SMF type 110 statistics records that are present in an unloaded SMF data set, which you can write to either a temporary or a cataloged data set.
Figure 1. Example job to extract and print statistics data
//STUP     JOB 'accounting info',CLASS=A,
//             USER=userid,MSGCLASS=A,NOTIFY=userid
//**********************************************************************
//*  Step 1: Unload data from the SMF data sets
//**********************************************************************
//SMFDUMP  EXEC PGM=IFASMFDP
//INDD1     DD DSN=SYS1.MANx,DISP=SHR,AMP=('BUFSP=65536')              1 
//INDD2     DD DSN=SYS1.MANy,DISP=SHR
//OUTDD1    DD DSN=user.SMF.DATA,DISP=(NEW,CATLG),                     2 
//             SPACE=(CYL,(50,10)),UNIT=SYSDA
//SYSPRINT  DD SYSOUT=A
//SYSIN     DD *
       INDD(INDD1,OPTIONS(DUMP))                                       1 
       INDD(INDD2,OPTIONS(DUMP))
       OUTDD(OUTDD1,TYPE(0:255))                                       2 
 
//**********************************************************************
//*  Step 2: Sort, format and print the statistics records             3 
//**********************************************************************
//STUP1    EXEC PGM=DFHSTUP,REGION=0M
//********************************************
//STEPLIB  DD DSN=CICSTS54.CICS.SDFHLOAD,DISP=SHR
//         DD DSN=CICSTS54.CICS.SDFHAUTH,DISP=SHR
//DFHSTATS  DD DSN=user.SMF.DATA,DISP=SHR                              4 
//DFHSTWRK  DD UNIT=SYSDA,SPACE=(CYL,(8,4))                            5 
//SORTWK01  DD UNIT=SYSDA,SPACE=(CYL,(4))                              6 
//SORTWK02  DD UNIT=SYSDA,SPACE=(CYL,(4))
//SORTWK03  DD UNIT=SYSDA,SPACE=(CYL,(4))
//SORTWK04  DD UNIT=SYSDA,SPACE=(CYL,(4))
//DFHPRINT  DD SYSOUT=*                                                7 
//SYSPRINT  DD SYSOUT=*
//SYSUDUMP  DD SYSOUT=*
//SYSABEND  DD SYSOUT=*
//SYSOUT    DD SYSOUT=*
//SYSIN     DD *                                                       8 
SELECT APPLID=(applid1,applid2)
COLLECTION TYPE=ALL
/*
//
Note:
  1. You can specify any number of input (INDD) and output (OUTDD) data sets for the SMF dump program, IFASMFDP. The input files are dumped in reverse order unless concatenated under one input file. For example, in Figure 1, two input files are specified. After the IFASMFDP program is processed, the output file (user.SMF.DATA) contains the records from INDD2 first, followed by the records for INDD1. The DFHSTUP program always produces a report in chronological order.

    For more information about unloading SMF data sets, see thez/OS MVS System Management Facilities (SMF) .

    The AMP parameter is used on the DD statement to reduce the unload time if you specify a suitable buffer size. (See also the monitoring utility sample job Figure 1.)

  2. The OUTDD parameter refers to an OUTDD1 DD statement that defines a disk data set. To rerun this job you need to change the DISP parameter to DISP=(OLD,KEEP). The TYPE parameter specifies the full range of SMF record types, causing IFASMFDP to unload all records. If you want to select only CICS records, change the record type parameter to TYPE(110). Unloading all the CICS SMF 110 records in this way also includes the SMF 110 records from journaling, monitoring, and the CICS Servers (temporary storage, coupling facility data tables, and named counter). The DFHSTUP program processes only CICS SMF 110 records with record subtype 2. All other SMF 110 records are ignored. If you want to unload just these CICS statistics records processed by DFHSTUP, change the record type parameter to TYPE(110(2)).
  3. The DFHSTUP program sorts statistics records in the sequence: specific applid, date (in YYYYMMDD form), and time.
  4. The ddname for the input to the DFHSTUP program must be DFHSTATS. This input is the unloaded SMF data set.
  5. The ddname for the DFHSTUP work file must be DFHSTWRK. Fve types of statistics records can be written to the DFHSTWRK data set:
    • Files
    • Log streams
    • Transactions
    • Transient data queues
    • DB2® Entries

    The size of the DFHSTWRK data set required depends on the largest set of resources from this list being written to the data set.

    The following calculation can be used to estimate the size of the DFHSTWRK data set required:
    • Files
      1. The length of the file statistics dsect, DFHA17DS, is 376 bytes.
      2. The amount of file data that is written in one interval/requested reset/End-of-day report is 376 * (number of files in region) bytes.
      3. Because file statistics are written to SMF whenever a file is closed online, add an estimate of the number of file closes, multiplied by the length of the DFHA17DS dsect (376 bytes).
    • Log streams
      1. The length of the log streams statistics dsect, DFHLGSDS, is 124 bytes.
      2. The amount of log stream data that is written in one interval/requested reset/End-of-day report is 124 * (number of log streams in region) bytes.
    • Transactions
      1. The length of the transaction statistics dsect, DFHXMRDS, is 164 bytes.
      2. The amount of transaction data that is written in one interval/requested reset/End-of-day report is 164 * (number of transactions in region) bytes.
    • Transient data queues
      1. The length of the transient data queue statistics dsect, DFHTQRDS, is 188 bytes.
      2. The amount of transient data queue data that is written in one interval/requested reset/End-of-day report is 188 * (number of transient data queues in region) bytes.
      3. Additionally, for extrapartition transient data queues, a record is written when the transient data queue is closed.
    • DB2 Entries
      1. The length of the DB2 entries dsect, DFHD2RDS, is 204 bytes.
      2. The amount of DB2 entry data that is written in one interval/requested reset/End-of-day report is 204 * (number of DB2 entries in region) bytes.
      3. Additionally, a record for each DB2 entry is written when the DB2 connection is closed.
  6. The DFHSTUP program sorts the data by using a link to the MVS™ sort program, DFSORT, to ensure that data is correctly processed in chronological sequence. These sort work files are needed by the DFSORT program.
  7. The ddname for the output from the DFHSTUP program must be DFHPRINT, which you can direct either to a data set or printer.
  8. The control parameters for the DFHSTUP program can be supplied only in the SYSIN data set.
    Each control parameter in the SYSIN data set starts on a new line and is terminated by a blank. If you need to continue a control parameter for more than one line, you must ensure that the line to be continued ends with a comma in column 1 - 71 and that there is a non-blank character in column 72 of the line to be continued, and start each continuation line in column 16. For example:
    //* Column  16 v                                                    72 v
    SELECT APPLID=(CICSIDA,CICSIDB,CICSIDC,CICSIDD,CICSIDE,CICSIDF,CICSIDG,/
                   CICSIDH,CICSIDI,CICSIDJ)
    COLLECTION TYPE=ALL

    The available parameters are described in Control parameters of the DFHSTUP program.