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:
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):
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:
5. Statistik:
Wenn mehr als 600 Blockaden aufgetreten sind:
Ü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
- Session
- Enthaltene Transaktionen
- Locking Zusammenfassung
- Fehler beim Einlesen
- Auswertung
- Optionsfenster
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ü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 |
Symbol | Beschreibung |
---|---|
Öffnet Dialogfenster, um eine Zeitspanne anzugeben, aus der Log-Dateien gelesen werden sollen. | |
Öffnet Dialogfenster, um Log Dateien auszuwählen, die ausgelesen werden sollen. | |
Kopiert die Objekte in der aktiven Lasche in die Zwischenablage | |
Setzt die Auswertung und sämtliche Listen zurück |
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. |
Knopf | Beschreibung |
---|---|
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. |
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:
|
||||||||||||||||||||||||||||||||||||||||||||||||||
: 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. |
Knopf | Beschreibung |
---|---|
Zeigt die graphischen Diagramme gemäß der Einstellung an. | |
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.
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 |
Knopf | Beschreibung |
---|---|
Öffnet das Fenster Locking Zusammenfassung für die in der Liste enthaltenen Locks, um einen besseren Überblick zu geben. |
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
|
|||||||||||||||||||||
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 |
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).
Symbol | Beschreibung |
---|---|
Kopiert die Objekte in der Liste in die Zwischenablage |
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. |
Knopf | Beschreibung |
---|---|
Schließen | Fenster schließen |
Enthaltene Transaktionen
In diesem Fenster werden alle im Zeitraum enthaltenen Transaktionen nach Zeitstempel sortiert angezeigt.
Symbol | Beschreibung |
---|---|
Kopiert die Objekte in der Liste in die Zwischenablage |
Feld | Beschreibung |
---|---|
Zeitraum | Zeigt den Zeitraum an, aus welchem die Transaktionen stammen. |
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.
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. |
Knopf | Beschreibung |
---|---|
Schließen | Fenster schließen |
Fehler beim Einlesen
Hier werden die beim Einlesen entstandenen Fehler angezeigt.
Symbol | Beschreibung |
---|---|
Kopiert die Objekte in der Liste in die Zwischenablage |
Feld | Beschreibung |
---|---|
Knopf | Beschreibung |
---|---|
Schließen | Fenster schließen |
Auswertung
In diesem Fenster werden die Diagramme der Auswertung angezeigt.
Optionsfenster
Menüpunkt | Beschreibung |
---|---|
Standardeinstellungen setzen | alle geänderten Einstellungen werden zurück gesetzt auf Standard |
Knopf | Beschreibung |
---|---|
OK | Einstellungen werden gespeichert und Fenster wird geschlossen |
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.
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: 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. Über den Knopf an der Oberseite der Liste kann deren Inhalt in die Zwischenablage kopiert werden. |
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.
Message | Parameter | Funktion | Security |
---|---|---|---|
Message | Parameter | Funktion | Empfangs-Modul |
---|---|---|---|