Produkte
Obwohl wir eigentlich keine Produktentwicklung betreiben, möchten wir an dieser Stelle ein kleines Werkzeug vorstellen, dass unsere Arbeit schon länger erleichtert.
UDPTrace
Mit "UDPTrace" kann man aus einer laufenden Anwendung heraus Nachrichten senden, um z.B. dem Verlauf der Anwendung (Trace) folgen zu können.
Die Einsatzmöglichkeiten sind vielfältig und erfordern so gut wie keinen Konfigurationsaufwand!
Das "UDPTrace-Paket", das wir hier bereitstellen, besteht aus einem Nachrichtenempfänger und dem Quellcode einer kleinen Klassenbibliothek in den Sprachen C++, C#, Java und PHP. Je nachdem, in welcher Sprache man gerade entwickelt, nutzt man die Klassenbibliothek der passenden Sprache. Der Nachrichtenempfänger ist immer derselbe.
Wichtiger Hinweis!
Der Empfänger der Trace-Messages (UDPTrace.exe)
- enthält keine Würmer oder Viren!
Das lässt sich leicht mit ein aktuelles Virenprogramm feststellen.
- versucht NICHT eine Verbindung über das Internet herszustellen!
Das lässt sich leicht mit eine Firewall feststellen.
Download
Bitte füllen Sie alle mit * gekennzeichneten Felder unten aus. Wir senden Ihnen einen Download-Link per Mail zu.
Beispiel-Zenarien
- Dieses Zenario war der Anstoß für die Entwicklung von UDPTrace.
In einem Umfeld von Ca. 3000 Benutzern, die alle mit eine komplexe
Desktopanwendung arbeiteteten, konnten wir die Fehlersuche oft auf 5 bis 10
minuten reduzieren. Trace für den Jeweiligen Benutzer eingeschaltet,
den Benutzer den Vorgang wiederholen lassen und den empfangenen Trace
auswerten.
Ohne vor Ort bei dem Benutzer gewesen zu sein!
Die alternative wäre gewesen, die Anwendung durch dem Debugger jagen.
Oft eine fast unmögliche Aufgabe, da der Fehler...
- nur mit Benutzerspezifischen daten erscheint.
- mit dem Rechner des Benutzers zu tun hat (anderer Patch-Level?)
- mit der Netzwerkkonfiguration in dem Bereich der Firma zu tun hat.
- mit der weiteren Software auf dem Rechner des benutzers zu tun hat.
- usw.
- Auf einem Server wo Ca. 20 Software im Hoch-Verfügbarkeits-Betrieb liefen,
konnte die Reaktionszeit im Problemfall erheblich verkurzt werden.
Eine Überwachungssoftware sendete im Fehlerfall eine "kritische" Meldung,
die bei dem Empfänger ein Ton, ein Tray-Icon-Fenster und eine Rote zeile
in dem Trace fenster auslöst. Sollte auch bei Gelegenheit Niemandem am Bildschirm
sitzen, kann man anhand dem Tray-Icon-Fenster erkennen, dass eine "Kritische"
Meldung eingetroffenn ist. Mit der Rechten Maustaste im Trace-Fenster
springt man dann bequem zu der entsprechende Zeile.
- Wer kennt das nicht!?
Sie haben eine interaktive PHP Web-Anwendung mit Datenbank-Anbindung auf ihrem
lokalem Web-Server geschrieben und getestet. Alles funktioniert!
Wenn Sie die Anwendung im Internet Hosten, werden keine Daten in der Datenbank geschrieben.
Wenn Sie die Trace-Ausgaben an den wesentlichen Stellen vorgesehen haben, ist
der Fehler schnell gefunden.
Sollten Sie sich hinter einem Router befinden (wie im Privatbereich oft der Fall) leiten Sie die Trace-Meldungen per Port-Weiterleitung an Ihren Rechner weiter.
Funktionen im Überblick
- Dei Anwendung, die die Trace-Meldungen sendet, wird dadurch nicht belastet.
- Wenn die Trace-Meldungen nicht von dem Trace-Empfänger empfangen werden, "verpuffen" sie wirkungsfrei.
- Die Trace-Meldungen von jedem Absender erscheinen in einem separaten MDI-Fenster des Trace-Empfängers.
- Es gibt zwei Meldungstypen. "Normale" und "Kritische". Oder "Meldungen" und "Fehler", je nachdem wie man es sehen will.
-
Der Empfang von kritischen Meldungen löst drei Ereignisse aus.
- Der Trace-Empfänger piept einmal kurz.
- Das entsprechende MDI-Trace-Fenster wird geöffnet (die Fenster starten alle "zusammengeklappt") und springt in den Vordergrund.
- Die kritische Meldung erscheint in roter Schrift.
- Unten rechts auf dem Bildschirm (nahe dem Tray-Icon) erscheint ein kleines Fenster mit einem Teil der Meldung.
- Kritische Meldungen in einem Trace können direkt mit der rechten Maustaste (Kontextmenü) angesteuert werden.
- Der Inhalt in einem Trace-Fenster kann in eine Datei gespeichert werden. Es werden dabei zwei Dateien angelegt.
Die eine Datei enthält den Trace-Text und die andere die Zeilen mit kritischen ("roten") Meldungen.
- Wenn man eine Tracedatei einliest, der kritische Meldungen vorhanden sind, erscheinen die Meldungen wieder in rot.
- Aus Performance-Gründen verlieren die kritichen Meldungen die rote Farbe, wenn sie außer Sichtweite scrollen.
Die Farbe ist jedoch per Menübefehl wieder herstellbar.
Screen shots
Nr 1
Das Hauptfenster von UDPTrace, mit allen Trace-Fenstern offen.
 |
Nr 2
Das Hauptfenster von UDPTrace, mit allen Trace-Fenstern geschlossen.
 |
Nr 3
Der Konfigurationsdialog. Den erreicht man mit dem Icon "leeres Blatt", oben links im Hauptfenster. Hier muss man nur den gewünschten Port eingeben. Die Adresse wird von der Software vorbelegt.
 |
Nr 4
In dem "Über"/"About"-Dialog steht, wie man dem UDPTrace über die Kommandozeile konfiguriert.
 |
Nr 5
In der Kopfzeile steht der Name, die der Absender mitgegeben hat, so wie die IP-Adresse des Absenders. Läuft dieselbe Software auf mehreren Rechnern, sorgt die unterschiedliche IP-Adresse dafür, dass die Trace-Meldungen in unterschiedliche Fenster kommen!
 |
Nr 6
Mit der rechten Maustaste erscheint ein Kontextmenü, mit den Zeilen der kritischen Meldungen. Wählt man eine Zeile aus, wird der Cursor auf der roten Zeile plaziert.
 |
Nr 7
Bei kritischen Meldungen erscheint unten rechts im Bild ein kleines Fenster mit ein Teil der Meldung. So erfährt man auch dann, wenn der UDPTrace als Tray-Icon minimiert ist, dass eine kritische Meldung eingetroffen ist. Das kleine Icon mit der Lupe, ist das Tray-Icon von dem UPDTrace. Dieses Bild zeigt auch der Prefix, den der Absender mitgeben kann, der die Meldung vorangestellt wird. Das ist praktisch, wenn der Absender zwar eine "Software" ist, der Trace aus unterschiedlichen Modulen kommt. Dann kann man z.B. der Modulname als Prefix nutzen.
 |
Nr 8
Hier sehen Sie wie die Einrückung gestaltet wird. Eine Trace-Zeile vom Typ "startLine" wird ein "+" vorangestellt. Das sind typischeweise Trace-Zeilen, die einFunktionseintritt dokumentieren. Damit man anhand der Einrückung schnell sehen kann wo der Funktionsaustritt passiert erstellt man in dem Fall eine Trace-Zeile vom Typ "endLine". Diese Zeilen werden ein "-" vorangestellt. Daten die man in eine Funktion Tracen will, werden dann mit dem Trace-Typ "midLine" erstellt. So erkannt man nicht nur schnell wo der Funktions Ein- und Austritt ist, sondern auch die Daten die aus diese Funktion stammen.
 |
A lie can travel half way around the world while the truth is putting on its shoes.
Mark Twain (30.11.1835-21.04.1910)
Mehr über uns
Partner
Wir suchen einen Partner für den weiteren Ausbau unsere Firma.
Wenn Sie interesse haben, z.B. im Web-Bereich ein par Ideen mit uns zu realisieren,
wie die hier z.B.
http://www.wartungslog.com
würden wir uns freuen von Ihnen zu hören!
Offene Stellen
- Zur Zeit suchen wir für den Standort Würzburg einen erfahrenen "Ruby on Rails-Entwickler" oder jemandem mit Symfony-Erfahrung, der sich in Rails einarbeiten möchte.
Unsere Adresse