EKG Stern WebEKG
WebEKG

Ernste Lage im OP. Der Zustand des Patienten kann nicht näher definiert werden. Lediglich Blutdruck (via top) und Herzfrequenz (%CPU von top) kann die OP-Schwester Terminal.app feststellen. Die erste Diagnose lautet Nervösität und Trägheit. Der Patient steht irgendwie unter Strom und wird scheinbar von seinen Sinneszellen mit zu viel Reizen versorgt. Der Verdauungstrakt kann die Menge nicht mehr in der kurzen Zeit bewältigen und verstopft. Es droht Herzversagen und Zusammenbruch des Kreislaufes. Auch sein geklonter Bruder 1 und Schwester 2 leiden unter den gleich Symptomen. Nur Bruder 3 scheint mit ruhigem Puls und normalen Blutdruck sich nicht angesteckt zu haben. Doch was ist geschehen? Verzweifelt ruft Prof. Dr. M. zur OP-Schwester: "Wir brauchen sofort: Analysen vom Blut! Das kleine und große Blutbild. Und wir brauchen verdammt nochmal ein EKG!"

Großes Blutbild

Aus dem Patienten wird Blut in Form von Log-Informationen abgenommen. Diese Informationen werden vom WebEKG eingelesen und analysiert. Das Ergebnis wird dann unter dem Mikroskop durch verschiedene Ebenen (Layers) dargestellt. Es gibt derzeit sechs Layers (Speicher, Speicherverbrauch, Sessions, Dauer, Bytes pro Millisekunde, Größe bzw. Länge), die mittels eines wählbaren Alpha-Kanals übereinander gelagert werden können. Aus der Menge der Log-Informationen werden Extrem- und Mittelwerte errechnet, wodurch einige Kennzahlen der Web-Applikation abgeleitet werden können. Mit Hilfe von Regulären Ausdrücken kann gezielt nach bestimmten Seiten gesucht bzw. gefiltert werden. Die durch die Layers erstellten Grafiken können exportiert und in andere Dokumente übernommen werden.

Lizenz

Im Sinne von freier Software kann jeder WebEKG für alle friedlichen Anwendungen verwenden. Für alle Anwendung in Kombination mit Produkten von Microsoft (TM) muß mir eine Entschuldigungskarte via E-Mail gesendet werden. Die Benutzung der Software kostet nichts. Die Urheberrechte bleiben beim Autor.

Unterstützung in WO5.0

Für WebObjects 5.0 gibt es ein WebEKGSupport.framework, das direkt zur Aufzeichnung der Log-Informationen verwendet werden kann. Wer die Spezifikation der Log-Information kennt, kann die Ausgabe selbst produzieren.

Runterladen

Das WebEKG mit Beispieldatei, Spezifikation und WO-Framework kann via FTP und HTTP in den persönlichen Zentral-OP gebracht werden.

Ausblick

Die Software befindet sich in einem sehr jungen Zustand. Aus der Notwendigkeit geboren, entsteht nun langsam eine richtige Applikation. Derzeit muß der Anwender auf einige Standardfunktionalitäten (Speicher, Drucken) verzichten. In der nächsten Release (Version 2.0) wird eine größere Palette von Analyse-Tools implementiert sein. Diese befindet sich aber zur Zeit in einem frühen Entwicklungsstadium. Folge Punkte sollen erreicht werden:

  • Redesign der WebEKG-Kernel-Routinen zur Optimierung des Speicherverbrauchs.
  • Verwendung von beliebig großen Log-Dateien.
  • Ordnen des gesamten Quellcodes.
  • Verbesserung des User-Interfaces. Selektionen. Verwendung eines Inspectors anstelle von Drawers.
  • Verbesserung von Analysen. Gestaffelte Filter. Einbindung von User-Logzeilen.
  • Speichern der Einstellungen, der Analysen und der Ergebnisse.
  • PlugIn-Mechnismus für optionale Analyse-Layers.
  • Session-ID basierte Analysen. Filtern nach Session-IDs.
  • AppleScript-fähig und HTML-Export für automatische Cron-Job-Analysen.
  • Lokalisation in Deutsch und Englisch.
  • Eine vollständige Dokumentation auch Deutsch und Englisch.
Die Aufgabe

Bei der Entwicklung einer Web-Applikation verliert das Entwicklungsteam spätestens beim Deployment auf das Zielsystem das "Gefühl" für die Applikation. Durch den unvorhersehbaren Zugriff auf die Applikation aus dem Internet treten kaum simulierbare Situationen für die Applikationen ein. Der richtige Test über Stabilität, Performance und Funktionalität beginnt nun.

Es gibt bereits verschiedene Systeme, um solche Angaben über die Performance einer Site zu machen. Man kann die Log-Dateien des Web-Servers auswerten oder die CPU- bzw. Netzwerkauslastungen können in Form von täglichen Diagrammen analysiert werden. Doch das ist für eine detailierte Analyse meistens zu wenig. Denn die Antwort auf die Frage, warum eine Seite durchschnittlich soundso viele Sekunden benötigt, steckt meistens in der Applikation selbst. Öffnet der Entwickler seine Applikation, indem er Loginformationen in eine Datei speichert, können viele Informationen darüber abgeleitet werden.

Fast jede Applikation gibt seine Loginformation auf stderr oder stdout aus. Sie enthalten im allgemeinen Informationen über den Zustand der Applikation, um im Fehlerfall den Grund des Fehlers zu ermitteln. Werden diese Loginformationen eindeutig spezifiziert, so ist es möglich, mittels eines Programmes, das die Spezifikation kennt, für viele beliebige Anwendungen Analysen durchzuführen. WebEKG ist ein solches Programm, welches für Webapplikationen spezifische Informationen in Form von Grafik-Ebenen darstellt. Dazu wird eine für Webapplikationen typische Logdatei eingelesen und verarbeitet.