Die Analyse von Systemereignissen spielt eine wichtige Rolle bei der Echtzeit-Verarbeitung und Performance-Optimierung

Neuer Debugger für die Systemanalyse

4. April 2008, 8:52 Uhr | John A. Carbone
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 2

Verbesserung der Applikations-Performance

Die Mehrzahl der Entwickler wird TraceX zunächst einsetzen, um Probleme zu verstehen und zu beheben. Noch weitreichendere Vorteile lassen sich mit diesem Tool jedoch potentiell erzielen, wenn es zum Analysieren und Verbessern der System-Performance genutzt wird. Generell gilt, dass eine Applikation umso schneller läuft, je mehr Zeit auf die eigentliche Anwendung verwendet wird und je weniger Zeit mit System-Tasks (z. B. Kontextwechseln) verbracht wird. Mit dem System Event Analyzer wird auf einen Blick sichtbar, wieviel Zeit die Systemaktivitäten benötigten.

passend zum Thema

Das Aufzeichnen von Ereignissen kann vom Applikationsprogramm dynamisch gestartet und angehalten werden, wenn beispielsweise ein „interessanter“ Bereich erreicht wird. So wird ein unnötiges Auffüllen der Datenbank mit nutzlosen Informationen vermieden. Um dem Entwickler die Möglichkeit zu geben, bestimmte Threads gezielt zu beobachten, sollte ein System Event Analyzer in der Lage sein, mehrere Trace Buffer zu verwenden, zwischen denen bei Bedarf gewechselt werden kann. Die Trace-Informationen können außerdem jederzeit zur weiteren Auswertung an den Host hochgeladen werden, wenn das System entweder abstürzt oder die Applikation ihren Betrieb beendet.

Ist das Uploading des Event-Logs vom Zielsystem-Speicher an den Host abgeschlossen, zeigt TraceX die Ereignisse grafisch entlang der horizontalen Zeitachse an. Die verschiedenen Applikations-Threads und Systemroutinen, auf die sich die Ereignisse beziehen, sind entlang der vertikalen Achse aufgetragen, die Ereignisse selbst erscheinen in der jeweiligen Zeile. Alle Ereignisse zusammen werden in der Sammelzeile ganz oben angezeigt, in der sich der Entwickler bequem und ohne Scrollen einen Überblick über die Abläufe im System verschaffen kann. Die Ereignisse werden als farbcodierte Icons so dargestellt, dass der Zeitpunkt ihres Auftretens aus der Position entlang der horizontalen Achse entnommen werden kann. Sie erscheinen außerdem in der Zeile des jeweiligen Thread oder der fraglichen Systemroutine. Die Achsen lassen sich zoomen, um weitere Details erkennen zu können, oder aber verkleinern, um den Überblick über mehr Ereignisse zu bekommen. Wird ein Ereignis selektiert, erscheinen unten im Bild detaillierte Informationen zu diesem Event (z.B. Kontext, Ereignis, Thread Pointer, neuer Zustand, Stack Pointer und nächster Thread-Punkt). Diese Angaben werden übrigens nicht nur für das aktuelle Ereignis, sondern auch für die beiden vorangegangenen und die beiden folgenden Ereignisse ausgegeben.

e801jk11_2_af_04.jpg
Bild 2. TraceX kann Informationen über die zyklischen Puffer ausgeben, in denen die Ereignis-Daten aus ThreadX während der Verarbeitung abgelegt werden.

  1. Neuer Debugger für die Systemanalyse
  2. Neuer Debugger für die Systemanalyse
  3. Verbesserung der Applikations-Performance
  4. Behebung von Prioritätsinversions-Problemen
  5. Neuer Debugger für die Systemanalyse

Jetzt kostenfreie Newsletter bestellen!