Wir nehmen Ihre Software auf den — Winterfest der Technischen Fakultät und Tag der Informatik 2012 — André van Hoorn Kiel University (CAU) Software Engineering Group December 6, 2012 @ Kiel A. van Hoorn (CAU) Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 1 / 13 — Winterfest der Technischen Fakultät und Tag der Informatik 2012 — André van Hoorn Kiel University (CAU) Software Engineering Group December 6, 2012 @ Kiel A. van Hoorn (CAU) Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 1 / 13 A. van Hoorn (CAU) Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 2 / 13 Quality of Service (QoS) . . . Motivation A. van Hoorn (CAU) Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 3 / 13 Quality of Service (QoS) . . . Motivation A. van Hoorn (CAU) Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 3 / 13 Monitoring/Dynamic Analysis Motivation A. van Hoorn (CAU) Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 4 / 13 Monitoring/Dynamic Analysis Motivation ? A. van Hoorn (CAU) Does the searchBook service respond in <= 0.5 seconds in 95% of all cases? Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 4 / 13 Monitoring/Dynamic Analysis Motivation A. van Hoorn (CAU) ? Does the searchBook service respond in <= 0.5 seconds in 95% of all cases? ? What is the system's availability? Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 4 / 13 Monitoring/Dynamic Analysis Motivation ? A. van Hoorn (CAU) What is the expected workload profile? Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 4 / 13 Monitoring/Dynamic Analysis Motivation <<SystemAssembly>> BookstoreSystem <<Component>> Bookstore <<Component>> Catalog <<Component>> CRM A. van Hoorn (CAU) Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 4 / 13 Monitoring/Dynamic Analysis Motivation <<SystemAssembly>> BookstoreSystem <<Component>> Bookstore <<Component>> Catalog <<Component>> ? A. van Hoorn (CAU) CRM How do the components interact? Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 4 / 13 Monitoring/Dynamic Analysis Motivation <<SystemAssembly>> BookstoreSystem <<Component>> Bookstore <<Component>> Catalog <<Component>> CRM ? How do the components interact? ? Which component causes the problem? A. van Hoorn (CAU) Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 4 / 13 Monitoring/Dynamic Analysis Motivation ? A. van Hoorn (CAU) How are my resources utilized? Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 4 / 13 Agenda Kieker 1 2 3 Motivation Kieker Framework Overview Selected Topics and Results Review of Kieker’s History Conclusion A. van Hoorn (CAU) Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 5 / 13 APM/Dynamic Analysis with Kieker Kieker . Framework Overview Monitoring probe Software system with monitoring instrumentation A. van Hoorn (CAU) Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 6 / 13 APM/Dynamic Analysis with Kieker Kieker . Framework Overview Monitoring records Measurement A. van Hoorn (CAU) Monitoring log/stream Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 6 / 13 APM/Dynamic Analysis with Kieker Kieker . Framework Overview Analysis configuration (Web GUI) Analysis Plugins A. van Hoorn (CAU) Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 6 / 13 APM/Dynamic Analysis with Kieker Kieker . Framework Overview Analysis configuration (Web GUI) Analysis Plugins Workload Anomaly Detection 0.50 k(..) getBoo 1.0 <<executio n conta iner>> SRV0 $ 1635 <<deploym ent compo nent>> @3:..Books tore searchBook( ) getOffers() 0.25 SRV1:: @1:..Catalog SRV0:: @2:..CRM SRV0:: @1:..Catalog SRV0:: @3:..Bookstore searchBook() 1.5 Anomaly score 1000] Invocations/minute [x 0.75 2.0 543 1635 <<deploym ent compo @2:..CRM nent>> getOffers() getBook(..) 573 1092 0.5 1062 0.0 0.0 <<deploym ent compo @1:..Catalo nent>> g getBook(..) <<executio n conta iner>> SRV1 <<deploym ent compo @1:..Catalo nent>> g getBook(..) Calendar time (hh:mm) Visualizations A. van Hoorn (CAU) Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 6 / 13 WebGUI (Beta) Included in Kieker 1.6 Kieker . Framework Overview A. van Hoorn (CAU) Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 7 / 13 WebGUI (Beta) Included in Kieker 1.6 Kieker . Framework Overview A. van Hoorn (CAU) Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 7 / 13 Agenda Kieker . Selected Topics and Results 1 2 3 Motivation Kieker Framework Overview Selected Topics and Results Review of Kieker’s History Conclusion A. van Hoorn (CAU) Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 8 / 13 Selected Topics and Results (1/7) Kieker . Selected Topics and Results Architecture Discovery: Model Extraction + Visualization <<execution container>> pikdb0 <<deployment component>> @9:..DnsService 176 <<deployment component>> @8:..SupportService 3772 1972 <<deployment component>> @3:..KiekerTpmonResponseOutProbe 102035 <<execution container>> css1 <<deployment component>> @1:..KiekerRequestRegistrationAndLoggingFilter 49751 <<deployment component>> @6:..DomainService 1556 47408 <<deployment component>> @5:..AccountService 6386 75894 <<deployment component>> @2:..KiekerTpmonResponseInProbe 53121 $ <<deployment component>> @7:..WebhostingService 1947 <<deployment component>> @4:..EmailService 75892 <<execution container>> css0 53100 <<deployment component>> @1:..KiekerRequestRegistrationAndLoggingFilter 50199 77540 <<deployment component>> @2:..KiekerTpmonResponseInProbe <<execution container>> pikdb1 <<deployment component>> @9:..DnsService 77410 167 104751 1522 <<deployment component>> @3:..KiekerTpmonResponseOutProbe 2001 1969 6530 3718 47406 <<deployment component>> @6:..DomainService <<deployment component>> @7:..WebhostingService <<deployment component>> @4:..EmailService <<deployment component>> @8:..SupportService <<deployment component>> @5:..AccountService [van Hoorn et al. 2009] A. van Hoorn (CAU) Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 9 / 13 Selected Topics and Results (2/7) Kieker . Selected Topics and Results Architecture Discovery: Model Extraction + Visualization (cont’d) 1 <<assembly component>> @10:PSGLOSAV 1 2 1 <<assembly component>> @3:REALIA_GET_MACHINE_NAME <<assembly component>> @9:JOBIDSAV <<assembly component>> @6:SHIFTFUN 1 2 <<assembly component>> @1:PSGLOINI 7 <<assembly component>> @2:S_GetEnvironmentVariableA 3 7 <<assembly component>> @5:PSGLOFUN 1 1 1 1 4 <<assembly component>> @4:PATHMAKE 4 <<assembly component>> @34:SGBINITA 1 2 <<assembly component>> @13:BUCHWAND 1 <<assembly component>> @44:REALIA_CREATE_UNIQUE_FILE 5 25 <<assembly component>> @7:REALIA_FINDFIRST 25 1 <<assembly component>> @8:REALIA_FINDCLOSE 6 <<assembly component>> @35:USRIDENT 7 <<assembly component>> @18:MSGERZEU 1 <<assembly component>> @37:WKSIDENT 1 $ 1 <<assembly component>> @12:SGBSTART 1 1 1 1 <<assembly component>> @19:MSGLAUFZ 3 1 1 3 <<assembly component>> @20:MSGMELDE 1 1 <<assembly component>> @17:PATHFIND 13 87 <<assembly component>> @16:PARMFILE 345 <<assembly component>> @21:ZREPLACE <<assembly component>> @14:PASSWORT 1 3 12 1 1 3 <<assembly component>> @27:DATABTBA <<assembly component>> @42:SACHG-INIMO <<assembly component>> @41:DRUCKREO 1 1 <<assembly component>> @15:DATUMFUN 7 <<assembly component>> @43:D9991FUN 4 1 13 <<assembly component>> @26:DATABASE 13 <<assembly component>> @23:DATABLOK 13 <<assembly component>> @25:DATABTRV 25 9 <<assembly component>> @24:BTRV 6 <<assembly component>> @36:DATABSBS <<assembly component>> @22:DATABSPT 4 1 <<assembly component>> @38:PSKVSINI 2 1 1 <<assembly component>> @31:SUCHEFUN 1 <<assembly component>> @32:ZUGRIFUN 1 <<assembly component>> @48:SACHG-SAVMO 1 <<assembly component>> @39:PSKVSSAV 1 113 <<assembly component>> @40:PSKVSEDI <<assembly component>> @30:STRINFUN 4 1 <<assembly component>> @29:SCRHANDL 2 110 <<assembly component>> @28:SCRINOUT 373 <<assembly component>> @33:SP2 25 101 1 <<assembly component>> @47:PSGLO-MENNA 1 <<assembly component>> @45:SGBMENWA 1 <<assembly component>> @46:SGBMENUE 1 [Richter 2012] A. van Hoorn (CAU) Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 9 / 13 Selected Topics and Results (3/7) Kieker . Selected Topics and Results Architecture Discovery: Model Extraction + Visualization (cont’d) [Magedanz 2011] A. van Hoorn (CAU) Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 9 / 13 Selected Topics and Results (4/7) Kieker . Selected Topics and Results Architecture Discovery: Model Extraction + Visualization (cont’d) frmLogin.cmdOK_Click() 1 1 frmLogin.Anwendung() frmMain.MDIForm_Load() 1 Module1.Main() 1 1 frmLogin.Form_Load() frmLogin.txtPassword_gotfocus() 1 frmAKTE.tool_menu_begin() 1 1 frmAKTE.ob_frei() 1 $ 1 1 frmMain.mnuDatafrmAKTE_Click() frmAKTE.Form_Resize() 1 1 frmAKTE.felder_sperren() 1 1 1 frmAKTE.Option1_Click(Integer) frmAKTE.ob_sperren() clsKlasse.Class_Initialize() 1 1 frmAKTE.felder_frei() 1 1 clsKlasse.pruef_user() BENUTZER.select() 1 frmAKTE.Form_Load() 1 1 clsKlasse.pruef_abt() clsKlasse.pruef_rechte() ABTEILUNG.select() 1 BENABT.select() 1 AKTE.select() 1 1 1 frmAKTE.SetButtons(Boolean) 1 clsKlasse.adoPrimaryRS_MoveComplete(ADODB.EventReasonEnum, ADODB.Error, ADODB.EventStatusEnum, ADODB.Recordset) 1 1 frmAKTE.Suchen() 1 18 frmSTAT clsKlasse.Class_GetDataMember(String, Object) frmAKTE.felder_sichern() 2.847 ms 1 frmAKTE.cmdEdit_Click() 1 frmAKTE.IndexPosLesen() 1 IPOS.select() Statistik 1 1 frmAKTE.pruefung_ob() 1 frmAKTE.fuehrende_nullen(Long) 6 1 2280.695 ms 6.117 ms frmAKTE.txtFields_Change(Integer) cmd_start_Click Ausgabe 276 frmAKTE.daten_binden() 1 1 15 frmAKTE.tool_menu_edit() 1 4.981 ms 3.596 ms 1 frmAKTE.Abteilung() 1 frmAKTE.RtxtBoxtitel_Change() Form_Load txt_abt_GotFocus MouseWheel 1 mnuFileStart_Click frmAKTE.RtxtBoxenthaelt_Change() Zeile mnuHelpAbout_Click 2 MSHFlexGrid1_RowColChange mnuHelpSearchForHelpOn_Click 38.524 ms 3.219 ms Form_KeyDown cmdClose_Click 1 1 mnuHelpContents_Click mnuFileExit_Click A. van Hoorn (CAU) Wir nehmen Ihre Software auf den cmd_druck_Click Dec. 06, 2012 @ Kiel 9 / 13 Selected Topics and Results (5/7) Kieker . Selected Topics and Results Architecture Discovery: Model Extraction + Visualization (cont’d) [Döhring 2012] (based on [Wulf 2010]) A. van Hoorn (CAU) Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 9 / 13 Selected Topics and Results (6/7) Kieker . Selected Topics and Results APM: Anomaly Detection + Diagnosis [Bielefeld 2012] A. van Hoorn (CAU) Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 10 / 13 Selected Topics and Results (7/7) Kieker . Selected Topics and Results APM: Anomaly Detection + Diagnosis (cont’d) 981 4224 47353 1088 service.hessian.client.OrderService 1088 service.hessian.client.AccountService [ 484/981 | −0,057 | 6,19% ] [ 523/1088 | −0,033 | 6,35% ] 981 43498 1088 $ 40912 Component Level 43498 1088 Operation Level 981 Virtual Machine ’tier’ Virtual Machine ’scooter’ Virtual Machine ’puck’ [ 41472/61098 | 0,03 | 25,90% ] [ 818/2176 | −0,07 | 23,43% ] [ 1447/2943 | −0,03 | 24,48% ] Deployment Context Level service.hessian.client.CatalogService Component Level Virtual Machine ’klotz’ 40912 9167 org.apache.struts.action.ActionServlet [ 41827/85960 | 0,190 | 7,81% ] 3917 presentation.OrderBean 2170 26837 presentation.CartBean [ 1454/3917 | 0,094 | 7,18% ] 981 4224 9167 11349 presentation.AccountBean [ 18138/26837 | 0,048 | 6,88% ] 47353 [ 494/1088 | −0,062 | 6,16% ] 1088 service.hessian.client.OrderService getProduct(String) 1088 service.hessian.client.AccountService [ 484/981 | −0,057 | 6,19% ] [ 523/1088 | −0,033 | 6,35% ] 981 1088 11349 1088 presentation.CatalogBean [ 1107/2170 | −0,087 | 5,99% ] 43498 getProductListByCategory(String) [ 3629/9167 | −0,046 | −0,281 | 2,27% ] [ 6365/12437 | −0,161 | −0,006 | 3,14% ] getItemListByProduct(String) [ 9167/9167 | 0,995 | 0,406 | 4,43% ] getCategory(String) [ 6309/11349 | 0,216 | −0,037 | 3,04% ] 1088 9167 Component Level 12437 9167 11349 Operation Level service.hessian.client.CatalogService 9167 1088 11349 getProduct(String) getProductListByCategory(String) [ 3629/9167 | −0,046 | −0,281 | 2,27% ] 9167 [ 6365/12437 | −0,161 | −0,006 | 3,14% ] 12437 9167 getItemListByProduct(String) [ 9167/9167 | 0,995 | 0,406 | 4,43% ] 9167 getProductListByCategory(String,int,int) getItemListByProduct(String,int,int) [ 6402/12437 | −0,161 | −0,106 | 2,82% ] [ 9167/9167 | 0,995 | 0,488 | 4,69% ] 11349 getProductListByCategory(String,int,int) getItemListByProduct(String,int,int) [ 6402/12437 | −0,161 | −0,106 | 2,82% ] [ 9167/9167 | 0,995 | 0,488 | 4,69% ] getCategory(String) [ 6309/11349 | 0,216 | −0,037 | 3,04% ] 11349 12437 12437 [Marwede et al. 2009] A. van Hoorn (CAU) Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 10 / 13 Agenda Kieker . Review of Kieker’s History 1 2 3 Motivation Kieker Framework Overview Selected Topics and Results Review of Kieker’s History Conclusion A. van Hoorn (CAU) Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 11 / 13 Looking back . . . 2006–2008 Kieker . Review of Kieker’s History 2006 2007 2008 2009 Trustworthy Software Systems Privacy Security Performance Safety Reliability Availability Correctness Certification Quality of Service Component Technology DEPARTMENT FÜR INFORMATIK SOFTWARE ENGINEERING Diplomarbeit Performance Monitoring von Middleware-basierten Applikationen 31. März 2006 Diplomand Thilo Focke Am Schloßgarten 4 26122 Oldenburg [email protected] Erstprüfer Zweitprüfer Betreuer Prof. Dr. Wilhelm Hasselbring Prof. Dr. Ralf Reussner (Universität Karlsruhe) MIT Matthias Rohr Dipl.-Math. Johannes-Gerhard Schute 2007 2006 May A. van Hoorn (CAU) Sept. May 2009 2008 Sept. May Wir nehmen Ihre Software auf den Sept. May Sept. Dec. 06, 2012 @ Kiel 12 / 13 Looking back . . . 2006–2008 Kieker . Review of Kieker’s History 2006 2007 2007 2006 May A. van Hoorn (CAU) 2008 Sept. May 2009 2009 2008 Sept. May Wir nehmen Ihre Software auf den Sept. May Sept. Dec. 06, 2012 @ Kiel 12 / 13 Looking back . . . 2006–2008 Kieker . Review of Kieker’s History 2006 2007 2008 2009 versions 0.5/0.6 - 1st Sourceforge releases - Monitoring Component - Tpmon - DB and FS Writer (sync&async) - 12 Java classes - 2 AspectJ probes - (Analysis component - Tpan not part of the releases) May A. van Hoorn (CAU) 0.5 0.6 2008 2007 2006 Sept. May Sept. May Wir nehmen Ihre Software auf den 2009 Sept. May Sept. Dec. 06, 2012 @ Kiel 12 / 13 Looking back . . . 2009–2012 Kieker . Review of Kieker’s History 2009 2010 2011 2012 version 0.91 - Distributed monitoring - Servlet, CXF, and Spring probes - 36 Java classes 0.91 0.95a 2009 May A. van Hoorn (CAU) Sept. 1.0 2010 May 2012 2011 Sept. May Wir nehmen Ihre Software auf den Sept. May Sept. Dec. 06, 2012 @ Kiel 12 / 13 Looking back . . . 2009–2012 Kieker . Review of Kieker’s History 2009 2010 2011 2012 versions 0.95a/1.0 - Major architectural changes (2009 TR) - Generalized/extensible monitoring record model - Generalized/extensible writer/reader model - First release containing parts of the analysis component - Micro-benchmark - Version 1.0: 81 Java class files + 28 Java test files 0.91 0.95a 2009 May A. van Hoorn (CAU) Sept. 1.0 2010 May 2012 2011 Sept. May Wir nehmen Ihre Software auf den Sept. May Sept. Dec. 06, 2012 @ Kiel 12 / 13 Looking back . . . 2009–2012 Kieker . Review of Kieker’s History 2009 2010 2011 2012 version 1.1 - TraceAnalysis tool - System meta-model - On-the-fly trace reconstruction - 141 Java classes JUnit version 1.2 - User Guide 1.2 1.1 2009 May A. van Hoorn (CAU) 2010 Sept. May 2012 2011 Sept. May Wir nehmen Ihre Software auf den Sept. May Sept. Dec. 06, 2012 @ Kiel 12 / 13 Looking back . . . 2009–2012 Kieker . Review of Kieker’s History 2009 2010 2009 May A. van Hoorn (CAU) 2011 2010 Sept. May 2012 2012 2011 Sept. May Wir nehmen Ihre Software auf den Sept. May Sept. Dec. 06, 2012 @ Kiel 12 / 13 Looking back . . . 2009–2012 Kieker . Review of Kieker’s History 2009 2010 2011 2009 2010 1.3 2011 May A. van Hoorn (CAU) Sept. May Sept. May Wir nehmen Ihre Software auf den 2012 1.4 2012 Sept. May Sept. Dec. 06, 2012 @ Kiel 12 / 13 Looking back . . . 2009–2012 Kieker . Review of Kieker’s History 2009 2010 2011 2012 FindBugs regular meetings 2009 May A. van Hoorn (CAU) 1.3 2011 2010 Sept. May Sept. May Wir nehmen Ihre Software auf den 1.4 2012 Sept. May Sept. Dec. 06, 2012 @ Kiel 12 / 13 Looking back . . . 2009–2012 Kieker . Review of Kieker’s History 2009 2010 2011 2012 version 1.3 - Various new features - Improved configuration management - Initial version submitted to SPEC RG - 205 Java classes + 42 test classes FindBugs regular meetings 2009 May A. van Hoorn (CAU) 1.3 2011 2010 Sept. May Sept. May Wir nehmen Ihre Software auf den 1.4 2012 Sept. May Sept. Dec. 06, 2012 @ Kiel 12 / 13 Looking back . . . 2009–2012 Kieker . Review of Kieker’s History 2009 2010 2011 2012 version 1.3 - Various new features - Improved configuration management - Initial version submitted to SPEC RG - 205 Java classes + 42 test classes version 1.4 - Major improvements FindBugs to code quality - Revised version for SPEC RG regular meetings 2009 May A. van Hoorn (CAU) 1.3 2011 2010 Sept. May Sept. May Wir nehmen Ihre Software auf den 1.4 2012 Sept. May Sept. Dec. 06, 2012 @ Kiel 12 / 13 Looking back . . . 2009–2012 Kieker . Review of Kieker’s History 2009 2010 2011 2012 iObserve ESN SL version 1.5 - Completely reworked pipes-and-filters framework - Event-based tracing - 284 Java classes + 92 test classes 1.5 2009 May A. van Hoorn (CAU) 2010 Sept. May Sept. May Wir nehmen Ihre Software auf den 1.6 2012 2011 Sept. May Sept. Dec. 06, 2012 @ Kiel 12 / 13 Looking back . . . 2009–2012 Kieker . Review of Kieker’s History 2009 2010 2011 2012 version 1.6 iObserve - Adaptive Monitoring ESN SL - WebGUI (beta) - 375 Java classes + 147 test classes version 1.5 - Completely reworked pipes-and-filters framework - Event-based tracing - 284 Java classes + 92 test classes 1.5 2009 May A. van Hoorn (CAU) 2010 Sept. May Sept. May Wir nehmen Ihre Software auf den 1.6 2012 2011 Sept. May Sept. Dec. 06, 2012 @ Kiel 12 / 13 Manual instrumentation AspectJ Spring Servlet CXF/SOAP <your interception technology> Sigar Servlet Resource monitoring CPU utilization Memory usage <your technology> <your monitoring probe> Time Sources Monitoring Controller Serialization File system Java Messaging Service (JMS) Java Management Ext. (JMX) Database (SQL) File system Syncr. Monitoring Writers Monitoring Writer System time <your time source> Asynchr. writers Logging Low overhead (designed for continuous operation) Evaluated in lab and industrial case studies Time Source Distributed tracing (logging, reconstruction, visualization) Logging Pipes-and-filters framework for analysis configuration JMX Interface • • • • Periodic Sampling (Probes, records, readers, writers, filters etc.) Monitoring Probes/Samplers • Modular, flexible, and extensible architecture Monitoring Monitoring Monitoring Probe Probe Probe Control-flow tracing Kieker.Monitoring Conclusion Database (SQL) Named pipe Output stream <your monitoring writer> Operation execution http://kieker-monitoring.net Monitoring Records Kieker is open-source software (Apache License, V. 2.0) Monitoring Record Monitoring Log/Stream Real-time replayer Visualization Trace analysis Analysis/Visualization Plugins Architecture reconstr. Wir nehmen Ihre Software auf den Java Management Ext. (JMX) Named pipe Pipe-and-filter framework Analysis / Analysis Analysis/ / Visualization Visualization Visualization Plugin Plugin Plugin Java Messaging Service (JMS) Database (SQL) <your monitoring reader> Analysis Controller Kieker.Analysis A. van Hoorn (CAU) Memory/swap usage Resource utilization File system Monitoring Readers http://research.spec.org/projects/tools.html CPU utilization Current time <your monitoring record type> Deserialization Monitoring Monitoring Monitoring Reader Reader Reader Kieker is distributed as part of SPEC® RG's repository of peer-reviewed tools for quantitative system evaluation and analysis Control-flow events Dependency graphs Sequence diagrams Call graphs <your visualization> <your trace analysis> <your reconstruction plugin> <your analysis plugin/tool> Dec. 06, 2012 @ Kiel 13 / 13 Literature Conclusion T. C. Bielefeld. Online performance anomaly detection for large-scale software systems. http://eprints.uni- kiel.de/15488/, Mar. 2012. Diploma Thesis, Kiel University. P. Döhring. Visualisierung von Synchronisationspunkten in Kombination mit der Statik und Dynamik eines Softwaresystems. Master’s thesis, Kiel University, Oct. 2012. URL http://eprints.uni- kiel.de/15433/. T. Focke. Performance Monitoring von Middleware-basierten Applikationen. Diplomarbeit, University Oldenburg, Mar. 2006. Kieker Project. Kieker 1.6 User Guide. Software Engineering Group, Kiel University, Kiel, Germany, Oct. 2012a. URL http://kieker- monitoring.net/documentation/. Kieker Project. Kieker web site, 2012b. URL http://kieker- monitoring.net/. F. Magedanz. Dynamic analysis of .NET applications for architecture-based model extraction and test generation. http://eprints.uni- kiel.de/15486/, Oct. 2011. Diploma Thesis, Kiel University. N. S. Marwede, M. Rohr, A. van Hoorn, and W. Hasselbring. Automatic failure diagnosis support in distributed large-scale software systems based on timing behavior anomaly correlation. In A. Winter, R. Ferenc, and J. Knodel, editors, Proceedings of the 13th European Conference on Software Maintenance and Reengineering (CSMR 2009), pages 47–57. IEEE Computer Society, Mar. 2009. ISBN 978-0-7695-3589-0. doi: 10.1109/CSMR.2009.15. B. Richter. Dynamische Analyse von COBOL-Systemarchitekturen zum modellbasierten Testen (“Dynamic analysis of cobol system architectures for model-based testing”, in German). http://eprints.uni- kiel.de/15489/, Aug. 2012. Diploma Thesis, Kiel University. A. van Hoorn, M. Rohr, W. Hasselbring, J. Waller, J. Ehlers, S. Frey, and D. Kieselhorst. Continuous monitoring of software services: Design and application of the Kieker framework. Technical Report TR-0921, Department of Computer Science, University of Kiel, Germany, Nov. 2009. URL http://www.informatik.uni- kiel.de/uploads/tx_publication/vanhoorn_tr0921.pdf. A. van Hoorn, J. Waller, and W. Hasselbring. Kieker: A framework for application performance monitoring and dynamic software analysis. In Proceedings of the 3rd ACM/SPEC International Conference on Performance Engineering (ICPE 2012), pages 247–248. ACM, Apr. 2012. ISBN 978-1-4503-1202-8. doi: 10.1145/2188286.2188326. C. Wulf. Runtime visualization of static and dynamic architectural views of a software system to identify performance problems. B.Sc. Thesis, University of Kiel, Germany, 2010. A. van Hoorn (CAU) Wir nehmen Ihre Software auf den Dec. 06, 2012 @ Kiel 14 / 13