Folgende Prozeduren dienen als Beispiel zur Automatisierung häufiger Abläufe beim Einsatz des SM2 im normalen Rechenzentrumsbetrieb. Sie befinden sich auch in der Bibliothek SYSLIB.SM2.<ver>.
Die erste Prozedur startet eine Kurzzeitmessung mit Ausgabe in eine eigene Datei. Dabei werden Messprogramme definiert und gestartet.
Die zweite Prozedur setzt voraus, dass die vorangegangene Messung eine gewisse Zeit (z.B. 1/2 Stunde) bereits gelaufen ist. Sie beendet die Messung und schließt die Messwertedatei.
Die dritte Prozedur bereitet die Auswertung des SM2R1 vor und aktualisiert die Stamm-Messwertedatei. Im Beispiel wird angenommen, dass diese Stamm-Messwertedatei eine Plattendatei sei. Für eine Banddatei muss der Ablauf modifiziert werden.
Eingabedateien | alte Stamm-Messwertedatei und die gerade geschlossene Messwertedatei |
Ausgabedatei | neue Stamm-Messwertedatei |
Die vierte Prozedur wertet die gerade geschlossene Messwertedatei aus.
Starten der Kurzzeitmessung (SM2.START.MEASUREMENT)
/SET-PROCEDURE-OPTIONS - / LOGGING-ALLOWED = *YES - / ,DATA-ESCAPE-CHAR = *STD / /BEG-PAR-DECL / DECL-PAR NAME = CYCLE (INIT-VAL ='300') / DECL-PAR NAME = SAMPLE (INIT-VAL ='500') / DECL-PAR NAME = SM2-FILE (INIT-VAL = 'SM2.OUTPUT') /END-PAR-DECL / /ASSIGN-SYSDTA TO-FILE=*SYSCMD / /&*==================================================== /&**** BEISPIEL 1 *** /&**** MESSUNG STARTEN UND *** /&**** DATEN IN EINE DATEI SCHREIBEN *** /&*==================================================== /IF (IS-CATALOGED-FILE(FILE = SM2-FILE)) / DELETE-FILE FILE-NAME = &SM2-FILE /END-IF / /CREATE-FILE FILE-NAME = &SM2-FILE, - / SUPPORT = PUBLIC-DISK ( - / SPACE = RELATIVE ( - / PRIMARY-ALLOCATION = 576, - / SECONDARY-ALLOCATION = 576)) / /ADD-FILE-LINK LINK-NAME = SMLINK, - / FILE-NAME = &SM2-FILE, - / ACCESS-METHOD = SAM, - / OPEN-MODE = OUTPUT / /START-SM2 REMARK ============================================================= REMARK **** IN ADMINISTRATIONSTEIL VERZWEIGEN **** REMARK ============================================================= CALL-ADMINISTRATION-PART // //REMARK ============================================================ //REMARK **** MESSPROGRAMM SYSTEM DEFINIEREN **** //REMARK **** ALLE PLATTEN UND BAENDER UEBERWACHEN **** //REMARK ============================================================ //SET-SYSTEM-PARAMETERS DEVICES = *SPECIFIED( - // DEVICE = (*TAPE,*DISK)) // //REMARK ============================================================ //REMARK **** MESSPROGRAMM TASK DEFINIEREN **** //REMARK ============================================================ //SET-TASK-PARAMETERS TASK-SELECTION = *SPECIFIED( - // TSN = (0VTG,0VTE), - // JOB-NAME = TEST), - // DEVICES = *SPECIFIED( - // DEVICE = (144D,144E)) // //REMARK ============================================================ //REMARK **** MESSPROGRAMM FILE DEFINIEREN **** //REMARK ============================================================ //ADD-FILE FILE-NAME = :4V07:$TSOS.TSOSCAT // //REMARK ============================================================ //REMARK **** MESSPROGRAMM BCAM-CONNECTION DEFINIEREN *** //REMARK ============================================================ //SET-BCAM-CONNECTION-PARAMETERS INWAIT-BUCKETS = *STD-LIMITS, - // REACT-BUCKETS = *STD-LIMITS, - // INPROC-BUCKETS = *STD-LIMITS, - // OUTPROC-BUCKETS = *STD-LIMITS // //ADD-BCAM-CONNECTION-SET - // SET-NAME = DIALOG, - // CONNECTION-SELECTION = *BY-NEA-NAME( - // CONNECTION-NAME = *SPECIFIED( - // LOCAL-APPLICATION = $DIALOG, - // PARTNER-APPLICATION = *ANY)), - // HOST-SELECTION = *ANY // //REMARK ============================================================ //REMARK **** MESSINTERVALL UND STICHPROBEN-INTERVALL ANGEBEN **** //REMARK **** SM2-DATEI EROEFFNEN **** //REMARK ============================================================ //MODIFY-MEASUREMENT-PERIODS OFFLINE-PERIOD = &CYCLE, - // SAMPLING-PERIOD = &SAMPLE // //OPEN-LOG-FILE FILE = *BY-LINK-NAME // //REMARK ============================================================ //REMARK **** MESSPROGRAMME STARTEN **** //REMARK ============================================================ //START-MEASUREMENT-PROGRAM TYPE = ( - // *SYSTEM,*TASK,*FILE,*BCAM-CONNECTION) // //REMARK ============================================================ //REMARK **** SM2-BENUTZER-PROGRAMM BEENDEN **** //REMARK **** DIE MESSUNG LAEUFT IM HINTERGRUND !!! **** //REMARK ============================================================ //END / /EXIT-PROCEDURE
Kurzzeitmessung beenden und alte Messung fortsetzen (SM2.STOP.MEASUREMENT)
Dabei wird davon ausgegangen, dass der SM2 mit der vorhergehenden Prozedur gestartet wurde.
/SET-PROCEDURE-OPTIONS - / LOGGING-ALLOWED = *YES - / ,DATA-ESCAPE-CHAR = *STD / /BEG-PAR-DECL / DECL-PAR NAME = FROM-FILE (INIT-VAL = 'SM2.OUTPUT') / DECL-PAR NAME = TO-FILE (INIT-VAL = 'SM2.CHANGE') /END-PAR-DECL / /ASSIGN-SYSDTA TO-FILE=*SYSCMD / /&*========================================================== /&**** BEISPIEL 2 *** /&**** MESSUNG BEEENDEN, *** /&**** DATEI SCHLIESSEN UND UMBENENNEN *** /&*========================================================== / /&*========================================================== /&**** ZIELDATEI LOESCHEN *** /&*========================================================== /IF (IS-CATALOGED-FILE(FILE = TO-FILE)) / DELETE-FILE FILE-NAME = &TO-FILE /END-IF / /START-SM2 REMARK ============================================================= REMARK **** IN ADMINISTRATIONSTEIL VERZWEIGEN UND **** REMARK **** ALLE AKTIVEN MESSPROGRAMME BEENDEN **** REMARK ============================================================= CALL-ADMINISTRATION-PART // //STOP-MEASUREMENT-PROGRAM TYPE = ( - // *SYSTEM,*TASK,*FILE,*BCAM-CONNECTION) // //REMARK ============================================================ //REMARK **** SM2-DATEI SCHLIESSEN **** //REMARK ============================================================ //CLOSE-LOG-FILE // //REMARK ============================================================ //REMARK **** DIE MESSPROGRAMM-DEFINITIONEN SIND **** //REMARK **** NOCH GUELTIG **** //REMARK ============================================================ // //REMARK ============================================================ //REMARK **** SM2-BENUTZER-PROGRAMM BEENDEN, UM DIE **** //REMARK **** GESCHLOSSENE DATEI UMZUBENENNEN **** //REMARK ============================================================ //END / /MODIFY-FILE-ATTRIBUTES FILE-NAME = &FROM-FILE, - / NEW-NAME = &TO-FILE, - / SUPPORT = PUBLIC-DISK (SPACE=RELEASE(100)) / /EXIT-PROCEDURE
SM2R1-Auswertung mit dem Dienstprogramm SM2U1 vorbereiten (SM2U1.PREPARE)
Stamm-Messwertedatei mit allen Sätzen außer denen für das Messprogramm TASK aktualisieren.
/SET-PROCEDURE-OPTIONS - / LOGGING-ALLOWED = *YES - / ,DATA-ESCAPE-CHAR = *STD / /BEG-PAR-DECL / DECL-PAR NAME = SM2U-IN (INIT-VAL = 'SM2.CHANGE') / DECL-PAR NAME = SM2U-TASK (INIT-VAL = 'SM2.SAM.TASK') / DECL-PAR NAME = SM2U-MASTER (INIT-VAL = 'SM2.MASTER') /END-PAR-DECL / /ASSIGN-SYSDTA TO-FILE=*SYSCMD / /&*========================================================== /&**** EINGABEDATEI ZUWEISEN *** /&*========================================================== /ADD-FILE-LINK LINK-NAME = SM2UI1, - / FILE-NAME = &SM2U-IN / /&*========================================================== /&**** AUSGABEDATEI (SM2-STAMMDATEI) ANLEGEN/ZUWEISEN *** /&*========================================================== /IF (NOT IS-CATALOGED-FILE(FILE = SM2U-MASTER)) / CREATE-FILE FILE-NAME = &SM2U-MASTER, - / SUPPORT = PUBLIC-DISK ( - / SPACE = RELATIVE ( - / PRIMARY-ALLOCATION = 20000, - / SECONDARY-ALLOCATION = 5000)) /END-IF /ADD-FILE-LINK LINK-NAME = SM2UO, - / FILE-NAME = &SM2U-MASTER / /&*========================================================== /&**** SM2U1 LADEN, SM2-STAMMDATEI AKTUALISIEREN *** /&**** UND ALLE SAETZE, AUSSER DENEN FUER DAS *** /&**** MESSPROGRAMM TASK KOPIEREN *** /&*========================================================== /START-SM2U1 //SELECT-MEASUREMENT-GROUPS - // SELECTION = *ALL( - // EXCEPT = *TASK-STATISTICS) //END / /&*========================================================== /&**** EINGABEDATEI ERNEUT ZUWEISEN *** /&*========================================================== /ADD-FILE-LINK LINK-NAME = SM2UI1, - / FILE-NAME = &SM2U-IN / /&*========================================================== /&**** AUSGABEDATEI FUER TASK-SAETZE ZUWEISEN *** /&*========================================================== /IF (IS-CATALOGED-FILE(FILE = SM2U-TASK)) / DELETE-FILE FILE-NAME = &SM2U-TASK /END-IF / /CREATE-FILE FILE-NAME = &SM2U-TASK, - / SUPPORT = PUBLIC-DISK ( - / SPACE = RELATIVE ( - / PRIMARY-ALLOCATION = 576, - / SECONDARY-ALLOCATION = 576)) / /ADD-FILE-LINK LINK-NAME = SM2UO, - / FILE-NAME = &SM2U-TASK / /&*========================================================== /&**** SM2U1 LADEN, SM2-DATEI FUER TASKAUSWERTUNG *** /&**** ERSTELLEN. *** /&*========================================================== /START-SM2U1 //SELECT-MEASUREMENT-GROUPS SELECTION = *TASK-STATISTICS //END / /EXIT-PROCEDURE
Auswertung mit dem SM2R1 (SM2R1.EVALUATION)
Mit dieser Prozedur kann man die gerade geschlossene SM2-Ausgabedatei auswerten.
/SET-PROCEDURE-OPTIONS - / LOGGING-ALLOWED = *YES - / ,DATA-ESCAPE-CHAR = *STD / /BEG-PAR-DECL / DECL-PAR NAME = SM2OUT (INIT-VAL = 'SM2.CHANGE') / DECL-PAR NAME = SM2R1OUT (INIT-VAL = 'SM2R1.OUT') / DECL-PAR NAME = SM2UTASK (INIT-VAL = 'SM2.SAM.TASK') / DECL-PAR NAME = SM2R1OTASK (INIT-VAL = 'SM2R1.OUT.TASK') /END-PAR-DECL / /MODIFY-TERMINAL-OPTIONS OVERFLOW-CONTROL = *NO-CONTROL /ASSIGN-SYSDTA TO-FILE = *SYSCMD / /IF (IS-CATALOGED-FILE(FILE = SM2R1OUT)) / DELETE-FILE FILE-NAME = &SM2R1OUT /END-IF / /&*========================================================== /&**** SM2R1 LADEN UND SM2-DATEI AUSWERTEN *** /&*========================================================== /START-SM2R1 MONITOR-FILE-NAME = &SM2OUT, - / LIST-FILE-NAME = &SM2R1OUT //PRINT-CONFIGURATION //SET-TITLE TEXT='*** STANDARD-STATISTIKEN ***' //PRINT-REPORTS REPORT-LIST = (*STD, *FILE) //PRINT-QUEUE-TRANSITION //END / /&*========================================================== /&**** SM2R1-AUSGABEDATEI AUSDRUCKEN *** /&*========================================================== /PRINT-DOCUMENT FROM-FILE = &SM2R1OUT, - / DELETE-AFTER-PRINT = *YES, - / DOCUMENT-FORMAT = *TEXT( - / LINE-SPACING = *BY-EBCDIC-CONTROL) / /&*========================================================== /&**** TASK-AUSWERTUNG *** /&*========================================================== /IF (IS-CATALOGED-FILE(FILE = SM2R1OTASK)) / DELETE-FILE FILE-NAME = &SM2R1OTASK /END-IF / /&*========================================================== /&**** SM2R1 LADEN UND SM2-DATEI *** /&**** (TASK-SAETZE) AUSWERTEN *** /&*========================================================== /START-SM2R1 MONITOR-FILE-NAME = &SM2UTASK, - / LIST-FILE-NAME = &SM2R1OTASK //SET-TITLE TEXT='*** TASKSTATISTIK ***' //PRINT-TASK-STATISTICS INFORMATION=*HIGH //END / /&*========================================================== /&**** SM2R1-AUSGABEDATEI AUSDRUCKEN *** /&*========================================================== /PRINT-DOCUMENT FROM-FILE = &SM2R1OTASK, - / DELETE-AFTER-PRINT = *YES, - / DOCUMENT-FORMAT = *TEXT( - / LINE-SPACING = *BY-EBCDIC-CONTROL) / /MODIFY-TERMINAL-OPTIONS OVERFLOW-CONTROL = *USER-ACKNOWLEDGE /EXIT-PROCEDURE