Debugging, Logging, Monitoring, Tools Autoren: Reguel Wermelinger + Reto Weiss Datum: 12.4.2012
Inhalt Inhalt Debugging in Xpert.ivy Error Report / Id Request Logging Java Debugging in Xpert.ivy Visual VM Monitoring mit JMX Fragen Inhalt
Debugging Breakpoints Prozess Breakpoints Breakpoints auf Wertänderungen in Datenklasseattributen Debugging Demo: - Setzen von Breakpoints (Prozess Editor, Datenklass Editor, ev. Conditional Breakpoints) Breakpoint View erklären Debug View erklären (Stepping) Variable View erklären (Debug Variable zeigen, Werte ändern) - Expression View erklären (z.B. ivy.session.getSessionUserName())
Variable und Expression View Anzeige von Prozessdaten Ändern von Prozessdaten Ausdrücke auflösen Debugging
Debugging Callstacks Stackelement pro Sub Prozess Aufruf Stackelement pro RD Methodenaufruf Variable View zeigt lokale Variablen pro Stackelement Debugging Demo: - Variable View pro Stackelement zeigen
Debugging Runtime Log View Log Level Filter User Filter Löschen des Logs Debugging Demo: - Zeigen wie man ins log schreibt. Log level Filter User Log Filter - (Löschen)
Prozess Performance View Statistik pro Prozess Element Anzahl Ausführungen Ausführzeiten (Total, Minimum, Maximum, Durchschnitt) Interne und externe Ausführungszeiten Intern := Prozess Engine Externe := Fremdsystem Export to Excel Debugging Demo: Beispiel zeigen Externe und Interne Ausführung erklären Excel Export zeigen.
Prozess Performance Statistik Auf dem Server Einschaltbar über System Property Schreibt periodisch Excel Datei mit der Prozess Performance Statistik. Debugging
Error Report Error Report Report mit wichtigen Information über einen Fehler und die Umgebung. Bei Supportanfragen immer beilegen! Verfügbar auf Runtime Log Detail Dialog Menu Xpert.ivy > Debug > Save Debug Report HTML Error Pages RIA Error Dialog Error Report Demo: - Error Report zeigen - Wo ist dieser überall verfügbar.
Error Report Error Report Beinhaltet auf dem Server nur minimale Information (Security!) Vollständige Ausgabe kann über System Property eingeschaltet werden (Debugging). Debug Report über /ivy/error Error Report
Eindeutige Fehlernummer Jeder Fehler hat eine eindeutige Fehlernummer Suchen von Log Einträgen zu einem bestimmten Benutzerfehler. Error Id Demo: - Zeigen wo Error Id angezeigt wird. - Im Log zeigen wo Error Id gefunden werden kann.
Request Logging Request Id Jeder Request hat eine eindeutige Nummer Jeder Log Eintrag enthält die entsprechende Request Id Suchen von Log Einträgen zu einem bestimmten Request Start und Ende der Requestverarbeitung kann geloggt werden Verarbeitungszeiten Request Logging Demo: - Zeigen wie die Requestverarbeitung im Log4j eingeschaltet werden kann. - Beispiel Log Datei zeigen.
Java Debugging Java Debugging Debuggen von eignen Java Klassen in Xpert.ivy Debugging von Java Klassen Debugging von Xpert.ivy mit Xpert.ivy Java Debugging
Java Debugging Java Debugging Debugging von Xpert.ivy auf sich selber! Breakpoints im UI Thread Konfiguration (Remote Debugging) -agentlib:jdwp=transport=dt_socket, server=y,address=8001,suspend=n Java Debugging Demo: Zeigen wie man: - Debugging des Designers mit einem Designers - Remote Debugging vom Designer auf den gleichen Designer - Remote Debugging vom Designer auf einen Server
Visual VM Visual VM Monitoring von Java Prozessen: CPU Memory Garbage Collection Threads Anzahl Instanzen Visual VM Demo: CPU Memory Sampler
Monitoring Monitoring mit JMX JMX aktivieren: -Dcom.sun.management.jmxremote.port=9003 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false Visual VM MBeans Relevante Daten aufzeichnen bevor Fehler passieren! Langzeit Monitoring und Alarmierung: Munin Nagios … Monitoring Demo: Visual VM MBeans
Fragen