COMCCUA 
COMMON
          CTEXT  COMCCUA - COMPUTER UTILIZATION ANALYSIS ROUTINES.
          SPACE  4,10 
          IF     -DEF,QUAL$,1 
          QUAL   COMCCUA
          BASE   D
*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
CUA       SPACE  4,10 
***       CUA - COMPUTER UTILIZATION ANALYSIS ROUTINES. 
* 
*         M. L. SWANSON.     84/05/09.
*         N. K. CLARK.       84/05/09.
          SPACE  4,10 
***       *CUA* ALLOWS COMPUTER UTILIZATION ANALYSIS BY MEASURING THE 
*         ELAPSED TIME, CP TIME, AND MASS STORAGE ACTIVITY OF THE 
*         CALLING PROGRAM.  THE RESULTS ARE THEN WRITTEN TO THE SYSTEM
*         DAYFILE, THE USER DAYFILE, AND THE JOB MESSAGE BUFFER.
          SPACE  4,15 
***       DAYFILE MESSAGE.
* 
*         1 3         14        24        34
*         - TOOLNAME  ETIME     CPTIME    MSACT 
* 
*         TOOLNAME - CALLING TOOL.
*         ETIME - ELAPSED TIME SINCE INITIATION OF THE TOOL 
*                 IN THE FORM  HH.MM.SS.
*         CPTIME - CP TIME FOR THE TOOL IN SECONDS (TO 3
*                 DECIMAL PLACES).
*         MSACT - MASS STORAGE ACTIVITY FOR THE TOOL IN KUNS, 
*                 (TO 3 DECIMAL PLACES).
 INT      SPACE  4,10 
***       CALLING SEQUENCES.
* 
*         *SYMPL* CALL -
* 
*         INT(TOOLNAME);
* 
*         FNL;
 INT      SPACE  4,15 
**        INT - *CUA* INITIALIZATION. 
* 
*         ENTRY  (A1) = FWA OF PARAMETER LIST.
*                (X1) = ADDRESS OF TOOLNAME PARAMETER.
* 
*         EXIT   INITIAL ACCUMULATOR VALUES SAVED.
* 
*         USES   X - 2, 3, 6, 7.
*                A - 1, 2, 6, 7.
*                B - 1. 
* 
*         MACROS GETJA, RTIME, TIME.
* 
*         XREF   COMCZTB. 
  
  
 INT      SUBR               ENTRY/EXIT 
          SB1    1
          SA1    X1          GET TOOLNAME PARAMETER 
          RJ     ZTB         SPACE FILL TOOLNAME
          MX2    -12
          BX7    -X2*X6      SAVE LAST 2 CHARACTERS 
          BX6    X2*X6       ADD TOOLNAME TO MESSAGE
          SX3    2R-
          BX6    X6+X3
          LX6    -12
          SA6    MESS 
          LX7    -12
          SA7    A6+B1
          RTIME  CUAB        INITIAL ELAPSED TIME 
          TIME   CUAC        INITIAL ACCUMULATE CP TIME 
          GETJA  CUAA        INITIAL MS ACCUMULATOR 
          SA2    CUAA+2 
          BX6    X2 
          SA6    CUAD        SAVE INITIAL MS ACCUMULATOR
          EQ     INTX        RETURN 
 FNL      SPACE  4,15 
**        FNL - COMPLETE UTILIZATION ANALYSIS PROCESS.
* 
*         EXIT   MESSAGE ISSUED TO DAYFILE. 
* 
*         USES   X - 1, 2, 3, 4, 6, 7.
*                A - 1, 2, 3, 6, 7. 
*                B - 1, 4.
* 
*         MACROS ETIMES, GETJA, MESSAGE, RTIME, TIME. 
* 
*         XREF   COMCCDD, COMCCFD, COMCEDT. 
  
  
 FNL      SUBR               ENTRY/EXIT 
          SB1    1
          RTIME  CUAE        FINAL ELAPSED TIME 
          TIME   CUAF        FINAL ACCUMULATED CP TIME
          GETJA  CUAA        FINAL MS ACCUMULATOR 
  
*         CALCULATE TOTAL ELAPSED TIME. 
  
          SA2    CUAB        INITIAL ELAPSED TIME 
          SA3    CUAE        FINAL ELAPSED TIME 
          IX2    X3-X2       FINAL ELAPSED TIME IN SECONDS
          AX2    36 
  
*         CONVERT ELAPSED TIME TO DISPLAY CODE FORMAT  HH.MM.SS.
  
          SX1    3600        CALCULATE ELAPSED HOURS
          BX3    X2 
          IX7    X3/X1
          SX1    3600 
          IX6    X7*X1
          LX7    12 
          IX2    X2-X6       HOUR REMAINDER 
          SX1    60          CALCULATE ELAPSED MINUTES
          BX3    X2 
          IX6    X3/X1
          LX6    6
          BX7    X7+X6
          SX1    60 
          LX6    -6 
          IX4    X6*X1
          IX6    X2-X4       ELAPSED SECONDS
          BX1    X7+X6
          ETIME  X1          CONVERT PACKED TIME TO DISPLAY CODE
          SA1    MESS+1      STORE ELAPSED TIME IN MESSAGE
          MX2    48 
          BX7    X2*X6
          LX7    -12
          BX7    X1+X7
          SA7    A1 
          BX6    -X2*X6 
          LX6    -12
          SA6    A7+B1
  
*         CALCULATE TOTAL CP TIME FOR THE TOOL IN MILLISECONDS. 
  
          SA2    CUAC        INITIAL CP TIME ACCUMULATOR
          SA3    CUAF        FINAL CP TIME ACCUMULATOR
          SB4    48 
          MX4    -24
          LX7    X2,B4
          LX6    X3,B4
          BX7    -X4*X7      INITIAL CP TIME (SECONDS)
          BX6    -X4*X6      FINAL CP TIME (SECONDS)
          SX1    1000        CONVERT TO MILLISECONDS
          IX7    X7*X1
          IX6    X6*X1
          MX4    -12
          BX2    -X4*X2      CALCULATE TOTALS IN MILLISECONDS 
          BX3    -X4*X3 
          IX7    X7+X2
          IX6    X6+X3
          IX1    X6-X7       TOTAL CP ACTIVITY IN MILLISECONDS
          RJ     CFD         CONVERT TO DISPLAY CODE
          SA1    MESS+2      STORE CP TIME IN MESSAGE 
          MX2    48 
          BX7    X2*X6
          LX7    -12
          BX7    X1+X7
          SA7    A1 
          BX7    -X2*X6 
          LX7    -12
          SA7    A7+B1
  
*         CALCULATE TOTAL MS ACTIVITY FOR THE TOOL IN KUNS. 
  
          SA2    CUAD        INITIAL MS ACCUMULATOR 
          SA3    CUAA+2      FINAL MS ACCUMULATOR 
          MX4    20 
          BX2    X4*X2       INITIAL MS ACCUMULATOR 
          BX3    X4*X3       FINAL MS ACCUMULATOR 
          LX2    20 
          LX3    20 
          IX1    X3-X2       TOTAL MS ACTIVITY
          RJ     CFD         CONVERT TO DISPLAY CODE
          SA1    MESS+3      SAVE TOTAL MS ACCUMUTATOR IN MESSAGE 
          MX2    48 
          BX7    X2*X6
          LX7    -12
          BX7    X1+X7
          SA7    A1 
          BX7    -X2*X6 
          LX7    -12
          SA7    A7+B1
          MESSAGE  MESS,,R   SEND MESSAGE TO DAYFILE
          EQ     FNLX        RETURN 
  
  
 CUAA     BSSZ   5           REPLY BLOCK FOR *GETJA*
 CUAB     BSS    1           INITIAL ELAPSED TIME 
 CUAC     BSS    1           INITIAL CP ACTIVITY ACCUMULATOR
 CUAD     BSS    1           INITIAL MS ACTIVITY ACCUMULATOR
 CUAE     BSS    1           FINAL ELAPSED TIME 
 CUAF     BSS    1           FINAL CP ACTIVITY ACCUMULATOR
 MESS     BSSZ   6           DAYFILE MESSAGE BUFFER 
          SPACE  4,10 
          BASE   *
 QUAL$    IF     -DEF,QUAL$ 
          QUAL   *
 INT      EQU    /COMCCUA/INT 
 FNL      EQU    /COMCCUA/FNL 
 QUAL$    ENDIF 
          ENDX
  
