Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: KMPRUTL2

KMPRUTL2.m

Go to the documentation of this file.
  1. KMPRUTL2 ;SFISC/RAK - RUM Data for All Nodes (Graph) ;22 Oct 1998
  1. ;;1.0;CAPACITY MANAGEMENT - RUM;;Dec 09, 1998
  1. ;
  1. ELEMDATA(KMPRELMT,KMPRST,KMPREN,KMPRNODE,KMPRARRY,KMPRQIET) ;-- elements
  1. ; compile rum element stats.
  1. ;-----------------------------------------------------------------------
  1. ; KMPRELMT... Element. This represents the ^piece of where the
  1. ; element data is located in file 8971.1.
  1. ; Example: 5 would be piece 5 of node 1 - M COMMANDS (PT)
  1. ; or piece 5 of node 2 - M COMMANDS (NP)
  1. ; KMPRST..... Start date in internal fileman format.
  1. ; KMPREN..... End date in internal fileman format.
  1. ; KMPRNODE... Array (passed by reference) containing name of nodes to
  1. ; process in format: KMPRNODE("NODENAME")=""
  1. ; KMPRARRY... Array (passed by value) that will contain results of
  1. ; search in format:
  1. ; KMPRARRY(KMPRNODE,DATE)=element/per second
  1. ; where DATE will be in internal filemat format.
  1. ; KMPRQIET... Output date/dots during search.
  1. ; 0 - not quiet.
  1. ; 1 - quiet.
  1. ;-----------------------------------------------------------------------
  1. ;
  1. Q:'$G(KMPRELMT)
  1. Q:'$G(KMPRST)
  1. Q:'$G(KMPREN)
  1. Q:'$D(KMPRNODE)
  1. Q:$G(KMPRARRY)=""
  1. S KMPRQIET=+$G(KMPRQIET)
  1. ;
  1. K @KMPRARRY
  1. ;
  1. N DATE,DATA,DCOUNT,END,IEN,NODE,OCCURR,OPTION,START
  1. ;
  1. ; DATE.... Current date being processed.
  1. ; END..... Ending date.
  1. ; NODE.... Computer node.
  1. ; OCCURR.. # of Occurrences
  1. ; OPTION.. Option name.
  1. ; START... Starting date.
  1. ;
  1. S END=KMPREN,START=KMPRST
  1. S DATE=START-.1,OCCURR=0
  1. F S DATE=$O(^KMPR(8971.1,"B",DATE)) Q:'DATE!(DATE>END) D
  1. .I 'KMPRQIET W:$X>68 !?23 W $$FMTE^XLFDT(DATE,5),"."
  1. .S IEN=0
  1. .F S IEN=$O(^KMPR(8971.1,"B",DATE,IEN)) Q:'IEN D
  1. ..I 'KMPRQIET&('(IEN#1000)) W:$X>78 !?23 W "."
  1. ..Q:'$D(^KMPR(8971.1,IEN,0)) S DATA(0)=^(0),DATA(1)=$G(^(1)),DATA(2)=$G(^(2))
  1. ..S NODE=$P(DATA(0),U,3) Q:NODE=""
  1. ..Q:'$D(KMPRNODE(NODE))
  1. ..S @KMPRARRY@(NODE,DATE)=$G(@KMPRARRY@(NODE,DATE))+$P(DATA(1),U,+KMPRELMT)
  1. ..S @KMPRARRY@(NODE,DATE)=$G(@KMPRARRY@(NODE,DATE))+$P(DATA(2),U,+KMPRELMT)
  1. ..; count occurrences.
  1. ..S OCCURR=OCCURR+$P(DATA(1),U,8)+$P(DATA(2),U,8)
  1. ;
  1. ; calculate element per second or per occurrence.
  1. S NODE=""
  1. F S NODE=$O(@KMPRARRY@(NODE)) Q:NODE="" S DATE="" D
  1. .F S DATE=$O(@KMPRARRY@(NODE,DATE)) Q:'DATE D
  1. ..; elements 1 and 7 are per Occurrence.
  1. ..I KMPRELMT=1!(KMPRELMT=7) D
  1. ...S @KMPRARRY@(NODE,DATE)=$FN(@KMPRARRY@(NODE,DATE)/(OCCURR),"",2)
  1. ..; all other elements are per second.
  1. ..E S @KMPRARRY@(NODE,DATE)=$FN(@KMPRARRY@(NODE,DATE)/(24*3600),"",2)
  1. ;
  1. Q
  1. ;
  1. PKGDATA(KMPRPKG,KMPRSTR,KMPREND,KMPRARRY,KMPRQIET) ;-- package data.
  1. ;-----------------------------------------------------------------------
  1. ; KMPRPKG... Package name (case sensitive, free text).
  1. ; KMPRSTR... Start date in internal fileman format.
  1. ; KMPREND... End date in internal fileman format.
  1. ; KMPRARRY.. Array to hold data (by value).
  1. ; KMPRQIET.. Output date/dots during search.
  1. ; 0 - not quiet.
  1. ; 1 - quiet.
  1. ;-----------------------------------------------------------------------
  1. ;
  1. Q:$G(KMPRPKG)=""!($G(KMPRPKG)="^")
  1. Q:'$G(KMPRSTR)
  1. Q:'$G(KMPREND)
  1. Q:$G(KMPRARRY)=""
  1. S KMPRQIET=+$G(KMPRQIET)
  1. ;
  1. N DATE,DESIG,HL7,I,IEN,NODE,OPTION,PROTOCOL,RPC,TOTALS,TYP
  1. ;
  1. S DATE=KMPRSTR-.1
  1. F S DATE=$O(^KMPR(8971.1,"B",DATE)) Q:'DATE!(DATE>KMPREND) S IEN=0 D
  1. .I 'KMPRQIET W:$X>68 !?23 W $$FMTE^XLFDT(DATE,5),"."
  1. .F S IEN=$O(^KMPR(8971.1,"B",DATE,IEN)) Q:'IEN D
  1. ..I 'KMPRQIET&('(IEN#1000)) W:$X>78 !?23 W "."
  1. ..Q:'$D(^KMPR(8971.1,IEN,0)) S DATA(0)=^(0),DATA(1)=$G(^(1)),DATA(2)=$G(^(2))
  1. ..S NODE=$P(DATA(0),U,3) S:NODE="" NODE="N/A"
  1. ..S OPTION=$P(DATA(0),U,4) S:OPTION="" OPTION="N/A"
  1. ..S PROTOCOL=$P(DATA(0),U,5)
  1. ..S RPC=$P(DATA(0),U,7)
  1. ..S HL7=$P(DATA(0),U,9)
  1. ..; rum designation: 1 - TASKMAN
  1. ..; 2 - USER
  1. ..; 3 - BROKER
  1. ..; 4 - HL7
  1. ..; 5 OTHER
  1. ..S DESIG=$P(DATA(0),U,8)
  1. ..;
  1. ..; TYP: KMPRPKG. options within namespace
  1. ..; HL7..... hl7 within namespace.
  1. ..; RPC..... rpc within namespace
  1. ..; PRTCL... protocol within namespace
  1. ..; TASK.... tasked option within namespace
  1. ..; OTH..... all other options/protocols
  1. ..;
  1. ..S TYP="OTH"
  1. ..; if option is in namespace.
  1. ..I $E(OPTION,1,$L(KMPRPKG))=KMPRPKG S TYP=KMPRPKG
  1. ..; if option in namespace and protocol was called.
  1. ..I TYP=KMPRPKG I PROTOCOL]"" S TYP="PRTCL"
  1. ..; if option in namespace and tasked.
  1. ..I TYP=KMPRPKG&(DESIG=1)&($E(OPTION,1,$L(KMPRPKG))=KMPRPKG) S TYP="TASK"
  1. ..; if broker and in namespace.
  1. ..I DESIG=3&($E(RPC,1,$L(KMPRPKG))=KMPRPKG) S TYP="RPC"
  1. ..; if hl7 and in namespace.
  1. ..I DESIG=4&($E(HL7,1,$L(KMPRPKG))=KMPRPKG) S TYP="HL7"
  1. ..; get current totals (if any).
  1. ..S TOTALS=$G(@KMPRARRY@(NODE,TYP))
  1. ..; add prime time and non-prime time totals
  1. ..F I=1:1:8 D
  1. ...S $P(@KMPRARRY@(NODE,TYP),U,I)=$P($G(@KMPRARRY@(NODE,TYP)),U,I)+$P(DATA(1),U,I)
  1. ...S $P(@KMPRARRY@(NODE,TYP),U,I)=$P($G(@KMPRARRY@(NODE,TYP)),U,I)+$P(DATA(2),U,I)
  1. ...S $P(@KMPRARRY@(NODE,"TOTALS"),U,I)=$P($G(@KMPRARRY@(NODE,"TOTALS")),U,I)+$P(DATA(1),U,I)
  1. ...S $P(@KMPRARRY@(NODE,"TOTALS"),U,I)=$P($G(@KMPRARRY@(NODE,"TOTALS")),U,I)+$P(DATA(2),U,I)
  1. ;
  1. Q