Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ tracex(5) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

do.lev2(1M)

snap(1M)

trxchk(1M)

trxeval(1M)

trxindx(1M)

trxiostat(1M)

trxlook(1M)

trxout(1M)

trxparm(1M)

trxpatch(1M)

trxproc(1M)

trxsetbuf(1M)

txc(1M)

entab(4)

tracex(5)                                                         tracex(5)

NAME
     tracex - Reliant UNIX Kernel-Tracer

BESCHREIBUNG
     tracex ist ein System von Programmen, mit dem es möglich ist, Abläufe
     im Betriebssystemkern aufzuzeichnen und zu analysieren.

     Da sehr viele Daten aufgezeichnet werden, eignet sich tracex in erster
     Linie für Kurzzeit-Messungen, etwa im Minutenbereich. Beschränkt man
     sich, falls möglich, auf die Messung von Einzeltransaktionen, so
     erleichtert dies die Analyse kritischer Abläufe erheblich.

     Die maximale Meßdauer beträgt 35 Minuten.

     Wenn tracex aktiviert ist, protokolliert der Betriebssystemkern u. a.
     den Zeitpunkt, wann bestimmte Meßpunkte durchlaufen werden (anders
     ausgedrückt, wann bestimmte Ereignisse eintreten). Diese Daten werden
     zunächst in einem Puffer zwischengespeichert. Wenn dieser Puffer zu
     einem bestimmten Grad gefüllt ist oder nach einer festgelegten Zeit,
     wird das Protokoll in eine binäre Protokolldatei rawtrace geschrieben.
     Diese Datei muß zunächst in eine ASCII-Datei asciitrace umgewandelt
     werden, die dann von unterschiedlichen Werkzeugen analysiert werden
     kann.

     Der Ablauf einer Messung gliedert sich in drei Phasen:

     I)   Installation/Konfigurierung von tracex

     II)  Durchführung der Messung; d. h. Erzeugen einer binären Protokoll-
          datei

     III) Auswertung der Messung; d. h. Erzeugen einer ASCII-Protokolldatei
          und Auswerten dieser Datei mit diversen Werkzeugen. Eine
          Standard-Auswertung ist mit Hilfe eines mitgelieferten Makefiles
          möglich.

     Der folgende Funktionsüberblick benutzt die Darstellungsweise:

                +------------+            +-------+
     Programm:  |¢ Programm ¢|    Datei:  | Datei |
                +------------+            +-------+

     Außerdem wird von den Konventionen ausgegangen, die bei der Bennenung
     von Dateien eingehalten werden müssen, wenn das mitgelieferte Makefile
     benutzt werden soll:

     "rawtrace" heißt mname.R, wobei mname eine beliebiege Zeichenkette zur
     Identifizierung der Messung ist. "asciitrace" heißt entsprechend
     mname.A.






Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

tracex(5)                                                         tracex(5)

   Installation

     Die Verbindung zwischen dem Benutzer und dem Betriebssystemkern wird
     über den Treiber trx hergestellt.

     Dieser Treiber muß zum Kern gelinkt und über die Gerätedatei /dev/trx
     (Major# 300, Minor# 0) ansprechbar sein. Dies ist standardmäßig der
     Fall.

     Alle tracex-Kommandos sind in dem Paket SItracex enthalten und können
     mit pkgadd installiert werden. Dabei wird auch der Benutzer "tracex"
     mit einer geeigneten Umgebung angelegt. Dieser Benutzer ist dannach in
     der Lage, die im folgenden beschriebenen Messungen durchzuführen und
     auszuwerten.

   Konfigurierung

     Die Größe des oben erwähnten Puffers, den der Betriebssystemkern zum
     Zwischenspeichern des Protokolls verwendet, ist einstellbar. Dies
     geschieht mit den Kommandos trxpatch(1M) bzw. trxsetbuf(1M).

   Durchführung einer Messung

     Zunächst sollte in einer entab-Datei festgelegt werden, welche Ereig-
     nisse von tracex protokolliert werden sollen. Im Standardfall werden
     alle bekannten Ereignisse protokolliert.

     Dann wird die Messung mit dem Kommando txc(1M) gestartet, d. h. es
     wird begonnen, die binäre Protokolldatei rawtrace zu füllen. In
     asciitraceps wird eine Liste der laufenden Prozesse erzeugt.

     +----------+                         +---------------+
     | /dev/trx |---+                +--->|   mname.Aps  |
     +----------+   |    +-------+   |    +---------------+
                    +--->|¢ txc ¢|---+
     +----------+   |    +-------+   |    +---------------+
     |  entab   |---+                +--->|    mname.R    |
     +----------+                         +---------------+
                                                  |
                                                  |    +----------+
                                                  +--->|¢ trxchk ¢|
                                                       +----------+

     Jetzt werden gegebenenfalls die zu untersuchenden (Test-)Programme
     gestartet.

     Um die Messung zu beenden, wird das Protokollieren durch Aufruf des
     Kommandos snap(1M) gestoppt. Es ist auch möglich, die Meßzeit bereits
     beim txc-Aufruf festzulegen.

     Mit Hilfe des Kommandos trxchk(1M) kann die binäre Protokolldatei raw-
     trace auf syntaktische Korrektheit überprüft werden.


Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

tracex(5)                                                         tracex(5)

   Auswertung einer Messung

     Zunächst muß die binäre Protokolldatei rawtrace mit dem Kommando
     trxout(1M) in eine ASCII-Datei asciitrace umgewandelt werden.
     rawtracetoe enthält eine Liste der aufgetretenen Fehler.

                                          +----------------+
                                     +--->|    mname.A     |
     +-----------+    +----------+   |    +----------------+
     |  mname.R  |--->|¢ trxout ¢|---+
     +-----------+    +----------+   |    +----------------+
                                     +--->|   mname.Rtoe  |
                                          +----------------+

     Auf die so entstandene ASCII-Protokolldatei kann nun mit unterschied-
     lichen Werkzeugen zugegriffen werden.

     a) trxlook

     Mit dem Kommando trxlook(1M) kann man lesbare Auszüge aus einer
     ASCII-Protokolldatei asciitrace erstellen. Nach welchen Kriterien
     diese Auszüge erstellt werden, wird mit Hilfe des Kommandos
     trxparm(1M) in einer Parameterdatei parmfile festgelegt. Mit dem Kom-
     mando trxindx(1M) läßt sich ein Index für asciitrace anlegen und so
     das Laufzeitverhalten erheblich verbessern.

     +------------+
     |¢ trxparm  ¢|
     +-----+------+
           |
           v
     +------------+
     |  parmfile  |---+
     +------------+   |    +---------------+
                      +--->|¢   trxlook   ¢|---> stdout
     +------------+   |    +---------------+
     |   mname.A  |---+            ^
     +-----+------+                |
           |                       |
           v                       |
     +------------+        +-------+-------+
     |¢ trxindx  ¢|------->|  mname.Aind  |
     +------------+        +---------------+

     b) trxeval

     Das Programm trxeval(1M) wertet die ASCII-Protokolldatei asciitrace
     logisch aus, d. h. es werden Summeninformationen z. B. zur Beurteilung
     der CPU- oder Peripherie-Auslastung usw. und andere Statistiken
     erstellt. trxeval erzeugt je nach angegebener Option bis zu sechs Aus-
     gabedateien:



Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

tracex(5)                                                         tracex(5)

     asciitraceout     ausführliches Ausgabeprotokoll

     asciitraceerr     Fehlermeldungen von trxeval

     asciitraceaus     nicht-formatiertes Ausgabeprotokoll

     asciitraceintv    Bedienzeit-Profil der Prozesse

     asciitracetrc     Wichtige, aus outdat übernommene Sätze

     asciitracesyserr  Fehlermeldungen von Systemaufrufen der Prozesse

     +--------------+                              +----------------+
     |  mname.Aps  |--+                     +---->|   mname.Aout  |
     +--------------+  |      +-----------+  |     +----------------+
                       +----->|¢ trxeval ¢|--+     +----------------+
      +-------------+  |      +-----+-----+  +---->|   mname.Aerr  |
      |   mname.A   |--+            |        |     +----------------+
      +-------------+               |        |     +----------------+
           +------------------+-----+        +---->|   mname.Aaus  |
           |                  |              |     +----------------+
           v                  v              |     +----------------+
     +----------------+  +---------------+   +---->| mname.Asyserr |
     |  mname.Aintv  |  |  mname.Atrc  |         +----------------+
     +-----+----------+  +---+-+---------+
           |                 | |     +-----------+
           +--------+--------+ +---->|¢ trxproc ¢|----> stdout
                    |                +-----------+
                    v
              +-----------+      +------------------+
              |¢ do.lev2 ¢|----->|  mname.Atrcex  |
              +-----+-----+      +------------------+
                    |
            +-------+------------+----------------------+
            |                    |                      |
            v                    v                      v
     +------------------+ +------------------+ +-------------------+
     |  mname.Aintvp  | |  mname.Aintvt  | |  mname.Aintvts  |
     +------------------+ +------------------+ +-------------------+

     Zwei weitere Programme werten die Ergebnisse von trxeval weiter aus:

     trxpoc(1M) ermittelt aus asciitracetrc die Hierarchie der zur Meßzeit
     laufenden Prozesse.

     do.lev2 erzeugt folgende Dateien:

     asciitraceintvp    intv-Daten, sortiert nach PID und Zeitraster

     asciitraceintvt    intv-Daten, sortiert nach Zeitraster und PID

     asciitraceintvts   intv-Daten, sortiert nach Zeitraster


Seite 4                      Reliant UNIX 5.44               Gedruckt 11/98

tracex(5)                                                         tracex(5)

     asciitracetrcex    trc-Daten (Ereignisse 16, 17, 18) im trxlook-
                          Format

     c) trxiostat

     Die Programmkombination trxsys | trxiostat erstellt für jede PID alle
     Zugriffe auf alle Dateien (Systemaufrufe), die von dieser PID ange-
     sprochen wurden.

     +-------------+     +-------------+     +-------------+
     |   mname.A   |---->|¢  trxsys   ¢|---->|¢ trxiostat ¢|----> stdout
     +-------------+     +-------------+     +-------------+

   Makefile

     Für die standardisierte Auswertung einer tracex-Messung wird ein Make-
     file zur Verfügung gestellt.

     Es umfaßt folgende Auswertungen:

     -  trxout

     -  trxindx

     -  trxeval

     -  do.lev2

     Die Anwendung des Makefiles erfordert als Eingabe eine binäre Proto-
     kolldatei in der Form mname.R im Verzeichnis /home/tracex/dat. Beim
     Aufruf von make wird nur der Teilname mname angegeben.

     Es wird empfohlen, vor der eigentlichen Auswertung bereits bestehende
     Auswertedateien zu löschen. Dies geschieht mit:

          make clean id=mname

     Die neue Auswertung wird gestartet mit:

          make all id=name

     Nach Ausführung des Makefiles stehen dem Benutzer folgende Ausgabeda-
     teien zur Verfügung:

     -  mname.A

     -  mname.Rtoe (Fehlerdatei)

     -  mname.Aind

     -  mname.Aaus



Seite 5                      Reliant UNIX 5.44               Gedruckt 11/98

tracex(5)                                                         tracex(5)

     -  mname.Aintv

     -  mname.Atrc

     -  mname.Aerr (Fehlerdatei)

     -  mname.Aintvp

     -  mname.Aintvt

     -  mname.Aintvts

     -  mname.Atrcex

HINWEISE
     Bei Multiprozessor-Anlagen funktioniert der von tracex benutzte
     Mikrosekunden-Timer erst nach etwa 3 Minuten nach dem Hochfahren des
     Systems.

     Eine ausführliche Anleitung, insbesondere eine Beschreibung sämtlicher
     tracex bekannter Meßpunkte (Ereignisse) sowie das Format der Dateien,
     ist der Datei /home/tracex/doc/trxman00 zu entnehmen.

SIEHE AUCH
     do.lev2(1M), snap(1M), trxchk(1M), trxeval(1M), trxindx(1M),
     trxiostat(1M), trxlook(1M), trxout(1M), trxparm(1M), trxpatch(1M),
     trxproc(1M), trxsetbuf(1M), txc(1M), entab(4).



























Seite 6                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026