| 1 | KMPRSSA ;OAK/RAK - Resource Usage Monitor Status ;11/19/04 10:32
|
---|
| 2 | ;;2.0;CAPACITY MANAGEMENT - RUM;**1**;May 28, 2003
|
---|
| 3 | ;
|
---|
| 4 | FORMAT(KMPRLN) ;-format text for dislay
|
---|
| 5 | ;-----------------------------------------------------------------------------
|
---|
| 6 | ; KMPRLN.... return number of lines - called by reference
|
---|
| 7 | ;-----------------------------------------------------------------------------
|
---|
| 8 | ;
|
---|
| 9 | N CHECK,LN,VERSION S LN=0 K TMP
|
---|
| 10 | ;
|
---|
| 11 | ; check environment
|
---|
| 12 | ;D ENVCHECK^KMPRUTL1(.CHECK,1)
|
---|
| 13 | ; if RUM turned on but background job not queued ask user if they want
|
---|
| 14 | ; to queue it at this time.
|
---|
| 15 | ;D:(+CHECK)=200 ENVCHECK^KMPRUTL1(.CHECK)
|
---|
| 16 | ;
|
---|
| 17 | ; if no kmprutl routine
|
---|
| 18 | S X="KMPRUTL" X ^%ZOSF("TEST") I '$T D Q
|
---|
| 19 | .D SET^VALM10(LN,"The CAPACITY MANAGEMENT - RUM package is not installed!")
|
---|
| 20 | .S LN=LN+1
|
---|
| 21 | ;
|
---|
| 22 | W !," formatting..."
|
---|
| 23 | W "."
|
---|
| 24 | ; option data
|
---|
| 25 | D OPT
|
---|
| 26 | W "."
|
---|
| 27 | ; bacground data
|
---|
| 28 | D BKGRND
|
---|
| 29 | W "."
|
---|
| 30 | ; file data
|
---|
| 31 | D FILES
|
---|
| 32 | W "."
|
---|
| 33 | ; routine version check
|
---|
| 34 | D ROUCHK("R")
|
---|
| 35 | W "."
|
---|
| 36 | ; node/cpu data
|
---|
| 37 | D CPU
|
---|
| 38 | W "."
|
---|
| 39 | ; legend
|
---|
| 40 | D LEGEND
|
---|
| 41 | ;
|
---|
| 42 | S KMPRLN=LN-1
|
---|
| 43 | ;
|
---|
| 44 | Q
|
---|
| 45 | ;
|
---|
| 46 | BKGRND ; hl7 background info
|
---|
| 47 | ;
|
---|
| 48 | N DATA,DELTA,ENDT,I,STAT,STDT,Z
|
---|
| 49 | ;
|
---|
| 50 | D SET^VALM10(LN," Temporary collection global..")
|
---|
| 51 | S LN=LN+1
|
---|
| 52 | D SET^VALM10(LN," ^KMPTMP(""KMPR"").............. "_$S('$D(^KMPTMP("KMPR")):"NOT ",1:"")_"Present")
|
---|
| 53 | S LN=LN+1
|
---|
| 54 | D SET^VALM10(LN,"")
|
---|
| 55 | S LN=LN+1
|
---|
| 56 | ;
|
---|
| 57 | D PARAMS^KMPDUT("DATA") Q:'$D(DATA)
|
---|
| 58 | S DATA(2)=$G(DATA(2))
|
---|
| 59 | S STDT=$P(DATA(2),U,5),ENDT=$P(DATA(2),U,6),DELTA=$P(DATA(2),U,7)
|
---|
| 60 | S:$E(DELTA)=" " $E(DELTA)="0"
|
---|
| 61 | D SET^VALM10(LN,"")
|
---|
| 62 | S LN=LN+1
|
---|
| 63 | D SET^VALM10(LN," RUM Dly Bckgrnd Last Start... "_$$FMTE^XLFDT(STDT))
|
---|
| 64 | S LN=LN+1
|
---|
| 65 | D SET^VALM10(LN," RUM Dly Bckgrnd Last Stop.... "_$$FMTE^XLFDT(ENDT))
|
---|
| 66 | S LN=LN+1
|
---|
| 67 | D SET^VALM10(LN," RUM Dly Bkgrnd Total Time.... "_DELTA)
|
---|
| 68 | S LN=LN+1
|
---|
| 69 | D SET^VALM10(LN,"")
|
---|
| 70 | S LN=LN+1
|
---|
| 71 | S STDT=$P(DATA(2),U,8),ENDT=$P(DATA(2),U,9),DELTA=$P(DATA(2),U,10)
|
---|
| 72 | S:$E(DELTA)=" " $E(DELTA)="0"
|
---|
| 73 | D SET^VALM10(LN," RUM Wkly Backgrnd Last Start. "_$$FMTE^XLFDT(STDT))
|
---|
| 74 | S LN=LN+1
|
---|
| 75 | D SET^VALM10(LN," RUM Wkly Bckgrnd Last Stop... "_$$FMTE^XLFDT(ENDT))
|
---|
| 76 | S LN=LN+1
|
---|
| 77 | D SET^VALM10(LN," RUM Wkly Bckgrnd Total Time.. "_DELTA)
|
---|
| 78 | S LN=LN+1
|
---|
| 79 | D SET^VALM10(LN," RUM Purge Data After......... "_$P(DATA(2),U,11)_" weeks")
|
---|
| 80 | S LN=LN+1
|
---|
| 81 | D TRANSTO^KMPDUTL7(1,2,.Z)
|
---|
| 82 | I '$D(Z) D SET^VALM10(LN," RUM Transmit Data to......... <>") S LN=LN+1
|
---|
| 83 | E D
|
---|
| 84 | .S I=$O(Z("")) D:I'="" SET^VALM10(LN," RUM Transmit Data to......... "_I) S LN=LN+1
|
---|
| 85 | .F S I=$O(Z(I)) Q:I="" D SET^VALM10(LN,$J(" ",33)_I) S LN=LN+1
|
---|
| 86 | D SET^VALM10(LN,"")
|
---|
| 87 | S LN=LN+1
|
---|
| 88 | ;
|
---|
| 89 | Q
|
---|
| 90 | ;
|
---|
| 91 | CPU ;-- cpu/node data
|
---|
| 92 | ;
|
---|
| 93 | N COUNT,DATA,I,LEN,TEXT
|
---|
| 94 | ;
|
---|
| 95 | D CPUGET^KMPDUTL6(.DATA)
|
---|
| 96 | Q:'$D(DATA)
|
---|
| 97 | D SET^VALM10(LN,"")
|
---|
| 98 | S LN=LN+1
|
---|
| 99 | S TEXT=" Node/CPU Data............... "
|
---|
| 100 | S (COUNT,I,LEN)=0
|
---|
| 101 | F S I=$O(DATA(I)) Q:'I D
|
---|
| 102 | .S COUNT=COUNT+1,DATA=$G(DATA(I,0)) Q:DATA=""
|
---|
| 103 | .; length of node name
|
---|
| 104 | .S:'LEN LEN=$L($P(DATA,U))+2
|
---|
| 105 | .S TEXT=$S(COUNT=1:TEXT,1:$J(" ",32))_$P(DATA,U)
|
---|
| 106 | .S TEXT=TEXT_$J(" ",30-$L(TEXT)+LEN)_$P(DATA,U,2)_" ("_$P(DATA,U,3)_")"
|
---|
| 107 | .D SET^VALM10(LN,TEXT)
|
---|
| 108 | .S LN=LN+1
|
---|
| 109 | ;
|
---|
| 110 | Q
|
---|
| 111 | ;
|
---|
| 112 | LEGEND ;-- display legend
|
---|
| 113 | ;
|
---|
| 114 | D SET^VALM10(LN,"")
|
---|
| 115 | S LN=LN+1
|
---|
| 116 | D SET^VALM10(LN,"")
|
---|
| 117 | S LN=LN+1
|
---|
| 118 | D SET^VALM10(LN," RUM = Resource Usage Monitor")
|
---|
| 119 | S LN=LN+1
|
---|
| 120 | ;
|
---|
| 121 | Q
|
---|
| 122 | ;
|
---|
| 123 | OPT ;-- option data
|
---|
| 124 | ;
|
---|
| 125 | ; daily/weekly background job info
|
---|
| 126 | N DIR,KMPRX,KMPRX1,TEXT,X,Y
|
---|
| 127 | ;
|
---|
| 128 | ; if background option is missing
|
---|
| 129 | I '$O(^DIC(19,"B","KMPR BACKGROUND DRIVER",0)) D
|
---|
| 130 | .D SET^VALM10(LN," The 'RUM Background Driver' option [KMPR BACKGROUND DRIVER] is missing!")
|
---|
| 131 | .S LN=LN+1
|
---|
| 132 | ; background option is present
|
---|
| 133 | E D
|
---|
| 134 | .S KMPRX=+$O(^DIC(19,"B","KMPR BACKGROUND DRIVER",0))
|
---|
| 135 | .S KMPRX=+$O(^DIC(19.2,"B",KMPRX,0))
|
---|
| 136 | .; if not scheduled or no task id
|
---|
| 137 | .I 'KMPRX!('$G(^DIC(19.2,+KMPRX,1))) D Q:'Y
|
---|
| 138 | ..K DIR S DIR(0)="YO",DIR("B")="YES"
|
---|
| 139 | ..S DIR("A")="Do you want to queue this option to run each night at 1am"
|
---|
| 140 | ..W ! D ^DIR I 'Y D Q
|
---|
| 141 | ...D SET^VALM10(LN," The 'RUM Background Driver' [KMPR BACKGROUND DRIVER] is not scheduled")
|
---|
| 142 | ...S LN=LN+1
|
---|
| 143 | ...D SET^VALM10(LN," to run!"),SET^VALM10(LN,"")
|
---|
| 144 | ...S LN=LN+1
|
---|
| 145 | ..D QUEBKG^KMPRUTL1
|
---|
| 146 | .S KMPRX=+$O(^DIC(19,"B","KMPR BACKGROUND DRIVER",0))
|
---|
| 147 | .S KMPRX=+$O(^DIC(19.2,"B",KMPRX,0))
|
---|
| 148 | .S KMPRX=$G(^DIC(19.2,KMPRX,0)),KMPRX1=$G(^(1))
|
---|
| 149 | .S $P(KMPRX,U,2)=$$FMTE^XLFDT($P(KMPRX,U,2))
|
---|
| 150 | .D SET^VALM10(LN," RUM Background Driver........ KMPR BACKGROUND DRIVER")
|
---|
| 151 | .S LN=LN+1
|
---|
| 152 | .D SET^VALM10(LN," QUEUED TO RUN AT............. "_$P(KMPRX,U,2))
|
---|
| 153 | .S LN=LN+1
|
---|
| 154 | .D SET^VALM10(LN," RESCHEDULING FREQUENCY....... "_$P(KMPRX,U,6))
|
---|
| 155 | .S LN=LN+1
|
---|
| 156 | .D SET^VALM10(LN," TASK ID...................... "_+KMPRX1)
|
---|
| 157 | .S LN=LN+1
|
---|
| 158 | .; user info.
|
---|
| 159 | .S KMPRX1=$G(^%ZTSK(+KMPRX1,0))
|
---|
| 160 | .S TEXT=" QUEUED BY.................... "_$P($G(^VA(200,+$P(KMPRX1,U,3),0)),U)
|
---|
| 161 | .; if user
|
---|
| 162 | .I (+$P(KMPRX1,U,3)) D
|
---|
| 163 | ..; user 'active' or 'terminated'
|
---|
| 164 | ..S KMPRX1=$$ACTIVE^XUSER(+$P(KMPRX1,U,3))
|
---|
| 165 | ..S TEXT=TEXT_" ("_$S($P(KMPRX1,U,2)["TERMINATED":"Terminated - "_$$FMTE^XLFDT($P(KMPRX1,U,3),2),1:"Active")_")"
|
---|
| 166 | .D SET^VALM10(LN,TEXT)
|
---|
| 167 | .S LN=LN+1
|
---|
| 168 | D SET^VALM10(LN,"")
|
---|
| 169 | S LN=LN+1
|
---|
| 170 | ;
|
---|
| 171 | Q
|
---|
| 172 | ;
|
---|
| 173 | ;
|
---|
| 174 | FILES ;-- file data
|
---|
| 175 | ;
|
---|
| 176 | N TEXT,X
|
---|
| 177 | ;
|
---|
| 178 | D SET^VALM10(LN,$J(" ",35)_" # of Oldest Recent")
|
---|
| 179 | S LN=LN+1
|
---|
| 180 | D SET^VALM10(LN," File"_$J(" ",28)_"Entries Date Date")
|
---|
| 181 | S LN=LN+1
|
---|
| 182 | D SET^VALM10(LN," ------------------------- ------- ------- -------")
|
---|
| 183 | S LN=LN+1
|
---|
| 184 | ; file name
|
---|
| 185 | S TEXT=" 8971.1-"_$P($G(^DIC(8971.1,0)),U)
|
---|
| 186 | ; number of entries
|
---|
| 187 | S TEXT=TEXT_$J(" ",35-$L(TEXT))_$J($FN($P($G(^KMPR(8971.1,0)),U,4),",",0),7)
|
---|
| 188 | ; oldest date
|
---|
| 189 | S X=$$FMTE^XLFDT(+$O(^KMPR(8971.1,"B",0)),2)
|
---|
| 190 | S X=$S(X=0:"---",1:X)
|
---|
| 191 | S TEXT=TEXT_$J(" ",45-$L(TEXT))_X
|
---|
| 192 | ; current date
|
---|
| 193 | S X=$$FMTE^XLFDT(+$O(^KMPR(8971.1,"B","A"),-1),2)
|
---|
| 194 | S X=$S(X=0:"---",1:X)
|
---|
| 195 | S TEXT=TEXT_$J(" ",55-$L(TEXT))_X
|
---|
| 196 | D SET^VALM10(LN,TEXT)
|
---|
| 197 | S LN=LN+1
|
---|
| 198 | ;
|
---|
| 199 | Q
|
---|
| 200 | ;
|
---|
| 201 | ROUCHK(KMPDPKG) ;--display routine version info
|
---|
| 202 | ;-----------------------------------------------------------------------
|
---|
| 203 | ; KMPDPKG... CM Package:
|
---|
| 204 | ; "D" - CM Tools
|
---|
| 205 | ; "R" - RUM
|
---|
| 206 | ; "S" - SAGG
|
---|
| 207 | ;-----------------------------------------------------------------------
|
---|
| 208 | ;
|
---|
| 209 | Q:$G(KMPDPKG)=""
|
---|
| 210 | Q:KMPDPKG'="D"&(KMPDPKG'="R")&(KMPDPKG'="S")
|
---|
| 211 | ;
|
---|
| 212 | N I,TEXT,X
|
---|
| 213 | ;
|
---|
| 214 | ; routine check
|
---|
| 215 | D VERPTCH^KMPDUTL1(KMPDPKG,.X)
|
---|
| 216 | D SET^VALM10(LN,"")
|
---|
| 217 | S LN=LN+1
|
---|
| 218 | D SET^VALM10(LN,"")
|
---|
| 219 | S LN=LN+1
|
---|
| 220 | S TEXT=" "_$S(KMPDPKG="D":"CM TOOLS",KMPDPKG="R":"RUM",1:"SAGG")_" routines"
|
---|
| 221 | S TEXT=TEXT_$$REPEAT^XLFSTR(".",31-$L(TEXT))_" "
|
---|
| 222 | I '$P($G(X(0)),U,3) D SET^VALM10(LN,TEXT_+X(0)_" Routines - No Problems") S LN=LN+1 Q
|
---|
| 223 | D SET^VALM10(LN,TEXT)
|
---|
| 224 | S LN=LN+1
|
---|
| 225 | D SET^VALM10(LN,$J(" ",20)_"Current Version"_$J(" ",20)_"Should be")
|
---|
| 226 | S LN=LN+1
|
---|
| 227 | S I=0 F S I=$O(X(I)) Q:I="" I $P(X(I),U) D
|
---|
| 228 | .S TEXT=" "_I
|
---|
| 229 | .S TEXT=TEXT_$J(" ",20-$L(TEXT))_$P(X(I),U,4)
|
---|
| 230 | .S:$P(X(I),U,5)]"" TEXT=TEXT_" - "_$P(X(I),U,5)
|
---|
| 231 | .S TEXT=TEXT_$J(" ",55-$L(TEXT))_$P(X(I),U,2)
|
---|
| 232 | .S:$P(X(I),U,3)]"" TEXT=TEXT_" - "_$P(X(I),U,3)
|
---|
| 233 | .D SET^VALM10(LN,TEXT)
|
---|
| 234 | .S LN=LN+1
|
---|
| 235 | ;
|
---|
| 236 | Q
|
---|