Application Performance Monitoring & Architecture Discovery with Kieker

Size: px
Start display at page:

Download "Application Performance Monitoring & Architecture Discovery with Kieker"

Transcription

1 Application Performance Monitoring & Architecture Discovery with Kieker Prof. Dr. Wilhelm (Willi) Hasselbring Competence Cluster Software Systems Engineering Software Engineering Group, Kiel University WAIS Seminar Southampton, April, 3 rd 04 W. Hasselbring (CAU) Kieker Southampton / 5

2 Thanks to Contributors Several persons contributed to Kieker and the contents of this presentation in the past eight years: Tillmann (Till) Bielefeld, Peer Brauer, Philipp Döhring, Jens Ehlers, Nils Ehmke, Florian Fittkau, Thilo Focke, Sören Frey, Tom Frotscher, Henry Grow, André van Hoorn, Reiner Jung, Benjamin Kiel, Dennis Kieselhorst, Holger Knoche, Arnd Lange, Marius Löwe, Marco Lübcke, Felix Magedanz, Nina Marwede, Robert von Massow, Jasminka Matevska, Oliver Preikszas, Sönke Reimer, Bettual Richter, Matthias Rohr, Nils Sommer, Lena Stöver, Jan Waller, Robin Weiß, Björn Weißenfels, Matthias Westphal, Christian Wulf Alphabetic list of people who contributed in various forms and intensity W. Hasselbring (CAU) Kieker Southampton / 5

3 Agenda Dynamic Software Analysis Kieker Monitoring & Analysis Framework 3 Application Performance Monitoring 4 Reverse Engineering 5 Summary and Future Work W. Hasselbring (CAU) Kieker Southampton 3 / 5

4 Static Analysis of Software Systems To distinguish it from dynamic analysis Dynamic Software Analysis Static analysis may is applied to the program code to check the programs quality for various concerns, some examples: Clone detection Bauhaus Code metrics JavaNCSS Coding conventions Checkstyle Fault patterns FindBugs Architecture analysis Sotograph W. Hasselbring (CAU) Kieker Southampton 4 / 5

5 Dynamic Analysis of Software Systems "Dynamic Software Analysis Dynamic analysis, or the analysis of data gathered from a running program, has the potential to provide an accurate picture of a software because it exposes the system system's actual behavior. This picture can range from up to class-level details high-level architectural views [...]. " (Cornelissen et al. 009) W. Hasselbring (CAU) Kieker Southampton 5 / 5

6 Dynamic Analysis of Software Systems (cont d) "Dynamic Software Analysis Among the benefits over static analysis are the availability of runtime information and, in the context of object-oriented software, the exposure of object identities and the actual resolution of late binding. A drawback is that dynamic analysis can only provide a partial picture of the system, i.e., the results obtained are valid for the scenarios that were exercised during the analysis. " (Cornelissen et al. 009) W. Hasselbring (CAU) Kieker Southampton 6 / 5

7 Dynamic and Static Analysis of Software Dynamic Software Analysis Static analysis alone is not sufficient to study the internal behavior of software systems comprehensively Continuous monitoring allows to gather a system s actual runtime behavior resulting from production usage profiles So, how to collect runtime data from running systems? Instrumentation Profiling employed in development environments Monitoring employed in production environments An comprehension of the requirements of system operation is required to do the right things at development time Instrument upfront! Integrate with continuous integration and delivery. Have you heard of DevOps? W. Hasselbring (CAU) Kieker Southampton 7 / 5

8 How does Monitoring work? Example instrumentation: Measuring response times Dynamic Software Analysis Mean Median Instrumentation public static void searchbook() { 86 long tin = System.currentTimeMillis(); 87 Catalog.getBook(false); 88 long tout = System.currentTimeMillis(); 89 System.out.printf("Catalog;getBook;%s;%s", tin, tout); 90 } 9 Catalog;getBook; ; Catalog;getBook; ; Catalog;getBook; ; Catalog;getBook; ; Catalog;getBook; ; Program execution Visualization of results Monitoring log Statistical analysis Challenges Flexibility (instrumentation, changing log formats), runtime overhead, data volume, data distribution, online analysis, legacy systems,... W. Hasselbring (CAU) Kieker Southampton 8 / 5

9 Continuous Monitoring Design Decisions To cope with the previously listed challenges [van Hoorn et al. 009a] Dynamic Software Analysis Integration into the engineering process Model-Driven Instrumentation & Analysis. Type of Monitoring Probes Depends on analysis goals Number and Position of Monitoring Points Trade-off between performance overhead and information quality Consideration of the Induced Monitoring Overhead During continuous operation: only small overhead acceptable Physical Location of the Monitoring Log/Stream E.g., database, file system, queue, distributed deployment Intrusiveness of Instrumentation Don t mix monitoring logic with business functionality AOP W. Hasselbring (CAU) Kieker Southampton 9 / 5

10 Agenda Kieker Monitoring & Analysis Framework Dynamic Software Analysis Kieker Monitoring & Analysis Framework 3 Application Performance Monitoring 4 Reverse Engineering Reverse Engineering of Java EE Reverse Engineering of C# Reverse Engineering of Visual Basic 6 Reverse Engineering of COBOL Reverse Engineering of C / C++ Reverse Engineering of Perl Kieker in Space 5 Summary and Future Work W. Hasselbring (CAU) Kieker Southampton 0 / 5

11 Framework Features & Extension Points Essential Characteristics [Rohr et al. 008, van Hoorn et al. 009b; 0] Kieker Monitoring & Analysis Framework Modular, flexible, and extensible architecture (Probes, records, readers, writers, filters etc.) Pipes-and-filters framework for analysis configuration Distributed tracing (logging, reconstruction, visualization) Low overhead (designed for continuous operation) Evaluated in lab and industrial case studies Kieker is open-source software (Apache License, V..0) Recommended Tool of the SPEC Research Group Kieker is distributed as part of SPEC RG s repository of peer-reviewed tools for quantitative system evaluation and analysis, Monitoring Log/Stream Kieker.Analysis Kieker.Monitoring Sampling JMX Interface Monitoring Probe Adaptive Monitoring AnalysisTConfiguration Analysis / Visualization Plugin Analysis Controller Logging MonitoringT Controller MonitoringT Writer Monitoring Record Monitoring Reader Time/Source MonitoringT Probes/Samplers TimeT Sources MonitoringTT Writers MonitoringT Records MonitoringTT Readers Analysis/VisualizationT Plug-Ins Control/flow tracing Resource monitoring NamedDpipe <custom/monitoring/writer> OperationDexecution Control/flowDevents CPUDutilization ResourceDutilization CurrentDtime <custom/monitoring/record/type> FileDsystem JavaDMessagingDServiceDMJMS( JavaDManagementDExtNDMJMX( DatabaseDMSQL( NamedDpipe <custom/monitoring/reader> PipesDandDfiltersDframework ArchitectureDreconstrN Manual Servlet <custom/technology> TraceDanalysis Sigar Visualization CPUDutilization MemoryDusage <custom/monitoring/probe> SystemDtime FileDsystem CXFbSOAP AspectJ DatabaseDMSQL( JavaDMessagingDServiceDMJMS( JavaDManagementDExtNDMJMX( MemorybswapDusage TCPbIP PerformanceDAnalysis OutputDstream Real/timeDreplayer DependencyDgraphs SequenceDdiagrams CallDgraphs Servlet VB6XDCOBOLXDNNN <custom/interception//technology> <custom/time/source> TCPbIP <custom/visualization> <custom/trace/analysis> Spring <custom/reconstruction/plug-in> <custom/analysis/plug-in/tool> W. Hasselbring (CAU) Kieker Southampton / 5

12 Overhead Evaluation Linear Rise of Overhead [Waller and Hasselbring 0] Kieker Monitoring & Analysis Framework Execution time (median in µs) Writing (W) Collecting (C) Instrumentation (I) Method Time (T) 7, Slope ( ) ,8 5,7 4, 30,0,7 3, 5,0 0.,0 7,6 6,8 0, 0,7,5 3, Recursion depth (number of successive method calls) Experiment similar to: A5 AsyncFS writer 6 cores whole system is available MSEPT 0 Mul core Influence on Applica on Level Monitoring Overhead Jan Waller and Wilhelm Hasselbring W. Hasselbring (CAU) Kieker Southampton / 5

13 Kieker: Dynamic Analysis Workflow [van Hoorn et al. 0] Kieker Monitoring & Analysis Framework Analysis Configuration (via API and WebGUI) Monitoring Records Analysis Pipes and Filters Measurement Monitoring log/stream Invocations/minute [x 000] Workload Anomaly Detection searchbook() 0.5 getbook(..) 0.0 getoffers() <<execution container>> SRV0 $ 635 searchbook() 635 getbook(..) Calendar time @3:..Bookstore Monitoring Probe 573 getbook(..) 06 <<execution container>> SRV getoffers() getbook(..) Software System with Monitoring Instrumentation W. Hasselbring (CAU) Online and Offline Visualization Kieker Southampton 3 / 5

14 Core Kieker Framework Components Kieker Monitoring & Analysis Framework Kieker.Monitoring Monitoring Probe Monitoring Record Java probes/samplers: Monitoring Probes/Samplers Control-flow tracing Resource monitoring Manual instrumentation AspectJ Servlet Spring CXF/SOAP <your interception technology> Servlet Sigar CPU utilization Memory usage <your technology> <your monitoring probe> + basic adapters for C#/.NET Visual Basic 6/COM COBOL Monitoring Records Operation execution Control-flow events CPU utilization Resource utilization Current time Memory/swap usage <your monitoring record type> W. Hasselbring (CAU) Kieker Southampton 4 / 5

15 Core Kieker Framework Components Kieker Monitoring & Analysis Framework Kieker.Monitoring Time Source Monitoring Log/Stream Kieker.Analysis Monitoring Probe Logging Monitoring Controller Monitoring Writer Monitoring Record Monitoring Reader Periodic Sampling JMX Interface Monitoring Readers/Writers File system Java Messaging Service (JMS) Java Management Ext. (JMX) Database (SQL) Named pipe <your monitoring reader/writer> W. Hasselbring (CAU) Kieker Southampton 4 / 5

16 Core Kieker Framework Components Kieker Monitoring & Analysis Framework Kieker.Monitoring Time Source Monitoring Log/Stream Kieker.Analysis Pipe & Filter Configuration Monitoring Probe Logging Monitoring Controller Monitoring Writer Monitoring Record Monitoring Reader Analysis / Visualization Plugin Analysis Controller Periodic Sampling JMX Interface Analysis/Visualization Plugins Pipe-and-filter framework Architecture reconstr. Trace analysis Visualization Dependency graphs Sequence diagrams Call graphs <your visualization> <your trace analysis> <your reconstruction plugin> <your analysis plugin/tool> W. Hasselbring (CAU) Kieker Southampton 4 / 5

17 Program Instrumentation (Here: Manual) Example: Monitoring Operation Executions Kieker Monitoring & Analysis Framework Application code: Monitoring probe code (schematic): public void getoffers() { // EXECUTION to be monitored: catalog.getbook(false); } // BEFORE execution to be monitored if (!ismonitoringenabled()) { collectdatabefore(); } // AFTER execution to be monitored if (!ismonitoringenabled()) { collectdataafter(); writemonitoringdata(); } Instrumentation Getting the monitoring probe into the code Manual instrumentation Aspect-oriented programming (AOP), middleware interception,... W. Hasselbring (CAU) Kieker Southampton 5 / 5

18 description of the respective aspect probemethod, Tpmon saves AOP-Based Instrumentation by the Annotation current time before and after b is executed. Kieker Monitoring & Analysis Figure Framework.7: Sample system instrumented with Tpmon (a) and how an annotated operation is woven (b). aspect weaver basic functionality program aspect programming languages woven output code aspect description programs Figure.8: An aspect weaver weaves the aspects and the functional part of an application into a single binary (following (Kiczales et al., 3 public void getoffers() { 4 4 catalog.getbook(false); 5 } 6} Annotation-based (AOP) instrumentation for monitoring trace information W. Hasselbring (CAU) Kieker Southampton 6 / 5

19 Full Instrumentation with Kieker Kieker Monitoring & Analysis Framework Listing : META-INF/aop.xml <!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" "http://www.aspectj.org /dtd/aspectj 5_0.dtd"> <aspectj> <weaver options=""> <include within="*"/> </weaver> <aspects> <aspect name="kieker.monitoring.probe.aspectj.operationexecution. OperationExecutionAspectFull"/> </aspects> </aspectj> Start the monitored application: $ java -javaagent:lib/kieker-.8_aspectj.jar BookstoreStarter W. Hasselbring (CAU) Kieker Southampton 7 / 5

20 Analysis Configuration with Kieker Example Pipe-and-Filter Configuration Kieker Monitoring & Analysis Framework operationexecutions <<Filter>> : Performance anomaly filter anomalyratings <<Reader>> : FS reader outputport systemmodel anomalyratings <<Filter>> : Anomaly graph plotter <<Repository>> : System model repository Workload Anomaly Detection Invocations/minute [x 000] Anomaly score Calendar time (hh:mm) W. Hasselbring (CAU) Kieker Southampton 8 / 5

21 Textual Analysis Configuration Kieker Monitoring & Analysis = = "eventcount", eventtypes = { Long.class })}) public final class CountingFilter extends AbstractFilterPlugin = "inputevents", eventtypes = { Object.class }) public final void inputevent(final Object event) { final Long count = this.counter.incrementandget(); super.deliver("eventcount", count); } } W. Hasselbring (CAU) Kieker Southampton 9 / 5

22 Graphical Analysis Configuration Web User Interface [Ehmke 03] Kieker Monitoring & Analysis Framework W. Hasselbring (CAU) Kieker Southampton 0 / 5

23 Web Control Center Cockpit [Ehmke 03] Kieker Monitoring & Analysis Framework W. Hasselbring (CAU) Kieker Southampton / 5

24 What others are doing with Kieker Analysis of Calling Networks [Zheng et al. 0] Kieker Monitoring & Analysis Framework Community structure Layered structure (hierarchy) Xi an Jiaotong University, Shaanxi [Zheng et al. 0] W. Hasselbring (CAU) Kieker Southampton / 5

25 akes it possible to access the facts using data visualisation and data analysis chniques, Visualizing hence obtaining Architecture a higher level Warehouses of understanding of those facts, that is taining knowdledge. In this section I deepen the definition by several examples. Example: Analyzing the JUnit Project [Dabrowski 0] Kieker Monitoring & Analysis Framework Fig.. Graph-based visualisation of artifacts in junit project Warsaw University [Dabrowski 0] W. Hasselbring (CAU) Kieker Southampton 3 / 5

26 Agenda Kieker Monitoring & Analysis Framework Dynamic Software Analysis Kieker Monitoring & Analysis Framework 3 Application Performance Monitoring 4 Reverse Engineering 5 Summary and Future Work W. Hasselbring (CAU) Kieker Southampton 4 / 5

27 Observations in field Extensive infrastructure monitoring, application monitoring not widespread Reactive monitoring probe injection only (after a critical performance drop has occurred) Monitoring on different system layers Application Performance Monitoring Application monitoring Infrastructure monitoring Business/service monitoring Business Processes Services Application Middleware Container Virtual Machine Operating System Hardware Key performance indicators, e.g. process throughput, SLO appliance, workload, Response times, operational profile, Thread/connection pool sizes, Heap size, CPU/memory utilization, Availability, reliability, Monitoring practice in the real world (based on what we ve seen) Focus on system level (network availability, resource utilization) or business level (key performance indicators) No systematic instrumentation on application level Monitoring as an afterthought : probes are only added when problems occurred. 3 / 5 W. Hasselbring (CAU) Kieker Southampton 5 / 5

28 Application-Level Monitoring in Practice...!? Among Java Professionals Application Performance Monitoring dynatrace Diagnostics dynatrace Quest Foglight CA/Wily Introscope IBM IT CAM Symantec Indepth for JEE None 4.0% 0.9% 5.8% 3.% 0.4% 65.5% Others n.s. 4.3% 9.9% 0% 0% 0% 30% 40% 50% 60% 70% 80% Java monitoring tools being used Java monitoring largely unknown. [codecentric GmbH 009] W. Hasselbring (CAU) Kieker Southampton 6 / 5

29 Application-Level Monitoring in Practice...!? At Facebook Application Performance Monitoring Scaling Facebook to 500 Million Users and Beyond Making lots of small changes and watching what happens only works if you re actually able to watch what happens. At Facebook we collect an enormous amount of data any particular server exports tens or hundreds of metrics that can be graphed. This isn t just system level things like CPU and memory, it s also application level statistics to understand why things are happening. It s important that the statistics are from the real production machines that are having the problems, when they re having the problems the really interesting things only show up in production. The stats also have to come from all machines, because a lot of important effects are hidden by averages and only show up in distributions, in particular 95th or 99th percentile. Robert Johnson, Facebook Engineering Director W. Hasselbring (CAU) Kieker Southampton 7 / 5

30 Anomaly Detection + Diagnosis Xing AG [Bielefeld 0, Frotscher 03] Application Performance Monitoring W. Hasselbring (CAU) Kieker Southampton 8 / 5

31 Anomaly Detection + Diagnosis Previous work [Marwede et al. 009] Application Performance Monitoring presentation.orderbean [ 454/397 0,094 7,8% ] service.hessian.client.orderservice [ 484/98 0,057 6,9% ] Virtual Machine klotz $ org.apache.struts.action.actionservlet [ 487/ ,90 7,8% ] presentation.cartbean [ 07/70 0,087 5,99% ] service.hessian.client.catalogservice getproductlistbycategory(string) [ 6365/437 0,6 0,006 3,4% ] presentation.catalogbean [ 838/6837 0,048 6,88% ] presentation.accountbean [ 494/088 0,06 6,6% ] 088 service.hessian.client.accountservice [ 53/088 0,033 6,35% ] getproduct(string) [ 369/967 0,046 0,8,7% ] getproductlistbycategory(string,int,int) [ 640/437 0,6 0,06,8% ] 437 getitemlistbyproduct(string) [ 967/967 0,995 0,406 4,43% ] 967 getitemlistbyproduct(string,int,int) [ 967/967 0,995 0,488 4,69% ] getcategory(string) [ 6309/349 0,6 0,037 3,04% ] service.hessian.client.orderservice [ 484/98 0,057 6,9% ] service.hessian.client.accountservice [ 53/088 0,033 6,35% ] Virtual Machine tier [ 447/6098 0,03 5,90% ] Virtual Machine scooter [ 88/76 0,07 3,43% ] Virtual Machine puck [ 447/943 0,03 4,48% ] Component Level Operation Level Deployment Context Level Component Level service.hessian.client.catalogservice getproduct(string) [ 369/967 0,046 0,8,7% ] getproductlistbycategory(string) [ 6365/437 0,6 0,006 3,4% ] getitemlistbyproduct(string) [ 967/967 0,995 0,406 4,43% ] getcategory(string) [ 6309/349 0,6 0,037 3,04% ] Component Level Operation Level getproductlistbycategory(string,int,int) [ 640/437 0,6 0,06,8% ] getitemlistbyproduct(string,int,int) [ 967/967 0,995 0,488 4,69% ] 437 W. Hasselbring (CAU) Kieker Southampton 8 / 5

32 Anomaly Detection + Diagnosis ExplorViz [Fittkau et al. 03] Application Performance Monitoring W. Hasselbring (CAU) Kieker Southampton 8 / 5

33 Anomaly Detection + Diagnosis Work at Stuttgart University on online failure prediction [Pitakrat et al. 04] Application Performance Monitoring Component-level Predictors PCM SLAstic... HDD Failure Predictor CDT PAD System-level Predictor Monitoring Reader!! Event Log Analyzer Hora Kieker, Weka, R, PRISM, ESPER,... W. Hasselbring (CAU) Kieker Southampton 8 / 5

34 Agenda Reverse Engineering Dynamic Software Analysis Kieker Monitoring & Analysis Framework 3 Application Performance Monitoring 4 Reverse Engineering Reverse Engineering of Java EE Reverse Engineering of C# Reverse Engineering of Visual Basic 6 Reverse Engineering of COBOL Reverse Engineering of C / C++ Reverse Engineering of Perl Kieker in Space 5 Summary and Future Work W. Hasselbring (CAU) Kieker Southampton 9 / 5

35 Extending the Pipe-and-Filter Configuration Here: for Reverse Engineering Reverse Engineering getbook(..) <<Reader>> : FS reader traceevents outputport <<Filter>> : Trace reconstruction filter <<Repository>> : System model repository systemmodel messagetraces executiontraces messagetraces messagetraces systemmodel <<Filter>> : Sequence diagram visualization systemmodel <<Filter>> : Dependency graph visualization searchbook() getbook(..) getoffers() <<execution container>> SRV0 getbook(..) 635 searchbook() getoffers() Kieker.Analysis example pipes-and-filters configuration Performance anomaly detection and visualization Architecture and trace reconstruction/visualization 06 <<execution container>> getbook(..) W. Hasselbring (CAU) Kieker Southampton 30 / 5

36 Generated Sequence Diagram Reverse Engineering W. Hasselbring (CAU) Kieker Southampton 3 / 5

37 Reverse Engineering of Java EE Customer portal at EWE TEL GmbH Reverse Engineering Reverse Engineering of Java EE Distributed Enterprise Java System instrumented subsystem <<device>> Front End Server (on site) <<device>> Client <<device>> 0.. H/W LB * * <<execution environment>> Web Server/ Java EE Container <<artifact>> PortalServiceA <<artifact>> PortalServiceB <<artifact>> PortalServiceC <<device>> Application Server <<execution environment>> Java EE Container <<artifact>> BusinessServices M N <<device>> DB Cluster <<device>> Back End System <<device>> 3rd Party System 0.. <<device>> Front End Server (off site) K Servlet, Spring and CXF/SOAP probes W. Hasselbring (CAU) Kieker Southampton 3 / 5

38 Software Architecture Level Component dependency graph Reverse Engineering Reverse Engineering of Java EE $ <<execution container>> css0 <<execution container>> css <<execution container>> pikdb0 <<execution container>> pikdb W. Hasselbring (CAU) Kieker Southampton 33 / 5

39 System Architecture Level Component dependency graph Reverse Engineering Reverse Engineering of Java EE $ <<execution dofilter(..) <<execution dofilter(..) handlemessage(..) handlemessage(..) handlemessage(..) <<execution container>> pikdb <<execution container>> pikdb isuptodate(..) getzone(..) deleteresourcerecord(..) addresourcerecord(..) getwebuserids(..) getwebhostingcategories(..) updateftpaccount(..) updatemysql(..) terminateftpaccount(..) createftpaccount(..) changedomainusagecategory(..) createwebspace(..) getwebspacesubdirectories(..) getwebhostingcategory(..) getprowebdomainnames(..) getwebhostingdetails(..) getwebspacequota(..) get frommasteraccount(..) createwebstatssession(..) getavailablephpversions(..) addsmscontact(..) sendsupportrequest(..) getsmsauthorizations(..) getftpquota(..) getincreasebandwidthresult(..) getorderstaticipresult(..) getmailquota(..) getsmscontacts(..) sendsms(..) getantivirlicenselist(..) getsmsnumbers(..) removesmscontact(..) queuesms(..) getvirtualserverenvironment() setsmsauthorizations(..) getsmsauthorization(..) createwlanaccount(..) addantivirlicense(..) getmysqlversion(..) activatesmsnumber(..) createsmstoken(..) scheduleantivirlicenseactivation(..) isdomainfree(..) getdomains(..) gettopleveldomains(..) getdomains(..) reassigndomain(..) createsubdomain(..) restartdomaintransfer(..) getfederalstateforzipcode(..) getdomaininfo(..) getdomaincategory(..) performdomainorder(..) updatevacationinfo(..) getmailaccounts(..) update forward(..) getvacationinfo(..) delete virusscan(..) add virusscan(..) updatespamfilterconfiguration(..) removelistentryfromspamfilter(..) create account(..) add alias(..) delete alias(..) getspamfilterconfiguration(..) addlistentrytospamfilter(..) getcustomeraccount(..) checklogin(..) acknowledgednstermsofuse(..) getmyadminloginlink(..) hasacknowledgeddnstermsofuse(..) getaccountnumberfordbuser(..) passwordrequestbymailallowed(..) updateaccountpassword(..) deletetoken(..) updatecsspassword(..) createtoken(..) checktoken(..) getenddatefrommaincontract(..) getpackageconfiguration(..) modifyresourcerecord(..) isuptodate(..) deleteresourcerecord(..) addresourcerecord(..) getwebspacesubdirectories(..) createwebspace(..) getwebhostingcategory(..) getavailablephpversions(..) get frommasteraccount(..) createwebstatssession(..) getwebspacequota(..) getwebhostingdetails(..) getwebuserids(..) getwebhostingcategories(..) hasproweb(..) createmysql(..) updatewebspace(..) setphpversion(..) createftpaccount(..) createwebspacesubdirectory(..) updateftpaccount(..) getprowebdomainnames(..) scheduleantivirlicenseactivation(..) sendsupportrequest(..) addantivirlicense(..) getincreasebandwidthresult(..) getorderstaticipresult(..) queuesms(..) getmailquota(..) getsmsauthorizations(..) getantivirlicenselist(..) getftpquota(..) getsmsauthorization(..) sendsms(..) getsmsnumbers(..) getsmscontacts(..) activatesmsnumber(..) createsmstoken(..) getvirtualserverenvironment() createwlanaccount(..) orderstaticip(..) setsmsauthorizations(..) 45 3 getmysqlquota(..) 3 removesmscontact(..) addsmscontact(..) getdomains(..) gettopleveldomains(..) createsubdomain(..) reassigndomain(..) performdomainorder(..) isvalidcontact(..) deletesubdomain(..) isdomainfree(..) getdomaininfo(..) getfederalstateforzipcode(..) getdomaincategory(..) getvacationinfo(..) getmailaccounts(..) updatevacationinfo(..) reactivate virusscan(..) delete virusscan(..) add virusscan(..) removelistentryfromspamfilter(..) add alias(..) delete account(..) addlistentrytospamfilter(..) updatespamfilterconfiguration(..) create account(..) getspamfilterconfiguration(..) update forward(..) createtoken(..) getenddatefrommaincontract(..) getpackageconfiguration(..) getcustomeraccount(..) getaccountinfos(..) checklogin(..) getwebstatisticlink(..) getaccountnumberfordbuser(..) acknowledgednstermsofuse(..) hasacknowledgeddnstermsofuse(..) getmyadminloginlink(..) printcontractconfirmation(..) updatecsspassword(..) updateaccountpassword(..) checktoken(..) deletetoken(..) <<execution container>> <<execution container>> css $ 5300 <<execution container>> css <<execution container>> @5:..AccountService W. Hasselbring (CAU) Kieker Southampton 34 / 5

40 Dynamic Analysis for Modernization KoSSE Project DynaMod, Reverse Engineering. Reverse Engineering of C# Motivation: Emergent Architectures Project Consortium Dataport, Altenholz Software Engineering Group University of Kiel, Kiel b+m Informatik AG, Melsdorf HSH Nordbank AG, Kiel W. Hasselbring (CAU) Kieker Southampton 35 / 5

41 Reverse Engineering of C# Complete Test Suite of Nordic Analytics [Magendanz 0] Reverse Engineering Reverse Engineering of C# Case study at HSH Nordbank AG. W. Hasselbring (CAU) Kieker Southampton 36 / 5

42 After Selecting a single Use Case Reverse Engineering of C# Reverse Engineering Reverse Engineering of C# $ @5:..cSecurityDetailsCFP @48:..cConvexityAdjustmentModel @3:..cSecurityDependency @3:..cVaRMethodFactory @4:..cPricingParamsCFP @50:..cAccruedInterestCalculator W. Hasselbring (CAU) Kieker Southampton 37 / 5

43 Zoom to the Operation Level Reverse Engineering of C# Reverse Engineering Reverse Engineering of IsShortRateMC(..) CreateSwaptionPricing(..) Price(..) InitializeLMMPricing(..) InitializeCommodityMCPricing(..) InitializeIndexMCPricing(..) IsHistoricalSecurity(..) AddIPricingResults(..) GetPricingResult(..) Price(..) $ 4 PriceSwaption(..) SetContactMessage() ReadObjectsFromFile(..) WriteObjectsToFile(..) ClearPools() EvaluateJob(..) GetVersionNumber() GetCompilationDate() 6 SetResultProperties(..) GetObject(..) SetJobPart(..) PriceSwaption(..) GetVolatility(..) AddResultProperty(..) AddResultProperty(..) CreateObject(..) CreateObject(..) GetOutConverter(..) WriteLogInfo(..) WriteLogInfo(..) InitializeTemplateObjects() SetStoreLossDistributions() InitializeUsageTracking() InitializePartialJobs(..) GetUseUsageTracking(..) Evaluate() InitializeMarketDataUsageTracking() GetValuationDate() <<assembly 8 InitializeObjectTracking(..) GetObject(..) MarketDataUsageCheck() BuildNotBuiltDefaultCurves() ClearIntermediateObjects() ToString() BuildDateGrids(..) GetSwaptionValueEvaluationType(..) GetBlackScholesOptionType(..) StoreAdditionalPricingResults(..) FairRate(..) CreateObject(..) CreateObjectPreProcessing(..) GetObjects(..) Objects(..) JobPartObjects(..) ReplaceDependence(..) Vega(..) PriceFixLeg(..) InitializeMethodAssetClassSpecification() ReadMethodAssetClassSpecification(..) GetDefaultIRSubModelType(..) Create(..) ReadObjectsTable(..) InitMembersWithCorrespondingNullValues() Initialize(..) 4 InitializeObjects() CopyOrId(..) FindCollections(..) SetCollectionObjects(..) GetObjectSignatures(..) CheckObjectsAreUnique(..) GetObjects(..) Objects(..) GetEndDate() GetSwapTenor() PriceFixCF(..) ReadDescriptionTableProperties(..) ReadObjectsTable(..) CheckNumberOfObjects(..) ProveOfUniqueObjects(..) ReadObjects(..) Insert(..) 4 8 ReadDescriptionTableProperties(..) GetSwapTenorTime() GetHashCode() ReadCurrencyProperty(..) GetDependencyHandle() ReplaceDependence() GetObject(..) PriceSwaption(..) GetSpecificMarketData(..) PriceSwaption(..) GetVolatility(..) GetPricingResult(..) Price(..) SetResultProperties(..) AddResultProperty(..) AddResultProperty(..) AddIPricingResults(..) Price(..) 4 W. Hasselbring (CAU) Kieker Southampton 38 / 5

44 Reverse Engineering of Visual Basic 6 Analysis of Specific Traces Reverse Engineering Reverse Engineering of Visual Basic 6 frmlogin.cmdok_click() frmlogin.anwendung() frmmain.mdiform_load() Module.Main() frmlogin.form_load() frmakte.tool_menu_begin() frmlogin.txtpassword_gotfocus() frmakte.ob_frei() $ frmmain.mnudatafrmakte_click() frmakte.form_resize() frmakte.form_load() frmakte.ob_sperren() frmakte.felder_sperren() frmakte.option_click(integer) clsklasse.class_initialize() clsklasse.pruef_user() clsklasse.pruef_abt() clsklasse.pruef_rechte() BENUTZER.select() ABTEILUNG.select() BENABT.select() frmakte.felder_frei() frmakte.setbuttons(boolean) AKTE.select() clsklasse.adoprimaryrs_movecomplete(adodb.eventreasonenum, ADODB.Error, ADODB.EventStatusEnum, ADODB.Recordset) frmakte.suchen() frmakte.felder_sichern() 8 clsklasse.class_getdatamember(string, Object) frmakte.cmdedit_click() frmakte.indexposlesen() IPOS.select() frmakte.pruefung_ob() frmakte.fuehrende_nullen(long) frmakte.txtfields_change(integer) frmakte.daten_binden() 6 frmakte.tool_menu_edit() frmakte.abteilung() frmakte.rtxtboxtitel_change() frmakte.rtxtboxenthaelt_change() Case study at Dataport W. Hasselbring (CAU) Kieker Southampton 39 / 5

45 cmdupdate_click mnufileclose_click Identification of unused Functions Reverse Engineering of Visual Form_KeyDown Basic 6 Reverse Engineering Reverse Engineering of Visual Basic 6 mnueditundo_click SetButtons cmdnext_click frmstat.847 ms cmdlast_click cmdfirst_click cmdclose_click 85 Abt_Akte_del Ben_BenAb ipos_loesch Statistik 6.7 ms ms Abt_Zus_del 76 Ausgabe cmd_start_click abt_suchen ms Form_Load MouseWheel mnufilestart_click ms txt_abt_gotfocus Zeile mnuhelpabout_click MSHFlexGrid_RowColChange EditingRecord Itext_neu Add IndexNeu mnuhelpsearchforhelpon_click 3.9 ms Zus_Akte_del ms Form_KeyDown Ben_neu Abt_n cmdclose_click 83 mnuhelpcontents_click mnufileexit_click cmd_druck_click AkteLoeschen Zus_Itext_del W. Hasselbring (CAU) Kieker Southampton 40 / 5

46 Reverse Engineering of COBOL With consideration of non-instrumentable modules [Knoche et al. 0] Reverse Engineering Reverse Engineering of COBOL IDENTIFICATION DIVISION. PROGRAM-ID. MODULE-X. PROCEDURE DIVISION. CALL "MODULE-Y". GOBACK. Literal block Before-Call Injection Point Called Module: "MODULE-Y" Literal block AOP-based COBOL instrumentation MODULE-B $ MODULE-A MODULE-C MODULE-D MODULE-E Module-level call dependency graph with assumed dependencies W. Hasselbring (CAU) Kieker Southampton 4 / 5

47 Analysis of a PC COBOL System [Richter 0] Reverse Engineering Reverse Engineering of COBOL Abbildung 6.5: Komponentenabhängigkeits-Modell der Menü-Navigation; Extrahiert aus den Monitoringdaten @8:REALIA_FINDCLOSE Ergebnisse der Evaluation W. Hasselbring (CAU) Kieker Southampton 4 / 5

48 C++ Digital Signal Processing Kiel Real-time Audio Toolkit (KiRAT) Reverse Engineering Reverse Engineering of C / C++ Source: W. Hasselbring (CAU) Kieker Southampton 43 / 5

49 on_main, algcore_common_audio_effects_chorus_main, algcore_common_wavreader_main, algcore_common_fb_synthesis_main, algcore_common_wavreader_interface, algcore_common_si_main _conv_ols04] _matrix_cpu_main. Analysis of und the algorithmic kernel [Mahmens gnalsel algcore_common Reverse Engineering of C++ Reverse Engineering. Reverse Engineering of C / SapAlgCoreFree3DArray(..) SapAlgCoreFree(..) SapAlgCoreCalloc3DArray(..) SapAlgCoreMedsigproDeinit(..) SapAlgCoreCalloc(..) 3 *SapAlgCoreMedsigproInit(..) 3354 SapAlgCoreFreeDArray(..) SapAlgCoreCallocDArray(..) SapAlgCoreFreeDArray(..) SapAlgCoreCallocDArray(..) Performance normierte Laufzeit der Funktion [in µs] Abbildung 5.4. Aufrufe des Pakets Medical-Signal-Processing zur Speicherverwaltung Abbildung 5.4 zeigt die Nutzung der Speicheralloziirung des Pakets. Wie auch beim Paket System-Evaluation wird die Funktion SapAlgCoreCallocDArray() einmal weniger aufgerufen als die Funktion SapAlgCoreFreeDArray(), Aufrufe im Vergleich zu 3 Aufrufen. Alle anderen Ressourcen werden vollständig wieder freigegeben normierte Zeit [in s] W. Hasselbring (CAU) Kieker Loudspeaker-Enclosure-Microfone-Simulation Abbildung 6.4. Aggregiertes Sequenzdiagramm für die Laufzeiten der Funktion SapAlgCorePro- Southampton 44 / 5

50 Reverse Engineering of Perl Visualizing Dependencies in EPrints Reverse Engineering Reverse Engineering of Perl First shot with full instrumentation: W. Hasselbring (CAU) Kieker Southampton 45 / 5

51 Visualizing Dependencies 6. Ergebnisse in EPrints Customized visualization with Gephi [Wechselberg 03] Reverse Engineering Reverse Engineering of Perl Abbildung 6.. Visualisierung der Abhängigkeiten in EPrints Red: EPrints.PluginFactory. Green: EPrints.Repository. W. Hasselbring (CAU) Kieker Southampton 46 / 5

52 Visualizing Dependencies in EPrints Refinement with adaptive monitoring [Jensen 03] Reverse Engineering Reverse Engineering of Perl Abbildung 5.6. Abhängigkeiten beim ersten Request mit dem adaptiven Monitoring von EPrints. W. Hasselbring (CAU) Kieker Southampton 47 / 5

53 Kieker in Space Some analysis results [Harms 03] Reverse Engineering Kieker in Space W. Hasselbring (CAU) Kieker Southampton 48 / 5

Application Performance Monitoring with Kieker: Failure detection, capacity management, reverse engineering and more

Application Performance Monitoring with Kieker: Failure detection, capacity management, reverse engineering and more Application Performance Monitoring with Kieker: Failure detection, capacity management, reverse engineering and more Wilhelm Hasselbring, Reiner Jung Software Engineering Group, Kiel University http://se.informatik.uni-kiel.de/

More information

Open-Source-Software als Katalysator im Technologietransfer am Beispiel des Monitoring-Frameworks

Open-Source-Software als Katalysator im Technologietransfer am Beispiel des Monitoring-Frameworks Open-Source-Software als Katalysator im Technologietransfer am Beispiel des -Frameworks Wilhelm Hasselbring 1 & André van Hoorn 2 1 Kiel University (CAU) Software Engineering Group & 2 University of Stuttgart

More information

Tool-Supported Application Performance Problem Detection and Diagnosis. André van Hoorn. http://www.iste.uni-stuttgart.de/rss/

Tool-Supported Application Performance Problem Detection and Diagnosis. André van Hoorn. http://www.iste.uni-stuttgart.de/rss/ Tool-Supported Application Performance Problem Detection and Diagnosis University of Stuttgart Institute of Software Technology, Reliable Software Systems Group http://www.iste.uni-stuttgart.de/rss/ Agenda

More information

Continuous Monitoring of Software Services: Design and Application of the Kieker Framework

Continuous Monitoring of Software Services: Design and Application of the Kieker Framework Continuous Monitoring of Software Services: Design and Application of the Kieker André van Hoorn 1,3, Matthias Rohr 1,2, Wilhelm Hasselbring 1,3, Jan Waller 3, Jens Ehlers 3, Sören Frey 3, and Dennis Kieselhorst

More information

INSTITUT FÜR INFORMATIK

INSTITUT FÜR INFORMATIK INSTITUT FÜR INFORMATIK Performance Analysis of Legacy Perl Software via Batch and Interactive Trace Visualization Christian Zirkelbach, Wilhelm Hasselbring, Florian Fittkau, and Leslie Carr Bericht Nr.

More information

Self Adaptive Software System Monitoring for Performance Anomaly Localization

Self Adaptive Software System Monitoring for Performance Anomaly Localization 2011/06/17 Jens Ehlers, André van Hoorn, Jan Waller, Wilhelm Hasselbring Software Engineering Group Christian Albrechts University Kiel Application level Monitoring Extensive infrastructure monitoring,

More information

INSTITUT FÜR INFORMATIK

INSTITUT FÜR INFORMATIK INSTITUT FÜR INFORMATIK Live Trace Visualization for System and Program Comprehension in Large Software Landscapes Florian Fittkau Bericht Nr. 1310 November 2013 ISSN 2192-6247 CHRISTIAN-ALBRECHTS-UNIVERSITÄT

More information

ExplorViz: Visual Runtime Behavior Analysis of Enterprise Application Landscapes

ExplorViz: Visual Runtime Behavior Analysis of Enterprise Application Landscapes ExplorViz: Visual Runtime Behavior Analysis of Enterprise Application Landscapes Florian Fittkau, Sascha Roth, and Wilhelm Hasselbring 2015-05-27 Fittkau, Roth, Hasselbring ExplorViz: Visual Runtime Behavior

More information

Capturing provenance information with a workflow monitoring extension for the Kieker framework

Capturing provenance information with a workflow monitoring extension for the Kieker framework Capturing provenance information with a workflow monitoring extension for the Kieker framework Peer C. Brauer Wilhelm Hasselbring Software Engineering Group, University of Kiel, Christian-Albrechts-Platz

More information

Scalable and Live Trace Processing with Kieker Utilizing Cloud Computing

Scalable and Live Trace Processing with Kieker Utilizing Cloud Computing Scalable and Live Trace Processing with Kieker Utilizing Cloud Computing Florian Fittkau, Jan Waller, Peer Brauer, and Wilhelm Hasselbring Department of Computer Science, Kiel University, Kiel, Germany

More information

Hora: Online Failure Prediction Framework for Component-based Software Systems Based on Kieker and Palladio

Hora: Online Failure Prediction Framework for Component-based Software Systems Based on Kieker and Palladio Hora: Online Failure Prediction Framework for Component-based Software Systems Based on Kieker and Palladio Teerat Pitakrat Institute of Software Technology University of Stuttgart Universitätstraße 38

More information

Towards Adaptive Monitoring of Java EE Applications

Towards Adaptive Monitoring of Java EE Applications Towards Adaptive onitoring of Java EE Applications Dušan Okanović #1, André van Hoorn 2, Zora Konjović #3, and ilan Vidaković #4 # Faculty of Technical Sciences, University of Novi Sad Fruškogorska 11,

More information

KPDAYS 13 Symposium on Software Performance: Joint Kieker/Palladio Days 2013. Karlsruhe, Germany, November 27 29, 2013 Proceedings

KPDAYS 13 Symposium on Software Performance: Joint Kieker/Palladio Days 2013. Karlsruhe, Germany, November 27 29, 2013 Proceedings Steffen Becker André van Hoorn Wilhelm Hasselbring Ralf Reussner (Eds.) KPDAYS 13 Symposium on Software Performance: Joint Kieker/Palladio Days 2013 Karlsruhe, Germany, November 27 29, 2013 Proceedings

More information

Online Performance Anomaly Detection with

Online Performance Anomaly Detection with ΘPAD: Online Performance Anomaly Detection with Tillmann Bielefeld 1 1 empuxa GmbH, Kiel KoSSE-Symposium Application Performance Management (Kieker Days 2012) November 29, 2012 @ Wissenschaftszentrum Kiel

More information

GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs

GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs Doctoral Symposium Reiner Jung Christian-Albrechts-Universität zu Kiel Institut für Informatik 26.02.2014 Domain-specific Languages Motivation

More information

Microservices for Scalability

Microservices for Scalability Microservices for Scalability Keynote at ICPE 2016, Delft, NL Prof. Dr. Wilhelm (Willi) Hasselbring Software Engineering Group, Kiel University, Germany http://se.informatik.uni-kiel.de/ Competence Cluster

More information

Continuous Integration in Kieker

Continuous Integration in Kieker 28. November 2014 @ Stuttgart, Germany Continuous Integration in Kieker (Experience Report) Nils Christian Ehmke, Christian Wulf, and Wilhelm Hasselbring Software Engineering Group, Kiel University, Germany

More information

Monitoring of Perl-based webapplications using Kieker

Monitoring of Perl-based webapplications using Kieker Monitoring of Perl-based webapplications using Kieker Nis Wechselberg Institut für Informatik Christian-Albrechts-Universität zu Kiel 2013-06-28 Nis Wechselberg (CAU Kiel) Perl-Monitoring 2013-06-28 1

More information

Performance Benchmarking of Application Monitoring Frameworks

Performance Benchmarking of Application Monitoring Frameworks Performance Benchmarking of Application Monitoring Frameworks Jan Waller 2014/5 Kiel Computer Science Series Performance Benchmarking of Application Monitoring Frameworks Dissertation Jan Waller Dissertation

More information

Development of a Concurrent and Distributed Analysis Framework for Kieker

Development of a Concurrent and Distributed Analysis Framework for Kieker Development of a Concurrent and Distributed Analysis Framework for Kieker Master s Thesis Nils Christian Ehmke October 5, 213 Kiel University Department of Computer Science Software Engineering Group Advised

More information

A Comparison of the Influence of Different Multi-Core Processors on the Runtime Overhead for Application-Level Monitoring

A Comparison of the Influence of Different Multi-Core Processors on the Runtime Overhead for Application-Level Monitoring A Comparison of the Influence of Different Multi-Core Processors on the Runtime Overhead for Application-Level Monitoring Jan Waller 1 and Wilhelm Hasselbring 1,2 1 Software Engineering Group, Christian-Albrechts-University

More information

INSTITUT FÜR INFORMATIK

INSTITUT FÜR INFORMATIK INSTITUT FÜR INFORMATIK iobserve: Integrated Observation and Modeling Techniques to Support Adaptation and Evolution of Software Systems Wilhelm Hasselbring, Robert Heinrich, Reiner Jung, Andreas Metzger,

More information

Towards Performance Awareness in Java EE Development Environments

Towards Performance Awareness in Java EE Development Environments Towards Performance Awareness in Java EE Development Environments Alexandru Danciu 1, Andreas Brunnert 1, Helmut Krcmar 2 1 fortiss GmbH Guerickestr. 25, 80805 München, Germany {danciu, brunnert}@fortiss.org

More information

A Benchmark Engineering Methodology to Measure the Overhead of Application-Level Monitoring

A Benchmark Engineering Methodology to Measure the Overhead of Application-Level Monitoring A Benchmark Engineering Methodology to Measure the Overhead of Application-Level Monitoring Jan Waller and Wilhelm Hasselbring Department of Computer Science, Kiel University, Kiel, Germany {jwa, wha}@informatik.uni-kiel.de

More information

Application Performance Monitoring: Trade-Off between Overhead Reduction and Maintainability

Application Performance Monitoring: Trade-Off between Overhead Reduction and Maintainability Application Performance Monitoring: Trade-Off between Overhead Reduction and Maintainability Jan Waller, Florian Fittkau, and Wilhelm Hasselbring 2014-11-27 Waller, Fittkau, Hasselbring Application Performance

More information

Utilizing PCM for Online Capacity Management of Component-Based Software Systems

Utilizing PCM for Online Capacity Management of Component-Based Software Systems Utilizing PCM for Online Capacity Management of Component-Based Software Systems André van Hoorn Software Engineering Group, University of Kiel http://se.informatik.uni-kiel.de/ Nov. 18, 2011 @ Palladio

More information

GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs

GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs Doctoral Symposium - MODELS 2014 Reiner Jung Christian-Albrechts-University Kiel, Germany 30.09.2014 Domain-specific Languages Motivation

More information

INSTITUT FÜR INFORMATIK

INSTITUT FÜR INFORMATIK INSTITUT FÜR INFORATIK Open-Source Software as Catalyzer for Technology Transfer: Kieker s Development and Lessons Learned Wilhelm Hasselbring and André van Hoorn Bericht Nr. 1508 August 2015 ISSN 2192-6247

More information

Integrating the Palladio-Bench into the Software Development Process of a SOA Project

Integrating the Palladio-Bench into the Software Development Process of a SOA Project Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert 1, Alexandru Danciu 1, Christian Vögele 1, Daniel Tertilt 1, Helmut Krcmar 2 1 fortiss GmbH Guerickestr.

More information

SERVICE LEVEL AGREEMENT XML SCHEMA FOR SOFTWARE QUALITY ASSURANCE

SERVICE LEVEL AGREEMENT XML SCHEMA FOR SOFTWARE QUALITY ASSURANCE 1. Dušan OKANOVIĆ, 2. Milan VIDAKOVIĆ, 3. Zora KONJOVIĆ SERVICE LEVEL AGREEMENT XML SCHEMA FOR SOFTWARE QUALITY ASSURANCE 1. FACULTY OF TECHNICAL SCIENCES, NOVI SAD, SERBIA ABSTRACT: In order to assure

More information

Winning the J2EE Performance Game Presented to: JAVA User Group-Minnesota

Winning the J2EE Performance Game Presented to: JAVA User Group-Minnesota Winning the J2EE Performance Game Presented to: JAVA User Group-Minnesota Michelle Pregler Ball Emerging Markets Account Executive Shahrukh Niazi Sr.System Consultant Java Solutions Quest Background Agenda

More information

Performance Monitoring of Database Operations

Performance Monitoring of Database Operations Performance Monitoring of Database Operations Christian Zirkelbach July 29, 2015 Christian Zirkelbach Performance Monitoring of DB Operations July 29, 2015 1 / 39 Outline 1. Introduction 2. Approach 3.

More information

Performance Monitoring of Database Operations

Performance Monitoring of Database Operations Performance Monitoring of Database Operations Master s Thesis Christian Zirkelbach July 26, 2015 Kiel University Department of Computer Science Software Engineering Group Advised by: Prof. Dr. Wilhelm

More information

Evaluation of Technologies for Communication between Monitoring and Analysis Component in Kieker

Evaluation of Technologies for Communication between Monitoring and Analysis Component in Kieker Evaluation of Technologies for Communication between Monitoring and Analysis Component in Kieker Bachelor s Thesis Jan Beye September 26, 2013 Kiel University Department of Computer Science Software Engineering

More information

Curriculum Vitae. Zhenchang Xing

Curriculum Vitae. Zhenchang Xing Curriculum Vitae Zhenchang Xing Computing Science Department University of Alberta, Edmonton, Alberta T6G 2E8 Phone: (780) 433 0808 E-mail: xing@cs.ualberta.ca http://www.cs.ualberta.ca/~xing EDUCATION

More information

A COMPARISON OF AOP BASED MONITORING TOOLS

A COMPARISON OF AOP BASED MONITORING TOOLS STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume LVI, Number 3, 2011 A COMPARISON OF AOP BASED MONITORING TOOLS GRIGORETA S. COJOCAR AND DAN COJOCAR Abstract. The performance requirements of a software system

More information

WebSphere Application Server - Introduction, Monitoring Tools, & Administration

WebSphere Application Server - Introduction, Monitoring Tools, & Administration WebSphere Application Server - Introduction, Monitoring Tools, & Administration presented by: Michael S. Pallos, MBA Senior Solution Architect IBM Certified Systems Expert: WebSphere MQ 5.2 e-business

More information

SPEC Research Group. Sam Kounev. SPEC 2015 Annual Meeting. Austin, TX, February 5, 2015

SPEC Research Group. Sam Kounev. SPEC 2015 Annual Meeting. Austin, TX, February 5, 2015 SPEC Research Group Sam Kounev SPEC 2015 Annual Meeting Austin, TX, February 5, 2015 Standard Performance Evaluation Corporation OSG HPG GWPG RG Open Systems Group High Performance Group Graphics and Workstation

More information

Performance Monitoring for a Web-based Information System

Performance Monitoring for a Web-based Information System University of Kiel Department of Computer Science Software Engineering Group Bachelor Thesis Performance Monitoring for a Web-based Information System Written by: Lars Kroll (lkr@informatik.uni-kiel.de)

More information

Towards a Performance Model Management Repository for Component-based Enterprise Applications

Towards a Performance Model Management Repository for Component-based Enterprise Applications Austin, TX, USA, 2015-02-04 Towards a Performance Model Management Repository for Component-based Enterprise Applications Work-in-Progress Paper (WiP) International Conference on Performance Engineering

More information

SOA management challenges. After completing this topic, you should be able to: Explain the challenges of managing an SOA environment

SOA management challenges. After completing this topic, you should be able to: Explain the challenges of managing an SOA environment Managing SOA Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 4.0.3 Unit objectives After completing this unit, you should be able to: Explain

More information

Using Performance Models to Support Load Testing in a Large SOA Environment Industrial Track

Using Performance Models to Support Load Testing in a Large SOA Environment Industrial Track Using Performance Models to Support Load Testing in a Large SOA Environment Industrial Track Christian Vögele fortiss GmbH An-Institut Technische Universität München Agenda 1. Introduction 2. Motivation

More information

Evaluation of Alternative Instrumentation Frameworks

Evaluation of Alternative Instrumentation Frameworks Evaluation of Alternative Instrumentation Frameworks Dušan Okanović, Milan Vidaković Faculty of Technical Sciences University of Novi Sad Fruškogorska 11 Novi Sad, Serbia oki@uns.ac.rs minja@uns.ac.rs

More information

Combining Static and Dynamic Impact Analysis for Large-scale Enterprise Systems

Combining Static and Dynamic Impact Analysis for Large-scale Enterprise Systems Combining Static and Dynamic Impact Analysis for Large-scale Enterprise Systems The 15th International Conference on Product-Focused Software Process Improvement, Helsinki, Finland. Wen Chen, Alan Wassyng,

More information

SPECjEnterprise2010 & Java Enterprise Edition (EE) PCM Model Generation DevOps Performance WG Meeting 2014-07-11

SPECjEnterprise2010 & Java Enterprise Edition (EE) PCM Model Generation DevOps Performance WG Meeting 2014-07-11 SPECjEnterprise2010 & Java Enterprise Edition (EE) PCM Model Generation DevOps Performance WG Meeting 2014-07-11 Andreas Brunnert Performance & Virtualization Group, Information Systems Division fortiss

More information

11.1 inspectit. 11.1. inspectit

11.1 inspectit. 11.1. inspectit 11.1. inspectit Figure 11.1. Overview on the inspectit components [Siegl and Bouillet 2011] 11.1 inspectit The inspectit monitoring tool (website: http://www.inspectit.eu/) has been developed by NovaTec.

More information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

A Framework for Automatic Performance Monitoring, Analysis and Optimisation of Component Based Software Systems

A Framework for Automatic Performance Monitoring, Analysis and Optimisation of Component Based Software Systems A Framework for Automatic Performance Monitoring, Analysis and Optimisation of Component Based Software Systems Ada Diaconescu *, John Murphy ** Performance Engineering Laboratory Dublin City University,

More information

Performance Prediction, Sizing and Capacity Planning for Distributed E-Commerce Applications

Performance Prediction, Sizing and Capacity Planning for Distributed E-Commerce Applications Performance Prediction, Sizing and Capacity Planning for Distributed E-Commerce Applications by Samuel D. Kounev (skounev@ito.tu-darmstadt.de) Information Technology Transfer Office Abstract Modern e-commerce

More information

LDIF - Linked Data Integration Framework

LDIF - Linked Data Integration Framework LDIF - Linked Data Integration Framework Andreas Schultz 1, Andrea Matteini 2, Robert Isele 1, Christian Bizer 1, and Christian Becker 2 1. Web-based Systems Group, Freie Universität Berlin, Germany a.schultz@fu-berlin.de,

More information

Oracle WebLogic Server 11g: Administration Essentials

Oracle WebLogic Server 11g: Administration Essentials Oracle University Contact Us: 1.800.529.0165 Oracle WebLogic Server 11g: Administration Essentials Duration: 5 Days What you will learn This Oracle WebLogic Server 11g: Administration Essentials training

More information

Application Performance Monitoring: Trade-Off between Overhead Reduction and Maintainability

Application Performance Monitoring: Trade-Off between Overhead Reduction and Maintainability Application Performance Monitoring: Trade-Off between Overhead Reduction and Maintainability Jan Waller, Florian Fittkau, and Wilhelm Hasselbring Department of Computer Science, Kiel University, Kiel,

More information

Product Review: James F. Koopmann Pine Horse, Inc. Quest Software s Foglight Performance Analysis for Oracle

Product Review: James F. Koopmann Pine Horse, Inc. Quest Software s Foglight Performance Analysis for Oracle Product Review: James F. Koopmann Pine Horse, Inc. Quest Software s Foglight Performance Analysis for Oracle Introduction I ve always been interested and intrigued by the processes DBAs use to monitor

More information

Service Oriented Architecture. 9. Integration Darmstadt University of Applied Sciences, Department of Computer Science Dr. Markus Voß (Accso GmbH)

Service Oriented Architecture. 9. Integration Darmstadt University of Applied Sciences, Department of Computer Science Dr. Markus Voß (Accso GmbH) SOA Service Oriented Architecture 9. Integration Darmstadt University of Applied Sciences, Department of Computer Science Dr. Markus Voß (Accso GmbH) Today s topic 1. Introduction 2. Business Architecture

More information

OWB Users, Enter The New ODI World

OWB Users, Enter The New ODI World OWB Users, Enter The New ODI World Kulvinder Hari Oracle Introduction Oracle Data Integrator (ODI) is a best-of-breed data integration platform focused on fast bulk data movement and handling complex data

More information

Holistic Performance Analysis of J2EE Applications

Holistic Performance Analysis of J2EE Applications Holistic Performance Analysis of J2EE Applications By Madhu Tanikella In order to identify and resolve performance problems of enterprise Java Applications and reduce the time-to-market, performance analysis

More information

Architecture Rules Enforcement and Governance Using Aspects

Architecture Rules Enforcement and Governance Using Aspects Architecture Rules Enforcement and Governance Using Aspects Srini Penchikala SATURN 2009 About the Speaker Enterprise Architect Writer, Speaker, Editor (InfoQ) Detroit Java User Group Leader Working with

More information

Layered Queuing networks for simulating Enterprise Resource Planning systems

Layered Queuing networks for simulating Enterprise Resource Planning systems Layered Queuing networks for simulating Enterprise Resource Planning systems Stephan Gradl, André Bögelsack, Holger Wittges, Helmut Krcmar Technische Universitaet Muenchen {gradl, boegelsa, wittges, krcmar}@in.tum.de

More information

Computer Science. General Education Students must complete the requirements shown in the General Education Requirements section of this catalog.

Computer Science. General Education Students must complete the requirements shown in the General Education Requirements section of this catalog. Computer Science Dr. Ilhyun Lee Professor Dr. Ilhyun Lee is a Professor of Computer Science. He received his Ph.D. degree from Illinois Institute of Technology, Chicago, Illinois (1996). He was selected

More information

Instrumentation Software Profiling

Instrumentation Software Profiling Instrumentation Software Profiling Software Profiling Instrumentation of a program so that data related to runtime performance (e.g execution time, memory usage) is gathered for one or more pieces of the

More information

1 Submitting requests and 2 Waiting for a response (+ thinking )

1 Submitting requests and 2 Waiting for a response (+ thinking ) Generating Probabilistic and Intensity-varying for Web-Based Web-Based Software System André van Hoorn, Matthias Rohr, and Wilhelm Hasselbring Contact: van.hoorn@informatik.uni-oldenburg.de Users... n

More information

Augmented Search for Web Applications. New frontier in big log data analysis and application intelligence

Augmented Search for Web Applications. New frontier in big log data analysis and application intelligence Augmented Search for Web Applications New frontier in big log data analysis and application intelligence Business white paper May 2015 Web applications are the most common business applications today.

More information

A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor

A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor Klaus Krogmann, Steffen Becker University of Karlsruhe (TH) {krogmann, sbecker}@ipd.uka.de Abstract: The actual benefits

More information

Handling Big(ger) Logs: Connecting ProM 6 to Apache Hadoop

Handling Big(ger) Logs: Connecting ProM 6 to Apache Hadoop Handling Big(ger) Logs: Connecting ProM 6 to Apache Hadoop Sergio Hernández 1, S.J. van Zelst 2, Joaquín Ezpeleta 1, and Wil M.P. van der Aalst 2 1 Department of Computer Science and Systems Engineering

More information

New Methods for Performance Monitoring of J2EE Application Servers

New Methods for Performance Monitoring of J2EE Application Servers New Methods for Performance Monitoring of J2EE Application Servers Adrian Mos (Researcher) & John Murphy (Lecturer) Performance Engineering Laboratory, School of Electronic Engineering, Dublin City University,

More information

Configuration Management of Massively Scalable Systems

Configuration Management of Massively Scalable Systems 1 KKIO 2005 Configuration Management of Massively Scalable Systems Configuration Management of Massively Scalable Systems Marcin Jarząb, Krzysztof Zieliński, Jacek Kosiński SUN Center of Excelence Department

More information

Mohammed Khan SUMMARY

Mohammed Khan SUMMARY Mohammed Khan E-mail: Mohammedrkhn@gmail.com Phone: 347-878-1170 SUMMARY Over 5 years of diversified experience as a. Experience includes requirement analysis, manual testing and automation and quality

More information

WIRD AG Solution Proposal Project- & Portfolio-Management

WIRD AG Solution Proposal Project- & Portfolio-Management WIRD AG Solution Proposal Project- & Portfolio-Management Overview In order to address the need to control resources, time and cost in projects and in order to develop applications for System z, Wird AG,

More information

Rotorcraft Health Management System (RHMS)

Rotorcraft Health Management System (RHMS) AIAC-11 Eleventh Australian International Aerospace Congress Rotorcraft Health Management System (RHMS) Robab Safa-Bakhsh 1, Dmitry Cherkassky 2 1 The Boeing Company, Phantom Works Philadelphia Center

More information

A Software Development Platform for SOA

A Software Development Platform for SOA A Software Development Platform for SOA Peter Eeles Executive IT Architect Rational Brand Architect for UK, Ireland and South Africa peter.eeles@uk.ibm.com 2004 IBM Corporation Agenda IBM Software Group

More information

Automatic Extraction of Probabilistic Workload Specifications for Load Testing Session-Based Application Systems

Automatic Extraction of Probabilistic Workload Specifications for Load Testing Session-Based Application Systems Bratislava, Slovakia, 2014-12-10 Automatic Extraction of Probabilistic Workload Specifications for Load Testing Session-Based Application Systems André van Hoorn, Christian Vögele Eike Schulz, Wilhelm

More information

5 Days Course on Oracle WebLogic Server 11g: Administration Essentials

5 Days Course on Oracle WebLogic Server 11g: Administration Essentials PROFESSIONAL TRAINING COURSE 5 Days Course on Oracle WebLogic Server 11g: Administration Essentials Two Sigma Technologies 19-2, Jalan PGN 1A/1, Pinggiran Batu Caves, 68100 Batu Caves, Selangor Tel: 03-61880601/Fax:

More information

An Oracle White Paper September 2013. Advanced Java Diagnostics and Monitoring Without Performance Overhead

An Oracle White Paper September 2013. Advanced Java Diagnostics and Monitoring Without Performance Overhead An Oracle White Paper September 2013 Advanced Java Diagnostics and Monitoring Without Performance Overhead Introduction... 1 Non-Intrusive Profiling and Diagnostics... 2 JMX Console... 2 Java Flight Recorder...

More information

Using Dynatrace Monitoring Data for Generating Performance Models of Java EE Applications

Using Dynatrace Monitoring Data for Generating Performance Models of Java EE Applications Austin, TX, USA, 2015-02-02 Using Monitoring Data for Generating Performance Models of Java EE Applications Tool Paper International Conference on Performance Engineering (ICPE) 2015 Felix Willnecker 1,

More information

SLA-Driven Adaptive Monitoring of Distributed Applications for Performance Problem Localization

SLA-Driven Adaptive Monitoring of Distributed Applications for Performance Problem Localization DOI:10.2298/CSIS1109260370 SLA-Driven Adaptive Monitoring of Distributed Applications for Performance Problem Localization Dušan Okanović 1, André van Hoorn 2, Zora Konjović 1, and Milan Vidaković 1 1

More information

This training is targeted at System Administrators and developers wanting to understand more about administering a WebLogic instance.

This training is targeted at System Administrators and developers wanting to understand more about administering a WebLogic instance. This course teaches system/application administrators to setup, configure and manage an Oracle WebLogic Application Server, its resources and environment and the Java EE Applications running on it. This

More information

Operations and Monitoring with Spring

Operations and Monitoring with Spring Operations and Monitoring with Spring Eberhard Wolff Regional Director and Principal Consultant SpringSource Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission

More information

Efficient Monitoring of OSGi Applications

Efficient Monitoring of OSGi Applications Degree project Efficient Monitoring of OSGi Applications Author: Portero Aníbal Supervisor: Abbas Nadeem Date: 2013-08-27 Course Code: 2DV00E, 15 credits Level: Bachelor Department of Computer Science

More information

WebSphere Application Server V6.1 Extended Deployment: Overview and Architecture

WebSphere Application Server V6.1 Extended Deployment: Overview and Architecture Chapter 32 WebSphere Application Server V6.1 Extended Deployment: Overview and Architecture The WebSphere Application Server Extended Deployment (WAS XD) package provides many extensions to existing functionality

More information

Monitoring applications in multitier environment. Uroš Majcen uros@quest-slo.com. A New View on Application Management. www.quest.

Monitoring applications in multitier environment. Uroš Majcen uros@quest-slo.com. A New View on Application Management. www.quest. A New View on Application Management www.quest.com/newview Monitoring applications in multitier environment Uroš Majcen uros@quest-slo.com 2008 Quest Software, Inc. ALL RIGHTS RESERVED. Management Challenges

More information

Towards Online Performance Model Extraction in Virtualized Environments

Towards Online Performance Model Extraction in Virtualized Environments Towards Online Performance Model Extraction in Virtualized Environments Simon Spinner 1, Samuel Kounev 1, Xiaoyun Zhu 2, and Mustafa Uysal 2 1 Karlsruhe Institute of Technology (KIT) {simon.spinner,kounev}@kit.edu

More information

Business Process Management with @enterprise

Business Process Management with @enterprise Business Process Management with @enterprise March 2014 Groiss Informatics GmbH 1 Introduction Process orientation enables modern organizations to focus on the valueadding core processes and increase

More information

Introducing Performance Engineering by means of Tools and Practical Exercises

Introducing Performance Engineering by means of Tools and Practical Exercises Introducing Performance Engineering by means of Tools and Practical Exercises Alexander Ufimtsev, Trevor Parsons, Lucian M. Patcas, John Murphy and Liam Murphy Performance Engineering Laboratory, School

More information

zen Platform technical white paper

zen Platform technical white paper zen Platform technical white paper The zen Platform as Strategic Business Platform The increasing use of application servers as standard paradigm for the development of business critical applications meant

More information

PERFORMANCE ANALYSIS OF KERNEL-BASED VIRTUAL MACHINE

PERFORMANCE ANALYSIS OF KERNEL-BASED VIRTUAL MACHINE PERFORMANCE ANALYSIS OF KERNEL-BASED VIRTUAL MACHINE Sudha M 1, Harish G M 2, Nandan A 3, Usha J 4 1 Department of MCA, R V College of Engineering, Bangalore : 560059, India sudha.mooki@gmail.com 2 Department

More information

Evaluation of Control Flow Traces in Software Applications for Intrusion Detection

Evaluation of Control Flow Traces in Software Applications for Intrusion Detection Appeared in Proceedings of the 12th IEEE International ultitopic Conference (IEEE INIC 2008), pages 373 378. IEEE. Dec. 2008. Evaluation of Control Flow Traces in Software Applications for Intrusion Detection

More information

2012 LABVANTAGE Solutions, Inc. All Rights Reserved.

2012 LABVANTAGE Solutions, Inc. All Rights Reserved. LABVANTAGE Architecture 2012 LABVANTAGE Solutions, Inc. All Rights Reserved. DOCUMENT PURPOSE AND SCOPE This document provides an overview of the LABVANTAGE hardware and software architecture. It is written

More information

IBM WebSphere Server Administration

IBM WebSphere Server Administration IBM WebSphere Server Administration This course teaches the administration and deployment of web applications in the IBM WebSphere Application Server. Duration 24 hours Course Objectives Upon completion

More information

ARM-BASED PERFORMANCE MONITORING FOR THE ECLIPSE PLATFORM

ARM-BASED PERFORMANCE MONITORING FOR THE ECLIPSE PLATFORM ARM-BASED PERFORMANCE MONITORING FOR THE ECLIPSE PLATFORM Ashish Patel, Lead Eclipse Committer for ARM, IBM Corporation Oliver E. Cole, President, OC Systems, Inc. The Eclipse Test and Performance Tools

More information

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY A PATH FOR HORIZING YOUR INNOVATIVE WORK A REVIEW ON HIGH PERFORMANCE DATA STORAGE ARCHITECTURE OF BIGDATA USING HDFS MS.

More information

Monitis Project Proposals for AUA. September 2014, Yerevan, Armenia

Monitis Project Proposals for AUA. September 2014, Yerevan, Armenia Monitis Project Proposals for AUA September 2014, Yerevan, Armenia Distributed Log Collecting and Analysing Platform Project Specifications Category: Big Data and NoSQL Software Requirements: Apache Hadoop

More information

Monitor and Manage Your MicroStrategy BI Environment Using Enterprise Manager and Health Center

Monitor and Manage Your MicroStrategy BI Environment Using Enterprise Manager and Health Center Monitor and Manage Your MicroStrategy BI Environment Using Enterprise Manager and Health Center Presented by: Dennis Liao Sales Engineer Zach Rea Sales Engineer January 27 th, 2015 Session 4 This Session

More information

WebSphere Server Administration Course

WebSphere Server Administration Course WebSphere Server Administration Course Chapter 1. Java EE and WebSphere Overview Goals of Enterprise Applications What is Java? What is Java EE? The Java EE Specifications Role of Application Server What

More information

KIEKER: CONTINUOUS MONITORING AND ON DEMAND VISUALIZATION OF JAVA SOFTWARE BEHAVIOR

KIEKER: CONTINUOUS MONITORING AND ON DEMAND VISUALIZATION OF JAVA SOFTWARE BEHAVIOR KIEKER: CONTINUOUS ONITORING AND ON DEAND VISUALIZATION OF JAVA SOFTWARE BEHAVIOR atthias Rohr, André van Hoorn, Jasminka atevska, Nils Sommer, Lena Stoever, Simon Giesecke, Wilhelm Hasselbring Software

More information

Oracle9i Data Warehouse Review. Robert F. Edwards Dulcian, Inc.

Oracle9i Data Warehouse Review. Robert F. Edwards Dulcian, Inc. Oracle9i Data Warehouse Review Robert F. Edwards Dulcian, Inc. Agenda Oracle9i Server OLAP Server Analytical SQL Data Mining ETL Warehouse Builder 3i Oracle 9i Server Overview 9i Server = Data Warehouse

More information

The Evolution of Load Testing. Why Gomez 360 o Web Load Testing Is a

The Evolution of Load Testing. Why Gomez 360 o Web Load Testing Is a Technical White Paper: WEb Load Testing To perform as intended, today s mission-critical applications rely on highly available, stable and trusted software services. Load testing ensures that those criteria

More information

Stream Processing on GPUs Using Distributed Multimedia Middleware

Stream Processing on GPUs Using Distributed Multimedia Middleware Stream Processing on GPUs Using Distributed Multimedia Middleware Michael Repplinger 1,2, and Philipp Slusallek 1,2 1 Computer Graphics Lab, Saarland University, Saarbrücken, Germany 2 German Research

More information

Private Public Partnership Project (PPP) Large-scale Integrated Project (IP)

Private Public Partnership Project (PPP) Large-scale Integrated Project (IP) Private Public Partnership Project (PPP) Large-scale Integrated Project (IP) D9.4.2: Application Testing and Deployment Support Tools Project acronym: FI-WARE Project full title: Future Internet Core Platform

More information

You can t even ask them to push a button: Toward ubiquitous, developer-centric, empirical software engineering

You can t even ask them to push a button: Toward ubiquitous, developer-centric, empirical software engineering You can t even ask them to push a button: Toward ubiquitous, developer-centric, empirical software engineering Philip Johnson Department of Information and Computer Sciences University of Hawaii Honolulu,

More information

theguard! ApplicationManager System Windows Data Collector

theguard! ApplicationManager System Windows Data Collector theguard! ApplicationManager System Windows Data Collector Status: 10/9/2008 Introduction... 3 The Performance Features of the ApplicationManager Data Collector for Microsoft Windows Server... 3 Overview

More information