Lade...
 

Auswertung Log Datei

Auswertung Log Datei

Beschreibung

Mit diesem Modul werden verschiedene Auswertungen zu Log-Dateien erstellt und entsprechend angezeigt. Die Dateien werden nach Sitzungen (Sessions) ausgelesen (Start von ClassiX® bis Ende bzw. Absturz). Die restlichen Einträge der Log Datei werden somit den erstellten Sitzungen zugeordnet. Werden zusätzlich noch dbProf Dateien eingelesen, so werden diese Einträge anhand der OS Client ID den Sitzungen zugeordnet, wenn möglich. Per Option kann gesetzt werden, ob vor jedem Einlesen die bisherigen Sitzungen zurückgesetzt werden sollen oder nicht. Wenn diese Option nicht gesetzt ist, können leicht viele Tage hintereinander eingelesen werden.

Es können entweder mehrere selektierte Dateien, ganze Ordner eingelesen werden (Unterordner werden automatisch berücksichtigt) oder eine Zeitspanne angegeben werden, in der alle Log-Dateien automatisch gesucht und geladen werden. Das Angeben einer Zeitspanne eignet sich am besten in MorphIT, da der MorphIT-Benutzer sich nicht um den Speicherort der Log-Dateien kümmern muss und darum, ob sie sich auf demselben Rechner befinden, zumal in diesem Fall keine Dateien hochgeladen werden müssen. Das automatische Auslesen von Logdateien je nach Zeitspanne setzt voraus, dass die Logdateien in einer zeitlichen Unterordnerstruktur abgespeichert sind, d.h. die folgende Option muss in logging.ini aktiviert sein.

log4cplus.OrganizeLogsByDate=true

Das Auswählen einzelner Dateien erlaubt es außerdem, Dateien für Sitzung aus verschiedenen Zeitspannen und Punkten nebeneinander zu betrachten.

Neben den Sitzungen und Benutzeranmeldungen werden bestimmte Vorkommnisse wie Deadlocks, Timeouts, Abstürze, etc. zusätzlich in Monitore sitzungsübergreifend zusammengefasst. Nach dem Einlesen werden alle Sitzungen in der Sitzungsliste mit den wichtigsten Daten dargestellt. Eine Sitzung wird per Doppelklick geöffnet und man sieht somit, was passiert ist. 

In der Lasche Statistiken lassen sich flexibel grafische Auswertungen erstellen. Die Monitore können beliebig den Diagrammen zugeordnet werden. Es gibt maximal 3 Diagramme, wobei immer nur ein Monitor einem Diagramm zugeordnet werden kann. Man kann die Monitore per Drag&Drop in die Diagramm-Bereiche ziehen oder einen Monitor auswählen und dann auf den entsprechenden Button "Monitor hinzufügen" klicken. Bei dbProf Statistiken kann nach einem Doppelklick die gewünschte Auswertung ausgewählt werden.

Im Optionsbereich X-Achse kann man die Auswertungsvariante auswählen, wodurch die Transkationen je nach Uhrzeit oder Datum ausgewerten werden. Bei einer Auswertung über die Uhrzeit werden alle Transaktionen gemäß ihrer Uhrzeit zusammengefasst, sodass man beispielsweise sehen kann, welche Ereignisse zu welcher Uhrzeit des Tages sich ereignet haben. In diesem Fall ist es sinnvoll, dass man nur Sitzungen von einem einzigen Tag lädt bzw. auswählt. Die Uhrzeitspanne und die Periodenlänge der Auswertung kann man im Bereich Optionen festlegen. Die Periodenlänge bestimmt selbsterklärend die Genauigkeit der Statistiken. Für minutengenaue Statistiken sollte man eine Periodenlänge von 1 min auswählen, was jedoch zu umfangreichen Graphen führen könnte. Möchte man hingegen eine zusammenfassende Auswertung über mehrere Tage vornehmen, sollte man die Option über das Datum auswählen. Dabei werden alle Transaktionen eines bestimmten Monitors je in Tage zusammengefasst und graphisch dargestellt. Dabei könnte man auch unter Optionen die Tageszeit auswählen, außerhalb derer die Transaktionen nicht in Betracht gezogen werden. Der Monitor Benutzer hat die Besonderheit, dass er neben der normalen Auswertung der Anmeldung auch die maximale Anzahl der gleichzeitigen Benutzung von ClassiX an einem Tag graphisch darstellt.

Es können entweder "Alle Sitzungen" oder "Nur selektierte Sitzungen" als Option gesetzt werden. Bei der Option "Alle Sitzungen" werden alle geladenen Sitzungen für die Auswertung benutzt, ansonsten nur die in der Sitzungsliste selektierten Sitzungen. Die Option "Alle Sitzungen" kann genutzt werden um nur dbProf Dateien verschiedener Tage einzulesen und zu vergleichen. Somit ist es nicht nötig von jedem Tag alle Dateien einzulesen.

Für beliebig viele Monitore können die Transaktionen innerhalb einer Zeitspanne betrachtet werden. Somit lässt sich eventuell innerhalb eine begrenzten Zeitraums leichter nachvollziehen welche Vorkommnisse voneinander abhängig sind.

In der Lasche Blockaden/ Abstürze/ Locks werden die für die selektierten Sessions vorhin erwähnte Transaktionen angezeigt. Die Locking Konflikte können in einer Zusammenfassung nach "Locked By" (Wer sperrt die anderen?) und Segment betrachtet werden.

Rote Zeilen in einer Liste oder auch ListView Fatals genannt (Abstürze innerhalb einer ListView), werden in selbiger Lasche zusammengefasst angezeigt.

RO sowie RW Langläufer Transaktionen werden nach der Stelle zusammengefasst und in der Lasche Langläufer TXNs angezeigt. Weiter ist darin die Durchschnittsdauer sowie die durchschnittliche Anzahl gelesener Pages ausgegeben.

IV Fehler werden in einer eigenen Lasche zusammengefasst dargestellt.

 

Auswertung: Performance

Folgende Möglichkeiten stehen für die Auswertung der Performance und dem Ermitteln der Ursachen einer guten/schlechten Performance zu Verfügung:

  • Ermittlung der Kennziffern für die Performance eines Tages (Zusammenfassung)

    Hierfür genügt es die Server Log Datei (cxdbprof) einzulesen. Der nächste Schritt ist das Droppen des cxdbprof-Monitors in die Felder "chart1" bis "chart3". Per Oboxedit kann nun aus einer Tabelle die Kennziffer, die es auszuwerten gilt, ausgewählt werden. Vor dem Starten der Auswertung ist die Option "Zusammenfassung" auszuwählen

    Folgende Kennziffern sind am aussagekräftigsten:
    - Wartezeit per Traffic
    - Wartezeit je Commit
    - Gesamtwartezeit (Total lock wait time)
    - Traffic
    - Commits
     
  • Ermittlung der Kennziffern der Performance im Tagensverlauf (Tagesauswertung)

    Es wird für eine Zeitspann (Uhrzeitangabe) kontrolliert, wie sie die Performance entwickelt hat. Durch diese Auswertung kann beispielsweise ermittelt werden, wann es verstärkt zu Blockaden und daraus resultierend längeren Wartezeiten gekommen ist. Dies ist der erste Schritt um sehen zu können, was die Ursache hierfür ist, da man nun weiß auf welche Intervalle man sich bei der Ursachensuche konzentrieren muss.
     
  • Analyse des Systemverhaltens in einer bestimmten Periode

    Wurden die Logfiles komplett eingelesen, so können in der Gruppe "Transaktionen innerhalb einer Zeitspanne" die Monitore ausgewählt werden, deren Transaktionen betrachtet werden sollen. In der Regel sind dies alle außer dem Monitor "dbprof Statistiken". Nun kann man für eine Zeitspanne genau kontrollieren, was vorgefallen ist.

Worauf sollte bei der Auswertung der Logfiles geachtet werden, bzw. was sind Hinweise für optimierbaren Code?

1.       Auswerten der Blockaden

2.       Blockaden-Netze darstellen:
 logfistx01.jpg

3.       Prüfen, ob in der rechten Liste als oberste Einträge Zeilen stehen, die in der Spalte „Anzahl“ einen Wert höher als 50 stehen haben, bzw. sehr viele mit hohen Anzahlen (also z.B. die ersten 15 Einträge mehr als 20 Blockaden in der Spalte Anzahl):
logfistx02.jpg

4.       Langläufer TXN begutachten:
Wenn Langläufer, die als Blockadeauslöser gekennzeichnet wurden (zweite Spalte)  mit mehr als zwei Minuten in der Liste auftauchen:
logfistx03.jpg

5.       Statistik:
Wenn mehr als 600 Blockaden aufgetreten sind:
logfistx04.jpg

 

Übersicht Kennzahlen: Performance

Kennzahl Beschreibung Bestimmung
Max KB read / 5sek. In 5 Sekundenintervallen protokolliert cxdbprof wie viel Kilobyte ein Client gelesen/geschrieben hat. Von diesen Werten werden die besten 1% herausgesucht und dessen Durchschnitt entspricht dieser Kennzahl. Vorraussetzung ist, dass das cxdbprof Logfile eingelesen wird. Anschließend muss der
Max KB write / 5sek.

 

Auswertung: Systemabstürze

Für die Auswertung der Systemabstürze müssen die Log-Files der Clients geladen werden, die des Servers (cxdbprof.log) kann ignoriert werden. Über einen Doppelklick auf den Monitor "Abstürze" in der Liste der Monitore werden alle Abstürze angezeigt. In der Liste wird jeder Absturz durch drei Spalten beschrieben. (Fehlermeldung des Absturzes, ist zuvor ein Deadlock aufgetreten, Ausgabe des C++ Stacks)

Um eine Tendenz der Anzahl der Abstürze zu erfassen oder die Zu-/Abnahme von Fehlern durch ein Diff zu bestimmen ist es wichtig Kennzahlen zu erfassen. Dies Ausgabe der Kennzahlen erfolgt über den entsprechenden Button. Durch ein tägliches Übertragen der Kennzahlen nach Excel ist es möglich, Aussagen über den Verlauf treffen zu können.

Folgende Kennzahlen stehen zur Verfügung:

  • Anzahl Abstürze (Systemabstürze)
  • Anzahl Abstürze mit zuvor aufgetretenem Deadlock
  • Anzahl Abstürze mit ausgegebener Fehlermeldung
  • Anzahl Abstürze ohne ausgegebene Fehlermeldung aber mit dem zur Fehlermeldung gehörenden C++ - Stack
  • Anzahl Abstürze ohne ausgegebene Fehlermeldung und ohne den zur Fehlermeldung gehörenden C++ - Stack
    (Der Wahrheitswert dieses Kennzahl ist nicht sehr hoch, da unerwartet beendete LogFiles hier ebenfalls erfasst werden.)

Funktionalität

Listenfenster

Um eine Auswertung vorzunehmen müssen erst beliebig viele Log-Dateien ausgewählt werden. Die Log-Dateien werden zuerst nach Sitzungen (Sessions) ausgewertet. Eine Sitzung bezeichnet die Dauer vom Start von ClassiX® bis zum Beenden bzw. Systemabsturz. Wird während einer Sitzung eine weitere ClassiX® Instanz gestartet so wird in der aktuellen Sitzung ein Zähler erhöht. Falls die Option "Bei jedem Einlesen von Log Dateien Sessions zurücksetzen" nicht gesetzt ist, so können Log Dateien hintereinander eingelesen werden ohne, dass die bisher eingelesenen Sitzungen verloren gehen.

Falls eine Datei endet, bevor eine Session beendet ist, wird zum Zeitpunkt des letzten Events als Session-Endzeitpunkt gesetzt.
Beginnt eine Log Datei nicht mit dem Start von ClassiX®, so wird eine Session erstellt, die den Startzeitpunkt des ersten Events der Datei übernimmt.

Falls beim Einlesen Fehler auftreten, so können diese nachher im Fenster Fehler beim Einlesen eingesehen werden.

Spalten der Session Liste:

KW Zeigt die Kalenderwoche an
Start Datum Datum, welches den Anfang einer Session kennzeichnet
Start Zeit Uhrzeit, welche den Anfang einer Session kennzeichnet
End Datum Datum, welches das Ende einer Session kennzeichnet
End Zeit Uhrzeit, welche das Ende einer Session kennzeichnet
Client Der Client ist entweder der angemeldete Windowsbenutzer oder der Computername
OS Client eindeutige Client Nummer, die von Object Store vergeben wird
Parallel Sessions Anzahl der Sessions, die während einer laufenden Session gestartet und wieder beendet wurden
Abstürze Anzahl Abstürze in der Session
ListView Fatals Anzahl ListView Fatals in der Session
Deadlocks Anzahl Deadlocks in der Session
Timeouts Anzahl Timeouts in der Session
RW Transaktionen Anzahl RW Transaktionen über 30 Sekunden Session
RO Transaktionen Anzahl RO Transaktionen über 30 Sekunden Session
Locks Anzahl Locking Konflikte in der Session
Fehler Anzahl IV Fehler in der Session
Datei Dateiname, welcher Herkunft der Session ist

Per Doppelklick auf eine Session öffnet sich das Session Fenster. Die Auswertungen für die Listen, Blockaden/Abstürze/Locks, ListView Fatals, Langläufer TXNs und IV Fehler werden immer sofort für die im Moment ausgewählten Sessions erstellt und angezeigt.

Menü
Menüpunkt Beschreibung
Bearbeiten -
: Datei -
:: Log Datei auswählen Öffnet Dialogfenster, um Log Dateien auszuwählen, die ausgelesen werden sollen.
:: Ordner auswählen Öffnet Dialogfenster, um einen Ordner auszuwählen, deren Log-Dateien ausgelesen werden sollen.
: Zeitspanne auswählen Öffnet Dialogfenster, um eine Zeitspanne anzugeben, aus der Log-Dateien gelesen werden sollen.
: Kennzahlen Performanz ermitteln  
: Kennzahlen Performanz für mehrere Tag ermitteln  
: Blockaden-Netze darstellen  
: Schließen Fenster schließen
Optionen Öffnet Optionsfenster

 

Toolbar
Symbol Beschreibung
Zeitspanne auswählen Öffnet Dialogfenster, um eine Zeitspanne anzugeben, aus der Log-Dateien gelesen werden sollen.
open.png Öffnet Dialogfenster, um Log Dateien auszuwählen, die ausgelesen werden sollen.
copytoclipboard.png Kopiert die Objekte in der aktiven Lasche in die Zwischenablage
list_clear.png Setzt die Auswertung und sämtliche Listen zurück

 

Felder
Feld Beschreibung
Client Es kann nach einem Client gesucht werden, dessen Sessions in der Liste selektiert werden.
OS Client Um nach einer OS Client ID zu suchen. Die gefundenen Sessions werden in der Liste selektiert.

 

Knöpfe
Knopf Beschreibung
copytoclipboard.png Kopiert die Objekte der Session Liste in die Zwischenablage
Alle Alle Objekte in der Session Liste werden selektiert
Keine Alle Objekte in der Session Liste werden deselektiert
Schließen Das Fenster wird geschlossen.

 

Hauptinformationen
Feld Beschreibung
Monitore Liste zeigt die verschiedenen Monitore an sowie die Anzahl der enthaltenen Transaktionen. Durch einen Doppelklick auf einen Monitor werden dessen Transaktionen im Fenster Enthaltene Transaktionen angezeigt.

Es gibt folgende Monitore:

Sitzungen Liste alle Sitzungen
Benutzer Liste aller Sitzungen mit Benutzeranmeldung
Deadlocks  
Timeouts Timeout Exceptions
Abstürze Anzahl Systemabstürze
RW Transaktionen RW Transaktionen, die über 30 sec dauern
RO Transaktionen RO Transaktionen, die über 30 sec dauern
Lockingkonflikte Anzahl Lockingkonflikte (werden aus dbProf Dateien ausgelesen)
IV Fehler InstantView-Fehler
dbProf Statistiken Die dbProf Statistiken enthalten folgende Werte und Zusammenfassungen. Für eine Beschreibung der einzelnen Werte bitte die dbProf Dokumentation berücksichtigen.
Wartezeit sec per Traffic MB Entspricht der Total lock wait time dividiert durch den gesamten Traffic. Dies stellt eine aussagekräftige Kennzahl für die Geschwindigkeit des Systems dar, weil sowohl die Wartezeit als auch die Systemauslastung in Form des Traffics benutzt werden.
Wartezeit sec pro Lock Entspricht der Durchschnittlichen Wartezeit bis man einen Lock auf eine Page bekommt.
Wartezeit sec per Commits n Entspricht Total lock wait time dividiert durch Anzahl der Commits. Stellt auch eine Kennzahl zur Messung der Systemgeschwindigkeit dar.
KB read  
KB written  
Commits n  
Readonly commits n  
Aborts n  
Lock timeouts n  
Lock waits n  
Deadlocks n  
Total lock wait time sec  
Gesamtzahl Transaktionen Summe von Commits, Readonly commits und Aborts
Gesamt Traffic MB Summe von KB read und KB written
Gesamt Locks n Summe von Lock waits und Lock timeouts
: Graphische Darstellung -
:: X-Achse -
::: Über das Datum Die Transaktionen in den selektierten Monitoren werden nach Datum aufgeteilt und für jeden Tag der Gesamtwert ermittelt. In den meisten Fällen stellt dies die Gesamtanzahl dar, außer bei den dbProf Statistiken. Siehe Beschreibung in der Einleitung.
::: Über die Uhrzeit Die Transaktionen in den selektierten Monitoren werden nach Uhrzeit aufgeteilt und für jede Zeitperiode der Gesamtwert ermittelt. Mehr findet man in der Einleitung.
:: Monitore für Diagramm 1 Um eine Auswertung zu erstellen, kann ein beliebiger Monitor in eine der Chart Listen per Drag&Drop eingefügt oder mit dem Button Monitor hinzufügen selektiert werden. Es ist immer nur ein Monitor pro Chart möglich. Das Chart Fenster zeigt variabel entweder 1, 2 oder 3 Diagramme an, je nachdem wie viele Monitore eingefügt wurden. Der Monitor "dbProf Statistiken" wird per Doppelklick in der Liste eines Charts bearbeitet um auszuwählen, welche Auswertung angezeigt werden soll. Mit der "Entf" Taste werden Monitore wieder aus der Liste entfernt.
:: Monitore für Diagramm 2
:: Monitore für Diagramm 3
:: Optionen -
::: Alle Sitzungen Ist die Option "Alle" ausgewählt so werden alle in den Monitoren enthaltenen Transaktionen für die gewünschte Auswertung benutzt. Bei Selektierte Sessions werden nur die in den selektierten Sessions enthaltenen Transaktionen der ausgewählten Monitore für die Auswertung benutzt.
::: Nur selektierte Sitzungen
::: Intervall (nur bei Über die Uhrzeit) Der Intervall gibt an in welchem Zeitraum die Diagramme dargestellt werden. Der Zeitraum ist frei innerhalb eines Tages zu wählen.
::: Periode (nur bei Über die Uhrzeit) Die Periode bestimmt die Dauer der Berechnungszeiträume. z.B.: 10.00 - 10.05 bei einer Periode von 5 min. Die Periode ist frei wählbar.
::: Zeitspanne (nur  bei Über das Datum) Gibt an für welchem Zeitraum an jedem Tag die Transaktionen berücksichtigt werden sollen. Somit können auch Tage verglichen werden bei denen gewissen Zeitabschnitte fehlen.
Transaktionen innerhalb einer Zeitspanne Zeigt die in den eingefügten Monitoren und selektierten Sessions, enthaltenen Transaktionen innerhalb eines Zeitraumes im Fenster Enthaltene Transaktionen  an. Mit der "Entf" Taste werden Monitore wieder aus der Liste entfernt.
: Optionen -
:: Zeitspanne Entspricht der Zeitspanne in welcher die Transaktionen angezeigt werden sollen.

 

Knöpfe
Knopf Beschreibung
CX_STATISTICS.png Zeigt die graphischen Diagramme gemäß der Einstellung an.
CX_AMOUNT_calculation.png Die Transaktionen innerhalb einer Zeitspanne werden angezeigt.

 

ListView Fatals

In dieser Liste werden die ListView Fatals (Harte Abstürze innerhalb einer ListView - Rote Zeilen) für die selektierten Sessions angezeigt.
Sollten diese öfter an einer Stelle auftreten, so werden diese zusammengefasst dargestellt. Durch einen
Doppelklick auf einen Listeneintrag werden die enthaltenen Transaktionen im Fenster Enthaltene Transaktionen dargestellt.

Blockaden/Abstürze/Locks

Die Blockaden lassen sich in einer verketteten Baumansicht anzeigen.
Feld Beschreibung
  Die Liste zeigt die Abstürze, Deadlocks, Timeouts und Locking Konflikte der selektierten Sessions an. Per Doppelklick wird die zur Transaktion gehörige Session im Fenster Session angezeigt.
Abstürze anzeigen Je nachdem wie die Checkbox gesetzt ist werden Abstürze in der Liste angezeigt oder nicht.
Deadlocks anzeigen Je nachdem wie die Checkbox gesetzt ist werden Deadlocks in der Liste angezeigt oder nicht.
Timeouts anzeigen Je nachdem wie die Checkbox gesetzt ist werden Timeouts in der Liste angezeigt oder nicht.
Lock Konflikte anzeigen Je nachdem wie die Checkbox gesetzt ist werden Lock Konflikte in der Liste angezeigt oder nicht.

Die Spalten: Client, OS ID, Locked by, OS ID und Segment zeigen weitere Informationen speziell für den Lock Konflikt.

Anzahl Abstürze Anzahl der in der Liste angezeigten Abstürze
Anzahl Timeouts Anzahl der in der Liste angezeigten Timeouts
Anzahl Deadlocks Anzahl der in der Liste angezeigten Deadlocks
Anzahl Locks Anzahl der in der Liste angezeigten Locks

 

Knöpfe
Knopf Beschreibung
CX_AMOUNT_calculation.png Öffnet das Fenster Locking Zusammenfassung für die in der Liste enthaltenen Locks, um einen besseren Überblick zu geben.

 

Langläufer TXNs
Feld Beschreibung
  In dieser Lasche werden in der Liste zusammengefasst die Langläufer Transaktionen angezeigt. Dies sind alle Transaktionen über 30 Sekunden. Diese Transaktionen werden zusammengefasst, wenn sie an der selben Stelle im Code auftreten. Die Gesamtzeit sowie die Anzahl der Pages wird addiert und die Durchschnittszeit wird aus der Gesamtzeit und der Anzahl gebildet. Es wird zwischen R/W - Lese/ Schreib Transaktion und R/O - Reine Lese Transaktion unterschieden. Die Auswertung erfolgt immer für die selektierten Sessions. Durch einen Doppelklick auf einen Listeneintrag werden die enthaltenen Transaktionen im Fenster Enthaltene Transaktionen dargestellt.

Spalten in der Liste

Typ RW oder RO
Statement IV (oder internes) Statement, an welchem die Transaktion auftrat
Module Modul, in welchem das Statement enthalten ist.
Started at Statement Gibt das Statement an, bei welchem die Transaktion anfing.
Module Modul, in welchem das Started at Statement enthalten ist.
Anzahl Anzahl, wie oft dieser Langläufer an der selben Stelle auftrat
Gesamtzeit Gesamtzeit der zusammengefassten Transaktionen
Pages ges. Gesamtanzahl der gelesenen Pages für die zusammengefassten Transaktionen
Durchschnittszeit Durchschnittszeit einer Transaktion (Gesamtzeit dividiert durch Anzahl)
Pages durchschnitt Anzahl Pages, die durchschnittlich von einer Transaktion gelesen wurden (Pages ges. dividiert durch Anzahl)
Lese TXNs anzeigen Je nachdem, wie die Checkbox gesetzt ist, werden die Lese TXNs in der Liste angezeigt oder nicht.
Lese/Schreib TXNs anzeigen Je nachdem, wie die Checkbox gesetzt ist, werden die Lese/Schreib TXNs in der Liste angezeigt oder nicht.
Anzahl RWs Gesamtanzahl der in der Liste angezeigten RW TXNs
Gesamtdauer RWs Gesamtdauer aller in der Liste angezeigten RW TXNs
Anzahl ROs Gesamtanzahl der in der Liste angezeigten RO TXNs
Gesamtdauer ROs Gesamtdauer aller in der Liste angezeigten RO TXNs

Instantview Fehler

In dieser Liste werden die Instantview Fehler für die selektierten Sessions angezeigt. Gleiche Fehler werden zusammengefasst. Durch einen Doppelklick auf einen Listeneintrag werden die enthaltenen Transaktionen im Fenster Enthaltene Transaktionen dargestellt.

 

Session

In diesem Fenster werden alle in der Session enthaltenen Transaktionen nach Zeitstempel sortiert angezeigt. Transaktionen, welche in einem Monitor gehalten werden, erscheinen rot in der Liste (außer der dbProf Statistiken).

Toolbar
Symbol Beschreibung
copytoclipboard.png Kopiert die Objekte in der Liste in die Zwischenablage

 

Felder
Feld Beschreibung
Kalenderwoche  
Client  
Datum  
Datei  
OS Client  
Warnungen anzeigen Je nachdem wie die Checkbox gesetzt ist, werden Warnungen in der Liste angezeigt oder nicht.

 

Knöpfe
Knopf Beschreibung
Schließen Fenster schließen

 

Enthaltene Transaktionen

In diesem Fenster werden alle im Zeitraum enthaltenen Transaktionen nach Zeitstempel sortiert angezeigt.

Toolbar
Symbol Beschreibung
copytoclipboard.png Kopiert die Objekte in der Liste in die Zwischenablage

 

Felder
Feld Beschreibung
Zeitraum Zeigt den Zeitraum an, aus welchem die Transaktionen stammen.

 

Knöpfe
Knopf Beschreibung
Schließen Fenster schließen

 

Locking Zusammenfassung

Die Locking Konflikte werden zusammengefasst nach Locked by und nach Segment. Um die einzelnen Locks einzusehen, müssen einfach nur die entsprechenden Zusammenfassungen selektiert werden und Locks werden in der Liste Locking Konflikte angezeigt.

Felder
Feld Beschreibung
Locked by In dieser Liste wird die Zusammenfassung nach Locked by angezeigt. Durch Doppelklick auf einen Listeneintrag wird die zugehörige Session im Session Fenster geöffnet.
Segment In dieser Liste wird die Zusammenfassung nach Segment angezeigt.
Locking Konflikte Alle in den gerade selektierten Zusammenfassungen enthaltenen Locking Konflikte werden in dieser Liste angezeigt. Per Doppelklick auf einen Locking Konflikt öffnet sich dessen zugehörige Session im Session Fenster.

 

Knöpfe
Knopf Beschreibung
Schließen Fenster schließen

 

Fehler beim Einlesen

Hier werden die beim Einlesen entstandenen Fehler angezeigt.

Toolbar
Symbol Beschreibung
copytoclipboard.png Kopiert die Objekte in der Liste in die Zwischenablage

 

Felder
Feld Beschreibung
   

 

Knöpfe
Knopf Beschreibung
Schließen Fenster schließen

 

Auswertung

In diesem Fenster werden die Diagramme der Auswertung angezeigt.

 

Optionsfenster

Menü "Bearbeiten"
Menüpunkt Beschreibung
Standardeinstellungen setzen alle geänderten Einstellungen werden zurück gesetzt auf Standard

 

Knöpfe
Knopf Beschreibung
OK Einstellungen werden gespeichert und Fenster wird geschlossen

 

Optionen
Einstellung Beschreibung
Bei jedem Einlesen von Log Dateien Sessions zurücksetzen Die in der Liste enthaltenen Session gehen verloren, wenn eine Log Datei eingelesen wird.

Blockadeauslöser - Baumansicht

Wenn Benutzer zeitaufwendige Buchungen erstellen, kann es passieren, dass andere Benutzer in ihrer Tätigkeit behindert werden, da einzelne Daten durch die Buchung exklusiv gesperrt sind. Die anderen Benutzer warten dann auf das Transaktionsende, bevor sie weiter machen können. Sie bemerken diesen Umstand nur durch eine verlängerte Dauer der Aktion, die sie gerade durchführen wollen. Ein solches Verhalten nennt man Blockade. Solange der Benutzer nun auf die Freigabe seiner Daten wartet, kann es passieren, dass er auch bereits Daten für sich gesperrt hat, auf die dann wieder weitere andere Benutzer warten müssen. Ähnlich dem Schneeballsystem könnte sich also in einem ungünstigen Fall ein Geflecht an Blockaden entwickeln, welches alles durch die zeitaufwendige Buchung des ersten Benutzers ausgelöst wurde.

Um solche zeitaufwendigen Buchungen, die viele Benutzer blockieren, ausfindig machen zu können, gibt es diese Baumansicht. Man kann hier erkennen, wer der erste Blockierer war, wen er blockiert hat, und wer durch die weiteren Benutzer blockiert wurde. Benutzer, die nur blockiert wurden, ohne die Blockade selbst ausgelöst zu haben, werden in diesem Baum nicht an oberster Ebene mit angezeigt.
Das Verhalten des Schneeballsystems gilt es durch gezielte Verbesserungen des Quellcodes zu verhindern - diese Baumansicht soll dabei helfen, die kritischen Programmstellen ausfindig zu machen.

Felder
Feld Beschreibung
Baumansicht In der Baumansicht werden nur die "obersten" Auslöser von Blockaden angezeigt. Wenn Benutzer "A" also Benutzer "B" Blockiert hat, aber "A" selbst von "C" blockiert wurde, dann erscheint "A" nicht als oberster Knoten in der Baumansicht, sondern nur "C". Unterhalb von "C" ist dann "A" zu finden, worunter dann "B" steht.
: Nach Benutzer suchen Nach der Eingabe eines Benutzerkürzels werden alle Einträge im Tree aufgeklappt, die diesem Benutzer zugeordnet sind.
Listenansicht  
: Sitzungen Zeigt alle obersten Knoten des Baumes in der Listenansicht sortierbar mit allen benötigten Informationen an.
: Blockaden Zeigt alle Transaktionszeiten der obersten Knoten an, in denen Blockaden aufgetreten sind. Eine Transaktionszeit ist ein Zeitraum von maximal einer Minute zwischen den Blockaden einer Ebene. Wenn ein Benutzer "A" also um 11:22 Uhr eine Blockade ausgelöst hat, und ein weiterer Benutzer maximal eine Minute später von diesem blockiert wird, werden diese einander zugeordnet. Ist die zweite Blockade allerdings erst um 11:24 Uhr, so wird eine weitere Transaktionszeit eingerichtet.

Diesen Transaktionszeiten wird versucht eine Langläufertransaktion zuzuordnen. Wenn ein Benutzer also zu um 14:49 mehrere Blockaden ausgelöst hat, und um 15:00 Uhr eine Langläuferaktion von einer Minute Dauer geloggt wurde, dann werden diese Informationen verknüpft, damit man im Baum und in der Liste sehen kann, welcher Umstand die Blockaden ausgelöst hat.

Liste Die Liste zeigt die Daten der ersten bzw. der zweiten Ebene des Baumes an (siehe Beschreibung der Gruppe "Listenansicht" über dieser Zeile)

Spalten in der Liste:
Dauer der Blockaden: Die Dauer kann nur anhand mehrerer Einträge zu Blockaden des selben Benutzers im selben Segment erfolgen. Da nicht immer mehrere Einträge pro Blockade im Logfile (cxdbprof) enthalten sind, kann nicht zu jeder Blockade die genaue Blockadendauer ermittelt werden.
 

Die Dauer wird nach folgenden Regeln von oben nach unten (im Baum) aufsummiert:

Wenn eine Blockade eine Blockadedauer besitzt, dann wird diese addiert und die Dauer der durch diese Blockade ausgelösten weiteren Blockaden ignoriert, da durch Auflösung der auslösenden Blockade (oberste Ebene im Baum) auch die Blockaden, die sich hieraus ergeben haben aufgelöst worden sein sollten.
Wenn eine Blockade keine Blockadedauer besitzt, dann werden die Blockadedauern der durch diese Blockade entstandenen weiteren Blockaden ermittelt und addiert.

Über den Knopf an der Oberseite der Liste kann deren Inhalt in die Zwischenablage kopiert werden.

 

Knöpfe
Knopf Beschreibung
Schließen Fenster schließen

 

 

Verwandte Themen

 


Technische Dokumentation

System Abstürze

Wenn in einer LogFile der Loglevel "FATAL" erscheint deutet dies daraufhin, dass das System abgestürzt ist. Die nächste Meldung mit dem LogLevel "ERROR" ist die Absturzmeldung die auf dem Bildschirm erscheint. Die laufende Session wird geschlossen und für diese aktuelle Transaktion (Absturz Meldung) mit dem Datenfeld "settings" gekennzeichnet.
Die einzige Ausnahme bildet ein "FATAL" vom Logger "cx.listview". Bei diesem stürzt das System nicht ab, da die ListView das abfängt.
Stürzt das System ohne eine Fehlermeldung ab so wird die letzte Transaktion (LogLevel "FATAL") als Session Ende betrachtet und in der Liste der Abstürze angezeigt. (StopAllSessionsOfLogFile)

Ermittlung:
+ cx.app INFO “Signal catched: SIGABRT”
+ cx.app ERROR
+ cx.main FATAL
+ FATAL Sessionende
 

Auswertung Log Datei Modul

Modulname

logfistx.mod

Klassen

-

Security

Neben der Beschränkung der Zugriffsrechte über die Klasse und deren Datenfelder kann das Modul über einige der empfangenen Messages in seiner Nutzung beschränkt werden.

Empfangene Messages
Message Parameter Funktion Security
       
       
       

 

Gesendete Messages
Message Parameter Funktion Empfangs-Modul
       

Funktionalität