%ZOSV2 ;CLKS/SO MSM - JOB OUT RTHISTJB - MUST BE IN MGR UCI ;02/10/95 10:38 ;;8.0;KERNEL;;JUL 03, 1995 START Q RTHSTOP Q RTH ;FROM TASKMAN DRIVER 'XUCSTM' ; Fire Up RTHISTJB & Begin Data Collection S:$D(^RTHIST)'=11 ^RTHIST=0 S ^RTHIST=^RTHIST+1,IRN=^RTHIST ; Set RTHIST job parameters S XUCSDUR=3600 ;rthist duration 1 hr. S XUCSRI=3600 ;rthist report interval 1 HR. S XUCSCDI=300 ;rthist cpu/disk report interval 5 min. I $ZV'["MSM-PC" S XUCSCDI=300 ;=PARAM("CPUTIL") S XUCSRDES="XUCS C.M. Tasked RTHIST" ;rthist report description S XUCSDAT=$P($H,","),XUCSTIM=$P($H,",",2) ; Use Node's Current Date/Time S ^RTHIST(IRN)=XUCSDAT_"^"_XUCSTIM_"^"_XUCSRI_"^"_XUCSRDES_"^"_XUCSDUR_"^"_XUCSCDI_"^"_XUCSTBS RTHCHK ; Check for and remove IN PROGRESS & SUBMITTED - RTHIST's ; See Routine: RTHIST ; Line: READ+3, OPT=4 ; Line: TERM:TP+6, OPT=2 & OPT=4 ; OPT=2 see lines: SAVE:SAVE+3 ; OPT=4 see lines: TERM2:DISCARD+3 INPROG I $D(^RTHIST("IN PROGRESS")) D . S XIRN=^RTHIST("IN PROGRESS") . S ^RTHIST(XIRN,"STOP")="SAVE FIRST" ; RTHIST, SAVE+3 . F H 1 Q:'$V(53,-5) ; RTHIST, SAVE+4 . ;$V(53,-5)>0 if ^RTHISTJB is running . I $D(^RTHIST("IN PROGRESS")),'$V(53,-5) K ^RTHIST("IN PROGRESS") . Q K XIRN SUBMIT I $D(^RTHIST("SUBMITTED")) D . S XIRN=0 F S XIRN=$O(^RTHIST("SUBMITTED",XIRN)) Q:XIRN="" S XUCSX=^RTHIST(XIRN) D .. I ($P(XUCSX,"^")XUCSDAT)) K XUCSX Q ;not today .. S XUCSX1=XUCSTIM+XUCSDUR .. I $P(XUCSX,"^",2)>XUCSX1 K XUCSX,XUCSX1 Q ;start time after me .. S ^RTHIST(XIRN,"STOP")="IMMEDIATELY" ; RTHIST, DISCARD+3 .. F H 1 Q:'$V(53,-5) ;RTHIST, DISCARD+4 .. K XUCSX,XUCSX1 .. Q . K XIRN . Q RTHCLEAN ; Clean Up Any 'Old' XUCS ^RTHIST Nodes I '$D(^RTHIST("IN PROGRESS")),'$V(53,-5) DO . S XUCSIRN=0 F S XUCSIRN=$O(^RTHIST(+XUCSIRN)) Q:'XUCSIRN S XUCSIRNX=^(+XUCSIRN) DO .. I (($P($H,",")-$P(XUCSIRNX,"^"))>0),$E($P(XUCSIRNX,"^",4),1,4)="XUCS" K ^RTHIST(+XUCSIRN) .. Q . K XUCSIRN,XUCSIRNX . Q S XUCSJOB="J ^RTHISTJB(IRN,^RTHIST(IRN))::0" X XUCSJOB I '$T Q S ^RTHIST("SUBMITTED",IRN)="" K XUCSJOB D AMPM ; PART2 ; Get RTHIST's IN PROGRESS Node - Report Number K XUCSEND F H 10 Q:$D(XUCSEND) I $D(^RTHIST("IN PROGRESS")) D . S XUCSRN=^RTHIST("IN PROGRESS"),^%ZRTL("XUCS",XUCSVG,XUCSAP,"TRANSFER-STATUS")="P1"_"^"_XUCSSDT_"^"_XUCSRN,XUCSEND=1 . S XUCSX="" F I=1:1 S XUCSXX=$T(CONFIG+I) Q:$P(XUCSXX,";",3)="END TEXT" I $P(XUCSXX,";",4),$P(XUCSXX,";",5) S XUCSX=XUCSX_$V($P(XUCSXX,";",4),-4,$P(XUCSXX,";",5))_"~" . S ^%ZRTL("XUCS","ZZZ","SYS-CONFIG",XUCSVG)=XUCSX . K XUCSX,XUCSXX . Q D CLEAN Q ; End of RTHIST Run For This Node ; PART4 ; Move RTHIST(IRN Nodes To %ZRTL D AMPM I $D(^RTHIST(XUCSRN,"MESSAGE")) S ^%ZRTL("XUCS",XUCSVG,XUCSAP,"TRANSFER-STATUS")="P4^"_$TR($E(^RTHIST(XUCSRN,"MESSAGE"),1,65),"^","~") D CLEAN Q I '$D(^RTHIST(XUCSRN,1,0)),'$D(^(1)) DO D CLEAN Q . S $P(^%ZRTL("XUCS",XUCSVG,XUCSAP,"TRANSFER-STATUS"),"^")="P3" . I '$D(^RTHIST("IN PROGRESS")) K ^RTHIST(XUCSRN) . I $D(^RTHIST("IN PROGRESS")),^RTHIST("IN PROGRESS")=XUCSRN K ^RTHIST("IN PROGRESS"),^RTHIST(XUCSRN) . Q S ^%ZRTL("XUCS",XUCSVG,XUCSAP,XUCSRN)=^RTHIST(XUCSRN) S XUCSQ="""",%X="^RTHIST("_XUCSRN_"," S %Y="^%ZRTL(""XUCS"","_XUCSQ_XUCSVG_XUCSQ_","_XUCSQ_XUCSAP_XUCSQ_","_XUCSRN_"," D %XY^%RCR S $P(^%ZRTL("XUCS",XUCSVG,XUCSAP,"TRANSFER-STATUS"),"^")="P2" I '$D(^RTHIST("IN PROGRESS")) K ^RTHIST(XUCSRN) ;$V(53,-5)>0 if ^RTHISTJB is running I $D(^RTHIST("IN PROGRESS")),'$V(53,-5) K ^RTHIST(XUCSRN) D CLEAN Q CLEAN ; Kill XUCS* Local Variables K IRN,XUCSCDI,XUCSDAT,XUCSDUR,XUCSEND,XUCSJOB,XUCSQ,XUCSRDES,XUCSRI,XUCSRN,XUCSSDT,XUCSTBS,XUCSTM,XUCSVG Q AMPM ; XUCSSDT = AM or PM? S XUCSAP=$S($E($P(XUCSSDT,".",2),1,2)<12:"AM",1:"PM") Q TI() ; Get MSM Tic Interval Q $V(284,-4,1) OS() ; Get Operating system and Version Number Q $P($ZV," ")_"^"_+$P($ZV," ",3) CONFIG ; ;;Buffer Cache Size;116;4;W " Buffers" ;;Disk I/O Threshholds;; ;; Begin Burst Flush;74;2; ;; Stop Burst Flush;72;2; ;; Flush Panic Level;308;4; ;; Flush Interval (sec);76;2; ;; Flush Quantity;300;4; ;; I/O Capacity (iolevel);72;2; ;; I/O Flush level (fllevel);74;2; ;;Dasd I/O Delay;134;2; ;;Dasd Fsync;156;2; ;;Term I/O Delay;136;2; ;;Maximum Partitions;34;2; ;;Maximum Concurrent Partitions;94;2; ;;Dispatch Parameters;; ;; Slice Size;144;2; ;; RunQ Slice;146;2; ;; Q1 -> Q2 threshhold;148;4; ;; Q2 -> Q3 Threshhold;152;4; ;;STAP Size;96;2;W " (=",$V(96,-4,2)\1024,"K)" ;;STACK Size;98;2;W " (=",$V(98,-4,2)\1024,"K)" ;;END TEXT