Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

TRACE-MANAGER Diagnoseinformation während des Systemlaufs sammeln

&pagelevel(2)&pagelevel

Der TRACE-MANAGER erfasst zentral alle dezentral realisierten Komponententraces. Unter „Trace“ (Ablaufverfolger) versteht man hier das Sammeln von Diagnoseinformationen während des Systemlaufs an vorab definierten diskreten Orten des Systems. Die Information besteht dabei aus aufeinander folgenden Einzelsätzen mit komponenten- oder systemspezifischem Inhalt, wie Systemzustandsvariable, Programmdaten, Parameterliste, Zeitstempel etc. Traces werden bei der Erstellung von Speicherabzügen ebenfalls sichergestellt und verbessern dadurch die Möglichkeiten der BS2000-Systemdiagnose im Rahmen der Dumpauswertung.

Die Traces können tasklokal oder systemglobal erstellt werden. Die Speicherbereiche zur Ablage der Information (Tracepuffer) liegen dementsprechend im Task- oder im Systemadressraum. Tasklokale Traces besitzen einen Tracepuffer und dazugehörige Verwaltungsdaten innerhalb einer jeden Task. Systemglobale Traces benötigen nur einen Puffer und einen Satz von Verwaltungsdaten für das gesamte System.
Der TRACE-MANAGER verwaltet die Tracepuffer nicht selbst, sondern hält nur Verweise auf diese in seinen Verwaltungstabellen. Daher müssen die Trace-Eigentümer Lage und Größe der Puffer dem TRACE-MANAGER mitteilen. Da bei Traces in der Regel sehr viele Informationen in sehr kurzer Zeit anfallen, werden die Tracepuffer zyklisch überschrieben. Die im Puffer enthaltenen Daten werden mit SLED oder CDUMP sichergestellt und mit DAMP ausgewertet.

Der TRACE-MANAGER unterstützt die Auswertung durch Bereitstellung der Trace-Dump-List (TDL), die Pufferdeskriptoren und einige Tracebeschreibungsdaten (Trace-ID und Adresse des nächsten bzw. des letzten Eintrags) enthält. Bei einem Speicherabzug mit SLED kann der TRACE-MANAGER diese Liste nicht erstellen, da das Betriebssystem nach dem Laden von SLED nicht mehr arbeitet. In diesem Fall übernimmt das Auswerteprogramm DAMP diese Aufgabe.

Bild 101: TRACE-MANAGER-Funktionen

Zur zentralen Verwaltung der Traces werden unter der Kontrolle des TRACE-MANAGER verschiedene Daten in Tabellen geführt. Diese Daten lassen sich in drei funktionell verschiedene Gruppen einteilen, die in verschiedenen Tabellen geführt werden. Die Verwaltungsdaten unterscheiden sich in

  • Adresslisten,

  • Betriebsdaten und

  • Beschreibungsdaten.

Wie diese Daten und Tabellen miteinander verkettet sind, zeigt Bild 102.

Zentrale Verwaltungstabellen sind die Adresslisten. Die Adressliste für systemglobale Traces ist in der zentralen BS2000-Tabelle XVT verankert, eine taskspezifische Adressliste für die tasklokalen Traces ist im TCB der jeweiligen Task verankert. Die Adressliste enthält pro Trace einen Satz fester Länge (8 Byte), bestehend aus Adresse des Betriebsdatenblocks sowie einigen Trace-Zustandsanzeigen. Der Adressliste ist ein Listenkopf (Header) vorangestellt, der neben tabellenbeschreibenden Daten auch die Adresse der TDL enthält.

Jeder definierte Trace erhält einen Eintrag in der TDL, in welchem u.a. die Adresse des Tracepuffers und der Name des Trace und Subsystems sowie die Version des Subsystems enthalten sind.

Bild 102: TRACE-MANAGER-Tabellen

Der Betriebsdatenblock enthält alle Daten, die benötigt werden, um möglichst effizient auf den Tracepuffer bzw. auf den nächsten freien Satz im Tracepuffer zugreifen zu können (Pufferdeskriptoren). Im Betriebsdatenblock ist für jede Task die Adresse des entsprechenden Beschreibungsdatenblocks hinterlegt, der an den Betriebsdatenblock gekettet ist. Dieser enthält alle Daten, die zur Verwaltung durch den TRACE-MANAGER sowie zur Aufbereitung der Tracepuffer benötigt werden, wie Beschreibung des Tracepuffer-Layouts, die Trace-ID usw.

Die systemglobalen Traceverwaltungstabellen werden während der Systemeinleitung eingerichtet. Dabei wird der TRACE-MANAGER aufgerufen und initialisiert dann alle für die Verwaltung von systemglobalen Traces erforderlichen Tabellen.
Es besteht die Möglichkeit, neue Traces nachträglich (nach Systemeinleitung) mit den entsprechenden Makros dynamisch zu definieren und zu initialisieren. Hierfür enthalten die Traceverwaltungstabellen Dummy-Einträge fester Länge, um neue Traces aufnehmen zu können ( dynamisch definiert).

Zum Einrichten der tasklokalen Verwaltungstabellen wird der TRACE-MANAGER vom Basissystem bei jeder Erzeugung einer neuen Task aufgerufen. Wird die Task beendet, wird der TRACE-MANAGER ebenfalls aufgerufen, um die tasklokalen Verwaltungstabellen freizugeben. Während eines System-RESTART werden die tasklokalen Verwaltungstabellen gelöscht und durch jene Tabellen ersetzt, die zum Checkpoint-Zeitpunkt gespeichert wurden.
Auch tasklokale Traces können nachträglich dynamisch definiert und initialisiert werden. Die systemglobale Trace-Adressliste verfügt hierzu über freie Einträge für die tasklokalen Traces. Der für die tasklokalen Traceverwaltungstabellen notwendige Speicherplatz wird während deren Installation initialisiert.

Neben der dynamischen Definition von Traces ist auch die dynamische Unterdrückung der Traces in der SHUTDOWN-Routine des Subsystems möglich.

Der TRACE-MANAGER benötigt für die Definition eines Traces Informationen, die er in den systemglobalen Verwaltungstabellen hinterlegt. Diese Informationen können dem TRACE-MANAGER statisch (Daten sind in den Trace-Tabellen als Code bereits vorhanden) oder dynamisch (mit Makro) übergeben werden.

Der TRACE-MANAGER wird über folgende Operator- oder Systemverwalterkommandos gesteuert. Die Kommandos sind im Handbuch „Kommandos“ [8] detailliert beschrieben.

Kommando

Beschreibung

SHOW-TRACE-STATUS

Informationen über System-Traces ausgeben

START-TRACE

Trace aktivieren

STOP-TRACE

Trace deaktivieren

Tabelle 22: Übersicht über die Kommandos für den TRACE-MANAGER