Fakultät Informatik - Institut für Angewandte Informatik, Professur Technische Informationssysteme Eclipse Test and Performance Tools Platform (TPTP) Philipp Schneider s1050347@inf.tu-dresden.de Hauptseminar Technische Informationssysteme Dresden, 20.November.2008
Gliederung I. Entstehung / Motivation II. Aufbau III. Hauptkomponenten und Funktionalität IV. Logdateien verarbeiten (Log and Trace Framework) V. Fazit - Common Base Event (CBE) - Generic Log Adapter (GLA) - Log and Trace Analyzer (LTA) - Beispielanwendung des GLA TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 2 von 24
I. Entstehung / Motivation Geschichte Hyades 2002 von IBM, Scapa Technologies, Rational Software und Telelogic gegründet durch Ausbau und Förderung von Hyades ging im August 2004 die Eclipse TPTP hervor Motivation des Projektes umfassende Test, Trace und Monitoring Plattform einheitliche Plattform für Entwicklung, Test und Produktion Werkzeuge für automatisierte Software-Qualitätssicherung TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 3 von 24
II. Aufbau Worauf baut TPTP auf? TPTP Platform Web tools BIRT EMF XSD JDT UML2 Eclipse Platform TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 4 von 24
II. Aufbau TPTP Projekt Architektur Presentation System Runtime Monitor / log Eclipse TPTP GUI Trace Analysis And Profiling Test Creation and Execution Standard Widgets and Core Plug-ins Reference Perspectives And Workflow EMF Data Models Artifact Management Agent Control Interface Distributed Control Framework Agent Control Interface Target System Data Collection Test Engine Testability Interface Application Trace Collection Log Collection Statistical Log Trace Test Eclipse Platform Data Loader Distributed Data Collection Framework Data Collection Interface Injection Correlation Execution Environment JVMPI Monitor JVMTI Monitor System Performance Monitor Quelle: (Eugene Chan, 2005) TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 5 von 24
III. Hauptkomponenten und Funktionalität Eclipse Modeling Framework (EMF) wichtigster Bestandteil von TPTP Verarbeitung der EMF Data Models EMF Data Models spezifiziert über Java, XML oder UML 5 EMF Data Models in TPTP: o Trace o Log o Statistical o Test (+Behavioral) o Execution History TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 6 von 24
III. Hauptkomponenten und Funktionalität Data Collection Framework Sammeln, Verarbeiten und Aufbereiten der Daten Framework kommuniziert über vordefinierte Schnittstellen! Komponenten programmiersprachenunabhängig 3 Hauptkomponenten: Client (Eclipse) Agent Controller (Koordinator) Agent (Sammler) TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 7 von 24
III. Hauptkomponenten und Funktionalität Testing Framework erweiterbare Plattform für Testgenerierungen, -entwicklungen, -durchführungen und Ergebnisanalyse die 4 Haupttestwerkzeuge sind: o automatische GUI Aufnahme/Wiedergabe Tests o JUnit Testing o URL Testing, zum Messen der Performance von Webseiten o manuelles Testen TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 8 von 24
III. Hauptkomponenten und Funktionalität Profiling Framework dient zum übersichtlichen Betrachten, Analysieren und Bewerten Ansichten: Memory Statistic view Coverage Statistic view Method Invocation Detail view Object Reference view Execution Flow view and table Method Invocation view and table UML2 Trace Interactions view Execution Statistic view TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 9 von 24
IV. Logdateien verarbeiten (Log and Trace Framework) Common Base Event (CBE) Open-Source Spezifikation der OASIS standardisiertes und strukturiertes Modell zur Erfassung von Ereignissen abstraktes Modell zur Beschreibung jeglicher Ereignisse innerhalb eines Multi-Komponenten-Systems umfassendes CBE XML Schema zur Überprüfung der Vollständigkeit des Formates Logdateien sind Sammlung von Ereignissen! TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 10 von 24
IV. Logdateien verarbeiten (Log and Trace Framework) Generic Log Adapter (GLA) Problem Heute Lösung mit GLA Programme Logs Datenbanken Server Speichergeräte Maschinen Logs Logs Logs Logs Generic Log Adapter Common Log Format CBE TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 11 von 24
IV. Logdateien verarbeiten (Log and Trace Framework) Generic Log Adapter (GLA) - Architektur Controller: liest XML Konfigurationsdatei des GLA ein ruft einen oder mehrere Context Instancen auf Controller (GLA) Context Instance Context Instance: repräsentiert das Parsen einer bestimmten Logdatei ruft die einzelnen Komponenten auf kann zum kontinuierlichen Real time Logging konfiguriert werden Komponente 1 Komponente 2 Komponente 3 Komponente n TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 12 von 24
IV. Logdateien verarbeiten (Log and Trace Framework) Generic Log Adapter (GLA) Architektur eines Rule-based Adapter Controller (GLA) Context Instance Sensor Extractor Parser Formatter Outputter Ausgabe der konkreten Instanz Ausgabemodi: Datei, Bildschirm Spezialisiert für die Verarbeitung im TPTP Log und Trace Framework Erzeugung einer konkreten Instanz der erfassten Datenstruktur Common Base Event Formatter integriert Logereignis umwandeln in Common Base Events (CBE) Anwendung von regulären Ausdrücken Auslesen eines kompletten Logereignisses Anwendung einfacher regulärer Ausdrücke Logdatei einlesen zeilenweise einlesen TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 13 von 24
IV. Logdateien verarbeiten (Log and Trace Framework) Generic Log Adapter (GLA) Architektur eines Static Adapter Controller (GLA) Context Instance Static Parser Sensor Outputter Aufruf einer Java-Klasse Klasse liest und parst die Logdatei zu einem CBE Format bei großen Logdateien sind statische Adapter schneller siehe Folie 13 TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 14 von 24
IV. Logdateien verarbeiten (Log and Trace Framework) Generic Log Adapter (GLA) Adapter Configuration Editor zum Modifizieren und Testen der Konfigurationsdatei des Adapters TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 15 von 24
IV. Logdateien verarbeiten (Log and Trace Framework) Log and Trace Analyzer (LTA) bietet eine Fülle an Analysesichten (CBE-Logdaten) Log-Navigator zum Verwalten der Daten unterteilt in drei große Bereiche Logs Correlations Symptom Database erweiterbare flexible Architektur TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 16 von 24
IV. Logdateien verarbeiten (Log and Trace Framework) Log and Trace Analyzer Log View tabellarische Visualisierung der Logdaten (CBE) Manipulation der Logauswahl im Fenster Suchen Filtern Hervorheben Navigieren Sortieren Berichterstellung Quelle: (Valentina Popescu, 2007) TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 17 von 24
IV. Logdateien verarbeiten (Log and Trace Framework) Log and Trace Analyzer Correlations Erfassung zusammenhängender Ereignisse (unterschiedliche Logs) Festlegung eines Kriteriums (z.b. Zeitstempel) Darstellung der Beziehungen über UML2 Log Interactions TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 18 von 24
IV. Logdateien verarbeiten (Log and Trace Framework) Log and Trace Analyzer Symptom Database Datenbank zum Finden und Lösen von Problemen Festlegung von Regeln (Xpath) zum Auffinden von Problemen Empfehlungen zum Lösen des Problems (selbst definiert) basiert auf XML Datei (*.symptom), fest definiert durch XML Schema exportierbar TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 19 von 24
IV. Logdateien verarbeiten (Log and Trace Framework) Log and Trace Analyzer Beispielanwendung des GLA Aufgabe: Überführung einer gegebenen Logdatei mit Hilfe des rule based GLA in eine CBE-Format Datei um diese dann auswerten zu können. geg. Logdatei (schematisch): ***************************** Datum ID1: Zahl ID2 : String Name : String File : String **************************** Datum GLA Runtime Common Log Format CBE + Regeln TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 20 von 24
IV. Logdateien verarbeiten (Log and Trace Framework) Log and Trace Analyzer Beispielanwendung des GLA 1. Schritt: Anlegen eines neuen Adapters (*.adapter) 2. Schritt: Konfigurieren zum Einlesen der Logdatei 3. Schritt: Extraktion der Logereignisse durch Parsen der * ***************************** Datum ID1: Zahl ID2 : String Name : String File : String **************************** Datum Keine Reaktion des Frameworks auf Änderungen im Editor! TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 21 von 24
IV. Logdateien verarbeiten (Log and Trace Framework) Log and Trace Analyzer Beispielanwendung des GLA Nur Änderungen direkt in Konfigurationsdatei möglich! Umsetzung unter diesen Umständen nicht durchführbar. Auf Nachfragen bei Entwickler Eugene Chan stellte sich heraus, dass der GLA nicht mehr weiter entwickelt und auch nicht mehr weiter gewartet werden soll (entschieden im Juni 2008). Leider fehlen dazu Hinweise auf der Projektwebseite. TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 22 von 24
V. Fazit Vorteile des Frameworks: ausgereiftes Open Source Framework in Eclipse umfangreiche und durchdachte Funktionen zum Profilen, Analysieren, Testen und Optimieren sehr gute Möglichkeiten der Analyse und Darstellung von Logdateien (LTA) intuitive Benutzerführung und -oberflächen Architektur ermöglicht es eigene Erweiterungen zu implementieren Nachteile des Frameworks: Open Source Gefahr von Feature-Stopps siehe GLA TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 23 von 24
Vielen Dank für Ihre Aufmerksamkeit. TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 24 von 24
Memory Statistic view Quelle: (Valentina Popescu, 2007) TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 25 von 24
Method Invocation Details View Quelle: (Valentina Popescu, 2007) TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 26 von 24
Object References View Quelle: (Valentina Popescu, 2007) TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 27 von 24
BIRT Quelle: (Valentina Popescu, 2007) TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 28 von 24
Beispiel CBE Datei TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 30 von 24
Correlation Quelle: (Valentina Popescu, 2007) TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 31 von 24
Correlation (Time) Access Log Error Log TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 32 von 24
Symptom Definition TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 33 von 24
Probekit Quelle: (Valentina Popescu, 2007) TU Dresden, 21.11.2008 Eclipse Test and Performance Tools Platform (TPTP) Folie 34 von 24