Application Performance Monitoring with Kieker: Failure detection, capacity management, reverse engineering and more
|
|
- Matilda Campbell
- 8 years ago
- Views:
Transcription
1 Application Performance Monitoring with Kieker: Failure detection, capacity management, reverse engineering and more Wilhelm Hasselbring, Reiner Jung Software Engineering Group, Kiel University with contributions by Till Bielefeld (Voltremote), Nils Ehmke, Florian Fitkau, Sören Frey, André van Hoorn (Uni Stuttgart), Holger Knoche (b+m), Matthias Rohr (BTC), Jan Waller, Christian Wulf, and others SPP Design for Future, Aachen, March st, 03
2 Agenda Monitoring for Dynamic Analysis Kieker Monitoring & Analysis Framework 3 Failure Detection 4 Reverse Engineering 5 Capacity Management 6 Kieker Hands On 7 Summary and Outlook Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future / 5
3 First: Static Analysis Monitoring for Dynamic Analysis Various approaches with varying objectives, some examples: Code Metrics JavaNCSS Coding rules Checkstyle Bug patterns FindBugs Clon detection Bauhaus Architecture analysis Sotograph Static analysis may be applied directly on the program code. Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 3 / 5
4 Dynamic Analysis of Runtime Behavior Monitoring for Dynamic Analysis Static analysis may asses the structure of software systems, but the actual runtime behavior may only be assessed via dynamic analysis. Profiling (during development) allows for dynamic analysis, but usually not under real workload conditions. Monitoring (during operation) allows for continuous dynamic analysis of the actual runtime behavior under real workload conditions. Appreciating the requirements of operating software systems is required while constructing software systems Continuous monitoring is such a requirement. Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 4 / 5
5 Monitoring on different system layers Monitoring for Dynamic Analysis Business/Service Monitoring Application Monitoring System Monitoring Business Processes Services Application Middleware Container Operating System Hardware Infrastructure Key performance indicators, e.g., process throughput time,... SLO compliance, workload,... Response times, operational profile,... Connection pool size,... Thread pool size, heap size,... CPU/Memory utilization,... Availability, reliability,... Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 5 / 5
6 What is done with large-scale systems? Example: Facebook Monitoring for Dynamic Analysis 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 Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 6 / 5
7 Agenda <<Reader>> : FS reader Writing (W) CreateVehicleEJB CreateVehicleWS Purchase Manage Browse (b) macro-benchmark operationexecutions traceevents outputport <<Filter>> : Trace reconstruction filter (a) micro-benchmark <<Filter>> : Performance anomaly filter <<Repository>> : System model repository systemmodel systemmodel messagetraces executiontraces anomalyratings anomalyratings messagetraces messagetraces <<Filter>> : Anomaly graph plotter systemmodel <<Filter>> : Sequence diagram visualization se.informatik.uni-kiel.de systemmodel <<Filter>> : Dependency graph visualization Workload Anomaly Detection $ searchbook() 635 Calendar time (hh:mm) Anomaly score getoffers() M M getbook(..) <<execution container>> M M M M getbook(..) <<execution container>> getbook(..) Kieker.Monitoring Monitoring Log/Stream Monitoring Monitoring Monitoring Probe Probe Probe Monitoring Controller Monitoring Writer Monitoring Record Serialization Deserialization Monitoring Monitoring Monitoring Reader Reader Reader Analysis Controller Analysis / Analysis // Visualization Visualization Plugin Plugin Kieker.Analysis AspectJ Servlet System time <your time source> Database (SQL) Named pipe <your monitoring writer> Operation execution Control-flow events CPU utilization Resource utilization Current time Manual instrumentation Spring CXF/SOAP <your interception technology> CPU utilization Memory usage <your technology> <your monitoring probe> File system Java Messaging Servcice (JMS) Java Management Ext. (JMX) Database (SQL) File system <your monitoring record type> File system Java Messaging Service (JMS) Java Management Ext. (JMX) Database (SQL) Named pipe <your monitoring reader> Output stream Memory/swap usage Real-time replayer Dependency graphs Sequence diagrams Call graphs <your visualization> <your trace analysis> <your reconstruction plugin> <your analysis plugin/tool> Kieker Monitoring & Analysis Framework Monitoring for Dynamic Analysis Kieker Monitoring & Analysis Framework Introduction Architecture Program Instrumentation Analysis Visualization Overhead Evaluation 3 Failure Detection 4 Reverse Engineering Reverse Engineering of Java EE Reverse Engineering von C# Reverse Engineering of COBOL Reverse Engineering of VB 6 5 Capacity Management 6 Kieker Hands On 7 Summary and Outlook Kieker: A Framework for Application Performance Monitoring and Dynamic Software Analysis Continuous Application Performance Monitoring for Online and Offline Analysis Static analysis 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 The obtained monitoring data can, for instance, be used for Performance evaluation (e.g., bottleneck detection) (Self-)adaptation control (e.g., capacity management) Application-level failure detection and diagnosis Instrumentation and Monitoring Overhead Framework Characteristics Pipe-and-Filter Configuration for Analysis/Visualization Invited Tool ICPE 0 Includes probes for collecting timing, control flow, and resource utilization Support for various Java instrumentation methods, e.g., AspectJ, middleware interception, Servlet filters Micro-benchmarks revealed low overhead Each activation adds constant overhead (linear scaling) Modular, flexible, and extensible architecture Extensible probes, readers, writers, records, and plugins Integrated monitoring record type model for monitoring and analysis Allows to log, reconstruct, analyze, and visualize distributed traces Designed for continuous operation in multi-user systems Evaluated in lab experiments and industrial case studies (since 006) Kieker is open-source software (Apache License, V..0) A. van Hoorn, J. Waller, and W. Hasselbring. Kieker: A Framework for Application Performance Monitoring and Dynamic Software Analysis. Proc. 3rd ACM/SPEC Int. Conf. Perform. Eng. (ICPE '), ACM, 0 Invocations/minute [x 000] Software Engineering Group Department of Computer Science University of Kiel, Germany Simulation (workload, measurement, logging, and analysis) Software maintenance, reverse engineering, modernization Service-level management 635 searchbook() getoffers() Periodic Sampling JMX Interface Logging Logging Time Source Current Activities/Coming Soon Monitoring adapters for.net, VB6, COBOL etc. Model-driven instrumentation & analysis Web-based graphical user interface Plugins for analysis of concurrent behavior Monitoring Probes/Samplers Time Sources Monitoring Writers Monitoring Records Monitoring Readers Control-flow tracing Sigar Servlet Resource monitoring Kieker is distributed as part of SPEC RG's repository of peer-reviewed tools for quantitative system evaluation and analysis Asynchr. writers Syncr. Architecture reconstr. Pipe-and-filter framework Analysis/Visualization Plugins Trace analysis Visualization Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 7 / 5
8 Kieker Monitoring & Analysis Framework Essential features [Rohr et al. 008, van Hoorn et al. 009; 0] Kieker Monitoring & Analysis Framework Introduction Modular, flexible, and extensible architecture (Probes, records, readers, writers, filters etc.) Pipes-and-filters framework for analysis configuration Distributed tracing (Spring, SOAP, etc.) Low overhead (designed for continuous operation) Evaluated in lab and industrial case studies Kieker.Monitoring Periodic Sampling JMX Interface Monitoring Monitoring Monitoring Probe Probe Probe Logging Monitoring Controller Logging Monitoring Writer Serialization Time Source Monitoring Probes/Samplers Time Sources Monitoring Writers Control-flow tracing Resource monitoring System time <your time source> Asynchr. writers Syncr. Manual instrumentation AspectJ Servlet Database (SQL) Named pipe <your monitoring writer> Operation execution Spring CXF/SOAP <your interception technology> Servlet Sigar CPU utilization Memory usage <your technology> <your monitoring probe> File system Java Messaging Service (JMS) Java Management Ext. (JMX) Database (SQL) File system Output stream Kieker is Open-Source Software (Apache License, V..0) Recommended Tool of the SPEC Research Group Monitoring Log/Stream Monitoring Record Deserialization Monitoring Monitoring Monitoring Reader Reader Reader Monitoring Records Monitoring Readers Control-flow events CPU utilization Resource utilization Current time <your monitoring record type> File system Java Messaging Service (JMS) Java Management Ext. (JMX) Database (SQL) Named pipe Memory/swap usage Real-time replayer Kieker is distributed as part of SPEC RG s repository of peer-reviewed tools for quantitative system evaluation and analysis, Analysis Controller Analysis / Analysis // Visualization Visualization Plugin Plugin Kieker.Analysis Analysis/Visualization Plugins <your monitoring reader> 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> Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 8 / 5
9 Kieker s Evolution Diplomand Erstprüfer Zweitprüfer Betreuer Trustworthy Software Systems Certification Quality of Service Component Technology DEPARTMENT FÜR INFORMATIK Thilo Focke Am Schloßgarten 4 SOFTWARE ENGINEERING Diplomarbeit 3. März Oldenburg thilo.focke@informatik.uni-oldenburg.de Prof. Dr. Wilhelm Hasselbring Prof. Dr. Ralf Reussner (Universität Karlsruhe) MIT Matthias Rohr Dipl.-Math. Johannes-Gerhard Schute Kieker Monitoring & Analysis Framework Introduction Correctness Safety Availability Reliability Performance Security Privacy Performance Monitoring von Middleware-basierten Applikationen Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5
10 Kieker s Evolution Diplomand Erstprüfer Zweitprüfer Betreuer Trustworthy Software Systems Certification Quality of Service Component Technology DEPARTMENT FÜR INFORMATIK Thilo Focke Am Schloßgarten 4 SOFTWARE ENGINEERING Diplomarbeit 3. März Oldenburg thilo.focke@informatik.uni-oldenburg.de Prof. Dr. Wilhelm Hasselbring Prof. Dr. Ralf Reussner (Universität Karlsruhe) MIT Matthias Rohr Dipl.-Math. Johannes-Gerhard Schute Kieker Monitoring & Analysis Framework Introduction Correctness Safety Availability Reliability Performance Security Privacy Performance Monitoring von Middleware-basierten Applikationen Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5
11 Kieker s Evolution Diplomand Erstprüfer Zweitprüfer Betreuer Trustworthy Software Systems Certification Quality of Service Component Technology DEPARTMENT FÜR INFORMATIK Thilo Focke Am Schloßgarten 4 SOFTWARE ENGINEERING Diplomarbeit 3. März Oldenburg thilo.focke@informatik.uni-oldenburg.de Prof. Dr. Wilhelm Hasselbring Prof. Dr. Ralf Reussner (Universität Karlsruhe) MIT Matthias Rohr Dipl.-Math. Johannes-Gerhard Schute Kieker Monitoring & Analysis Framework Introduction Correctness Safety Availability Reliability Performance Security Privacy Performance Monitoring von Middleware-basierten Applikationen versions 0.5/0.6 - st Sourceforge releases - Monitoring Component - Tpmon - DB and FS Writer (sync&async) - Java classes - AspectJ probes - (Analysis component - Tpan - not part of the releases) Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5
12 Kieker s Evolution Diplomand Erstprüfer Zweitprüfer Betreuer Trustworthy Software Systems Certification Quality of Service Component Technology DEPARTMENT FÜR INFORMATIK Thilo Focke Am Schloßgarten 4 SOFTWARE ENGINEERING Diplomarbeit 3. März Oldenburg thilo.focke@informatik.uni-oldenburg.de Prof. Dr. Wilhelm Hasselbring Prof. Dr. Ralf Reussner (Universität Karlsruhe) MIT Matthias Rohr Dipl.-Math. Johannes-Gerhard Schute Kieker Monitoring & Analysis Framework Introduction Correctness Safety Availability Reliability Performance Security Privacy Performance Monitoring von Middleware-basierten Applikationen a version Distributed monitoring - Servlet, CXF, and Spring probes - 36 Java classes Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5
13 Kieker s Evolution Diplomand Erstprüfer Zweitprüfer Betreuer Trustworthy Software Systems Certification Quality of Service Component Technology DEPARTMENT FÜR INFORMATIK Thilo Focke Am Schloßgarten 4 SOFTWARE ENGINEERING Diplomarbeit 3. März Oldenburg thilo.focke@informatik.uni-oldenburg.de Prof. Dr. Wilhelm Hasselbring Prof. Dr. Ralf Reussner (Universität Karlsruhe) MIT Matthias Rohr Dipl.-Math. Johannes-Gerhard Schute Kieker Monitoring & Analysis Framework Introduction Correctness Safety Availability Reliability Performance Security Privacy Performance Monitoring von Middleware-basierten Applikationen a versions 0.95a/.0 - Major architectural changes (009 TR) - Generalized/extensible monitoring record model - Generalized/extensible writer/reader model - First release containing parts of the analysis component - Micro-benchmark - Version.0: 8 Java class files + 8 Java test files Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5
14 Kieker s Evolution Diplomand Erstprüfer Zweitprüfer Betreuer Trustworthy Software Systems Certification Quality of Service Component Technology DEPARTMENT FÜR INFORMATIK Thilo Focke Am Schloßgarten 4 SOFTWARE ENGINEERING Diplomarbeit 3. März Oldenburg thilo.focke@informatik.uni-oldenburg.de Prof. Dr. Wilhelm Hasselbring Prof. Dr. Ralf Reussner (Universität Karlsruhe) MIT Matthias Rohr Dipl.-Math. Johannes-Gerhard Schute Kieker Monitoring & Analysis Framework Introduction Correctness Safety Availability Reliability Performance Security Privacy Performance Monitoring von Middleware-basierten Applikationen JUnit a version. - User Guide version. - TraceAnalysis tool - System meta-model - On-the-fly trace reconstruction - 4 Java classes Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5
15 Kieker s Evolution Diplomand Erstprüfer Zweitprüfer Betreuer Trustworthy Software Systems Certification Quality of Service Component Technology DEPARTMENT FÜR INFORMATIK Thilo Focke Am Schloßgarten 4 SOFTWARE ENGINEERING Diplomarbeit 3. März Oldenburg thilo.focke@informatik.uni-oldenburg.de Prof. Dr. Wilhelm Hasselbring Prof. Dr. Ralf Reussner (Universität Karlsruhe) MIT Matthias Rohr Dipl.-Math. Johannes-Gerhard Schute Kieker Monitoring & Analysis Framework Introduction Correctness Safety Availability Reliability Performance Security Privacy JUnit Performance Monitoring von Middleware-basierten Applikationen FindBugs regular meetings a version.3 - Various new features - Improved configuration management - Initial version submitted to SPEC RG - 05 Java classes + 4 test classes Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5
16 Kieker s Evolution Diplomand Erstprüfer Zweitprüfer Betreuer Trustworthy Software Systems Certification Quality of Service Component Technology DEPARTMENT FÜR INFORMATIK Thilo Focke Am Schloßgarten 4 SOFTWARE ENGINEERING Diplomarbeit 3. März Oldenburg thilo.focke@informatik.uni-oldenburg.de Prof. Dr. Wilhelm Hasselbring Prof. Dr. Ralf Reussner (Universität Karlsruhe) MIT Matthias Rohr Dipl.-Math. Johannes-Gerhard Schute Kieker Monitoring & Analysis Framework Introduction Correctness Safety Availability Reliability Performance Security Privacy JUnit Performance Monitoring von Middleware-basierten Applikationen FindBugs regular meetings a version.4 - Major improvements to code quality - Revised version for SPEC RG Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5
17 Kieker s Evolution Diplomand Erstprüfer Zweitprüfer Betreuer Trustworthy Software Systems Certification Quality of Service Component Technology DEPARTMENT FÜR INFORMATIK Thilo Focke Am Schloßgarten 4 SOFTWARE ENGINEERING Diplomarbeit 3. März Oldenburg thilo.focke@informatik.uni-oldenburg.de Prof. Dr. Wilhelm Hasselbring Prof. Dr. Ralf Reussner (Universität Karlsruhe) MIT Matthias Rohr Dipl.-Math. Johannes-Gerhard Schute Kieker Monitoring & Analysis Framework Introduction Correctness Safety Availability Reliability Performance Security Privacy iobserve ESN SL JUnit Performance Monitoring von Middleware-basierten Applikationen FindBugs regular meetings a version.5 - Completely reworked pipes-and-filters framework - Event-based tracing - 84 Java classes + 9 test classes Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5
18 Kieker s Evolution Diplomand Erstprüfer Zweitprüfer Betreuer Trustworthy Software Systems Certification Quality of Service Component Technology DEPARTMENT FÜR INFORMATIK Thilo Focke Am Schloßgarten 4 SOFTWARE ENGINEERING Diplomarbeit 3. März Oldenburg thilo.focke@informatik.uni-oldenburg.de Prof. Dr. Wilhelm Hasselbring Prof. Dr. Ralf Reussner (Universität Karlsruhe) MIT Matthias Rohr Dipl.-Math. Johannes-Gerhard Schute Kieker Monitoring & Analysis Framework Introduction Correctness Safety Availability Reliability Performance Security Privacy iobserve ESN SL JUnit Performance Monitoring von Middleware-basierten Applikationen FindBugs regular meetings a version.6 - Adaptive Monitoring - WebGUI (beta) Java classes + 47 test classes Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5
19 Kieker s Evolution Diplomand Erstprüfer Zweitprüfer Betreuer Trustworthy Software Systems Certification Quality of Service Component Technology DEPARTMENT FÜR INFORMATIK Thilo Focke Am Schloßgarten 4 SOFTWARE ENGINEERING Diplomarbeit 3. März Oldenburg thilo.focke@informatik.uni-oldenburg.de Prof. Dr. Wilhelm Hasselbring Prof. Dr. Ralf Reussner (Universität Karlsruhe) MIT Matthias Rohr Dipl.-Math. Johannes-Gerhard Schute Kieker Monitoring & Analysis Framework Introduction Correctness Safety Availability Reliability Performance Security Privacy iobserve ESN SL JUnit Performance Monitoring von Middleware-basierten Applikationen FindBugs regular meetings a Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5
20 Kieker: Monitoring Workflow SRV0:: getbook(..) SRV0:: getoffers() $ 635 getbook(..) Kieker Monitoring & Analysis Framework Architecture Analysis configuration (Web GUI) Analysis Plugins Workload Anomaly 0.75 Invocations/minute [x 000].5 searchbook() 0.50 Anomaly <<execution container>> SRV0 635 searchbook() getoffers().0 getbook(..) <<execution container>> 0.0 Calendar time (hh:mm) getbook(..) Visualizations Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 0 / 5
21 Core Kieker Framework Components Kieker Monitoring & Analysis Framework Architecture 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> Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future / 5
22 Core Kieker Framework Components Kieker Monitoring & Analysis Framework Architecture Kieker.Monitoring Monitoring Log/Stream Time Source Monitoring Probe Logging Monitoring Controller Monitoring Writer Monitoring Record 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> Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future / 5
23 Core Kieker Framework Components Kieker Monitoring & Analysis Framework Architecture 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> Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future / 5
24 Communication Among Kieker Components Kieker Monitoring & Analysis Framework Architecture * : IMonitoringProbe * : MonitoringController : IMonitoringWriter : AnalysisController * 4.: inputrecord(record) : IFilterPlugin..*..* * * : IMonitoringReaderPlugin *... * * * : IMonitoringRecord Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future / 5
25 Program Instrumentation (Here: Manual) Example: Monitoring Operation Executions Kieker Monitoring & Analysis Framework Program Instrumentation 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,... Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 3 / 5
26 ration is woven (b). Aspect-Oriented Programming (AOP) Kieker Monitoring & Analysis Framework Program Instrumentation aspect weaver basic functionality program aspect programming languages woven output code aspect description programs.8: AOP An aspect Aspect-oriented weaver weaves programming the aspects (following and thekiczales functional et al. part [997]) of an app tion into a single binary (following (Kiczales et al., 997)). Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 4 / 5
27 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 Program instrumented Instrumentation 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 Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 5 / 5
28 Visualization of Calling Networks Clustering the Monitoring Log [Zheng et al. 0] Kieker Monitoring & Analysis Framework Analysis Visualization Community structure Layered structure hierarchy Xi an Jiaotong University, Shaanxi [Zheng et al. 0] Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 6 / 5
29 akes it possible to access the facts using data visualisation and data analysis chniques, Visualization hence obtaining of Architecture a higher level of understanding Warehouses of those facts, that is taining knowdledge. In this section I deepen the definition by several examples. Artifacts of the JUnit project [Dabrowski 0] Kieker Monitoring & Analysis Framework Analysis Visualization Fig.. Graph-based visualisation of artifacts in junit project Warsaw University [Dabrowski 0] Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 7 / 5
30 3D Visualization [Döhring 0], based on Wulf [00] Kieker Monitoring & Analysis Framework Analysis Visualization Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 8 / 5
31 Overhead Evaluation Linear Rise of Overhead [Waller and Hasselbring 0] Kieker Monitoring & Analysis Framework Overhead Evaluation 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 Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5
32 Agenda [ 369/967 0,046 0,8,7% ] [ 6365/437 0,6 0,006 3,4% ] [ 640/437 0,6 0,06,8% ] [ 967/967 0,995 0,406 4,43% ] [ 967/967 0,995 0,488 4,69% ] [ 6309/349 0,6 0,037 3,04% ] Failure Detection Monitoring for Dynamic Analysis Kieker Monitoring & Analysis Framework 3 Failure Detection 4 Reverse Engineering 5 Capacity Management 6 Kieker Hands On 7 Summary and Outlook $ Virtual Machine tier Virtual Machine scooter Virtual Machine puck [ 447/6098 0,03 5,90% ] [ 88/76 0,07 3,43% ] [ 447/943 0,03 4,48% ] Deployment Context Level Component Level Virtual Machine klotz 409 org.apache.struts.action.actionservlet [ 487/ ,90 7,8% ] presentation.orderbean presentation.cartbean presentation.catalogbean presentation.accountbean [ 454/397 0,094 7,8% ] [ 07/70 0,087 5,99% ] [ 838/6837 0,048 6,88% ] [ 494/088 0,06 6,6% ] service.hessian.client.orderservice [ 484/98 0,057 6,9% ] service.hessian.client.accountservice [ 53/088 0,033 6,35% ] Component Level Operation Level service.hessian.client.catalogservice getproduct(string) getproductlistbycategory(string) getitemlistbyproduct(string) getcategory(string) getproductlistbycategory(string,int,int) getitemlistbyproduct(string,int,int) 437 Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 0 / 5
33 Pipe-and-Filter Configuration Failure Detection <<Reader>> : FS reader operationexecutions outputport <<Filter>> : Performance anomaly filter systemmodel <<Repository>> : System model repository anomalyratings anomalyratings <<Filter>> : Anomaly graph plotter Kieker.Analysis example pipes-and-filters configuration Performance anomaly detection and visualization Architecture and trace reconstruction/visualization Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future / 5
34 Performance Anomaly Detection A typical example for using a monitoring framework Failure Detection 4 3 Realized and deployed at Xing AG [Bielefeld 0]. Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future / 5
35 Agenda Reverse Engineering Monitoring for Dynamic Analysis Kieker Monitoring & Analysis Framework Introduction Architecture Program Instrumentation Analysis Visualization Overhead Evaluation 3 Failure Detection 4 Reverse Engineering Reverse Engineering of Java EE Reverse Engineering von C# Reverse Engineering of COBOL Reverse Engineering of VB 6 5 Capacity Management 6 Kieker Hands On 7 Summary and Outlook Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 3 / 5
36 Extending the Pipe-and-Filter Configuration getbook(..) Reverse Engineering <<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(..) Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 4 / 5
37 Generated Sequence Diagram Reverse Engineering Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 5 / 5
38 Web-based GUI for Configuring the Analysis Plugins Reverse Engineering Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 6 / 5
39 Reverse Engineering of Java EE Customer portal of 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 Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 7 / 5
40 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 Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 8 / 5
41 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 Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5
42 Reverse Engineering of C# Complete Test Suite for Nordic Analytics [Magedanz 0] Reverse Engineering Reverse Engineering von C# Case study at HSH Nordbank AG. Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 30 / 5
43 After selecting one use case Reverse Engineering of C# Reverse Engineering Reverse Engineering von C# $ @5:..cSecurityDetailsCFP @48:..cConvexityAdjustmentModel @3:..cSecurityDependency @3:..cVaRMethodFactory @4:..cPricingParamsCFP @50:..cAccruedInterestCalculator Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 3 / 5
44 Zoom to the operation level Reverse Engineering of C# Reverse Engineering Reverse Engineering von 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(..) GetDependencies() GetObjects() Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 3 / 5
45 Zoom to the operation level Reverse Engineering of C# Reverse Engineering Reverse Engineering von GetEndDate() 4 GetSwapTenor() @3:NordicAnalyticsProject.Engine.Securities.cAccrualConvention BuildDateGrids(..) 50 GetAdditionalDays(..) <assembly component>> valuation.pricingmodels.swaption.cswaptionpricinganalytic eswaption(..) tvolatility(..) GetSwaptionValueEvaluationType(..) GetBlackScholesOptionType(..) Vega(..) OptionValue(..) aptionpricingresult sultproperty(..) PriceFixLeg(..) 0 PriceFixCF(..) sultproperty(..) PriceFloatLeg(..) 0 PriceFloatCF(..) 686 InitializeMethodAssetClassSpecification() ReadMethodAssetClassSpecification(..) CreateInstance(..) Hasselbring, Jung (CAU) Application Monitoring with Kieker SPP Design for Future 3 / 5
46 Reverse Engineering of COBOL With consideration of non-instrumented modules [Knoche et al. 0] Reverse Engineering Reverse Engineering of COBOL IDENTIFICATION DIVISION. PROGRAM-ID. MODULE-X. Literal block PROCEDURE DIVISION. CALL "MODULE-Y". GOBACK. 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 Case study of b+m Informatik AG (Kieker extensions by Holger Knoche): Industrial context with more than.000 COBOL modules probes with 4 probe types. Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 33 / 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 Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 34 / 5
48 Reverse Engineering of Visual Basic 6 Analysis of specific traces Reverse Engineering Reverse Engineering of VB 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 (Kieker extensions by Holger Knoche). Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 35 / 5
49 cmdupdate_click Detection of unused code Reverse Engineering of Visual Form_KeyDown Basic 6 Reverse Engineering Reverse Engineering of VB 6 SetButtons.847 ms mnufileclose_click mnueditundo_click cmdnext_click frmstat 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 Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 36 / 5
50 Agenda Capacity Management Monitoring for Dynamic Analysis Kieker Monitoring & Analysis Framework 3 Failure Detection 4 Reverse Engineering 5 Capacity Management 6 Kieker Hands On 7 Summary and Outlook Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 37 / 5
51 Online Capacity Management SLAstic Framework (Ph.D. thesis of André van Hoorn) Capacity Management instrumented, runtime reconfigurable s/w system... instrumentation SLAstic model SLAstic. MONITORING raw monitoring records monitoring events SLAstic.CONTROL SLAstic. RECONFIGURATION reconfiguration actions reconfiguration plans architecture technology initialization extraction SLAstic model Analysis online adaptation engine Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 38 / 5
52 In SPP 593: iobserve Capacity Management bserve Page 0 Integrated Observation and Modeling Techniques to Support Adaptation and Evolution of Software Systems reated to prescribe properties of a planned system. Descriptive models describe systems as they have een realized. In our approach, observation data is fed into descriptive models@runtime. <<references>> <<references>> Figure 3: Descriptive Models and their relation to the software system Models@Runtime for Managed Software Evolution. The scenario described in Figure 3, resembles a software system running on an infrastructure serice (IaaS ) utilizing software services (Service ). The boxes on the left represent the four models we erive from previous work in the context of our integrated observation and anomaly detection project. he Software Metrics Meta Model (SMM) [77] is one of the meta model specifications developed by he Hasselbring, Architecture-Driven Jung (CAU) Modernization Application (ADM) Performance Task Force, Monitoringa with sub-committee Kieker of the SPPObject Design for Future Management 39 / 5
53 Agenda Kieker Hands On Monitoring for Dynamic Analysis Kieker Monitoring & Analysis Framework 3 Failure Detection 4 Reverse Engineering 5 Capacity Management 6 Kieker Hands On 7 Summary and Outlook Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 40 / 5
54 The Bookstore Kieker Hands On <<SystemAssembly>> BookstoreSystem <<Component>> Bookstore <<Component>> Catalog <<Component>> CRM Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 4 / 5
55 Instrumentation by Hand Example: Monitoring of Operation Executions Kieker Hands On public class CRM { private final Catalog catalog; public CRM(final Catalog catalog) { this.catalog = catalog; } } public void getoffers() { this.catalog.getbook(false); } Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 4 / 5
56 Example: Component CRM Add Operation Execution Probe Kieker Hands On private static final IMonitoringController MONITORING_CONTROLLER = MonitoringController.getInstance(); public void getoffers() { final long tin = MONITORING_CONTROLLER.getTimeSource().getTime(); catalog.getbook(false); // <-- the monitored execution final long tout = MONITORING_CONTROLLER.getTimeSource().getTime(); } final OperationExecutionRecord e = new OperationExecutionRecord( "public void Catalog.getBook(boolean)", NO_SESSION_ID, NO_TRACEID, tin, tout, "myhost", NO_EOI_ESS, NO_EOI_ESS); MONITORING_CONTROLLER.newMonitoringRecord(e); Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 43 / 5
57 Full Instrumentation with Kieker Kieker Hands On AOP Konfiguration META-INF/aop.xml <!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" " dtd/aspectj 5_0.dtd"> <aspectj> <weaver options=""> <include within="*"/> </weaver> <aspects> <aspect name="kieker.monitoring.probe.aspectj.operationexecution. OperationExecutionAspectFull"/> </aspects> </aspectj> AspectJ $ java -javaagent:lib/kieker-.6_aspectj.jar -jar BookstoreApplication.jar 50 Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 44 / 5
58 Monitoring JPetStore Kieker Hands On 3-Layer Architecture Presentation layer: Struts Service layer: POJOs Persistence layer: ibatis Client HTTP HTTP struts.actionservlet ibatis JPetStore Apache Struts Presentation Layer Service Layer Persistence Layer ibatis DAO Framework SQL SQL DBMS ibatis JPetStore 5.0 ( Deployment Application Server (here: Jetty 7.6.7) SQL DBMS Server (here: HSQL) Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 45 / 5
59 JPetStore AOP Konfiguration Kieker Hands On Datei webapps/jpetstore/web-inf/classes/meta-inf/aop.xml <!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" " dtd/aspectj 5_0.dtd"> <aspectj> <weaver options=""> <include within="org.mybatis.jpetstore..*"/> <include within="net.sourceforge.stripes.controller. DispatcherServlet"/> </weaver> <aspects> <aspect name="kieker.monitoring.probe.aspectj.operationexecution. OperationExecutionAspectFull"/> </aspects> </aspectj> Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 46 / 5
60 JPetStore Application Context Kieker Hands On Datei webapps/jpetstore/web-inf/applicationcontext.xml <beans xmlns=" [...]> [...] <!-- Kieker's instrumentation probes based on the Spring AOP interception framework --> <bean id="opemii" class="kieker.monitoring.probe.spring.executions. OperationExecutionMethodInvocationInterceptor" /> <aop:config> <aop:advisor advice-ref="opemii" pointcut="execution(public * org.mybatis.jpetstore..*.*(..))"/> </aop:config> [...] </beans> Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 47 / 5
61 Online Analysis Kieker Hands On Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 48 / 5
62 Online Analysis Kieker Hands On Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 48 / 5
63 Summary Summary and Outlook Kieker is... a framework for application monitoring and analysis, employed in various industry use cases, flexible and extensible. Kieker supports... Java, JEE (in production).net, VB6, Cobol (industry case studies) C, Perl (currently developed) Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 49 / 5
Application Performance Monitoring & Architecture Discovery with Kieker
Application Performance Monitoring & Architecture Discovery with Kieker Prof. Dr. Wilhelm (Willi) Hasselbring Competence Cluster Software Systems Engineering http://www.kosse-sh.de/ Software Engineering
More informationOpen-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 informationTool-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 informationContinuous 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 informationCapturing 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 informationSelf 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 informationTowards 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 informationINSTITUT 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 informationINSTITUT 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 informationExplorViz: 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 informationOnline 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 informationMonitoring 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 informationA 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 informationScalable 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 informationINSTITUT 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 informationGECO: 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 informationGECO: 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 informationContinuous 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 informationKPDAYS 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 informationEvaluation 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 informationA 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 informationDevelopment 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 informationPerformance 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 informationUtilizing 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 informationTowards 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 informationPerformance 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 informationINSTITUT 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 informationA 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 informationMicroservices 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 informationHora: 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 informationOracle 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 informationKIEKER: 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 informationApplication 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 information11.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 informationEvaluation 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 informationIntroducing 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 informationHolistic 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 informationApplication 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 informationSPECjEnterprise2010 & 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 informationSERVICE 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 informationPerformance Modeling for Web based J2EE and.net Applications
Performance Modeling for Web based J2EE and.net Applications Shankar Kambhampaty, and Venkata Srinivas Modali Abstract When architecting an application, key nonfunctional requirements such as performance,
More informationPerformance 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 information5 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 informationOperations 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 informationDecomposition 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 informationIntegrating 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 informationSOA 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 informationEvaluation 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 informationWinning 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 informationScalable and Live Trace Processing in the Cloud
Scalable and Live Trace Processing in the Cloud Bachelor s Thesis Phil Stelzer April 7, 2014 Kiel University Department of Computer Science Software Engineering Group Advised by: Prof. Dr. Wilhelm Hasselbring
More informationInternet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology kamandi@ce.sharif.edu Fall 2007
Internet Engineering: Web Application Architecture Ali Kamandi Sharif University of Technology kamandi@ce.sharif.edu Fall 2007 Centralized Architecture mainframe terminals terminals 2 Two Tier Application
More informationConverting Java EE Applications into OSGi Applications
Converting Java EE Applications into OSGi Applications Author: Nichole Stewart Date: Jan 27, 2011 2010 IBM Corporation THE INFORMATION CONTAINED IN THIS REPORT IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY.
More informationConcern Highlight: A Tool for Concern Exploration and Visualization
Concern Highlight: A Tool for Concern Exploration and Visualization Eugen C. Nistor André van der Hoek Department of Informatics School of Information and Computer Sciences University of California, Irvine
More informationWebSphere 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 informationIBM 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 informationTowards 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 informationWebSphere 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 informationJAVA/J2EE DEVELOPER RESUME
1 of 5 05/01/2015 13:22 JAVA/J2EE DEVELOPER RESUME Java Developers/Architects Resumes Please note that this is a not a Job Board - We are an I.T Staffing Company and we provide candidates on a Contract
More informationBeginning POJOs. From Novice to Professional. Brian Sam-Bodden
Beginning POJOs From Novice to Professional Brian Sam-Bodden Contents About the Author Acknowledgments Introduction.XIII xv XVII CHAPTER1 Introduction The Java EE Market Case Study: The TechConf Website...
More informationThis 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 informationArchitecture 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 informationEUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH CERN ACCELERATORS AND TECHNOLOGY SECTOR A REMOTE TRACING FACILITY FOR DISTRIBUTED SYSTEMS
EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH CERN ACCELERATORS AND TECHNOLOGY SECTOR CERN-ATS-2011-200 A REMOTE TRACING FACILITY FOR DISTRIBUTED SYSTEMS F. Ehm, A. Dworak, CERN, Geneva, Switzerland Abstract
More informationA 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 informationCourse Description. Course Audience. Course Outline. Course Page - Page 1 of 5
Course Page - Page 1 of 5 WebSphere Application Server 7.0 Administration on Windows BSP-1700 Length: 5 days Price: $ 2,895.00 Course Description This course teaches the basics of the administration and
More informationAutomatic 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 informationFUSE-ESB4 An open-source OSGi based platform for EAI and SOA
FUSE-ESB4 An open-source OSGi based platform for EAI and SOA Introduction to FUSE-ESB4 It's a powerful OSGi based multi component container based on ServiceMix4 http://servicemix.apache.org/smx4/index.html
More informationWEBSPHERE APPLICATION SERVER ADMIN V8.5 (on Linux and Windows) WITH REAL-TIME CONCEPTS & REAL-TIME PROJECT
WEBSPHERE APPLICATION SERVER ADMIN V8.5 (on Linux and Windows) WITH REAL-TIME CONCEPTS & REAL-TIME PROJECT Faculty Name Experience Course Duration Madhav (Certified Middleware Professional) Certified on
More informationOn the Specification of Non-Functional Properties of Systems by Observation
On the Specification of Non-Functional Properties of Systems by Observation Javier Troya, José E. Rivera and Antonio Vallecillo GISUM/Atenea Research Group. Universidad de Málaga, Spain {javiertc,rivera,av}@lcc.uma.es
More informationGlassbox: Open Source and Automated Application Troubleshooting. Ron Bodkin Glassbox Project Leader ron.bodkin@glasssbox.com
Glassbox: Open Source and Automated Application Troubleshooting Ron Bodkin Glassbox Project Leader ron.bodkin@glasssbox.com First a summary Glassbox is an open source automated troubleshooter for Java
More informationRealization Strategies for Rich Clients by Web Services
Realization Strategies for Rich Clients by Web Services Master Thesis Kingkarn Sriprasarn, 26.04.2005 RWTH Aachen Lehrstuhl für Informatik V Prof. Dr. Matthias Jarke Institut für Sprach- und Kommunikationswissenschaft
More informationHow to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer
How to Build an E-Commerce Application using J2EE Carol McDonald Code Camp Engineer Code Camp Agenda J2EE & Blueprints Application Architecture and J2EE Blueprints E-Commerce Application Design Enterprise
More informationWebSphere Business Modeler
Discovering the Value of SOA WebSphere Process Integration WebSphere Business Modeler Workshop SOA on your terms and our expertise Soudabeh Javadi Consulting Technical Sales Support WebSphere Process Integration
More informationMohammed 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 informationEfficient 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 informationWEBAPP PATTERN FOR APACHE TOMCAT - USER GUIDE
WEBAPP PATTERN FOR APACHE TOMCAT - USER GUIDE Contents 1. Pattern Overview... 3 Features 3 Getting started with the Web Application Pattern... 3 Accepting the Web Application Pattern license agreement...
More informationLDIF - 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 informationInstrumentation 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 informationEncapsulating Crosscutting Concerns in System Software
Encapsulating Crosscutting Concerns in System Software Christa Schwanninger, Egon Wuchner, Michael Kircher Siemens AG Otto-Hahn-Ring 6 81739 Munich Germany {christa.schwanninger,egon.wuchner,michael.kircher}@siemens.com
More informationEnterprise Application Development In Java with AJAX and ORM
Enterprise Application Development In Java with AJAX and ORM ACCU London March 2010 ACCU Conference April 2010 Paul Grenyer Head of Software Engineering p.grenyer@validus-ivc.co.uk http://paulgrenyer.blogspot.com
More informationResearch Article. ISSN 2347-9523 (Print) *Corresponding author Lili Wang Email: lily@nepu.edu.cn
Scholars Journal of Engineering and Technology (SJET) Sch. J. Eng. Tech., 2015; 3(4B):424-428 Scholars Academic and Scientific Publisher (An International Publisher for Academic and Scientific Resources)
More informationOracle9i 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 informationCHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS
CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS Java EE Components Java EE Vendor Specifications Containers Java EE Blueprint Services JDBC Data Sources Java Naming and Directory Interface Java Message
More informationJava Metadata Interface and Data Warehousing
Java Metadata Interface and Data Warehousing A JMI white paper by John D. Poole November 2002 Abstract. This paper describes a model-driven approach to data warehouse administration by presenting a detailed
More informationOracle WebLogic Server 11g Administration
Oracle WebLogic Server 11g Administration This course is designed to provide instruction and hands-on practice in installing and configuring Oracle WebLogic Server 11g. These tasks include starting and
More informationwww.progress.com DEPLOYMENT ARCHITECTURE FOR JAVA ENVIRONMENTS
DEPLOYMENT ARCHITECTURE FOR JAVA ENVIRONMENTS TABLE OF CONTENTS Introduction 1 Progress Corticon Product Architecture 1 Deployment Options 2 Invoking Corticon Decision Services 4 Corticon Rule Engine 5
More informationModel-Driven Data Warehousing
Model-Driven Data Warehousing Integrate.2003, Burlingame, CA Wednesday, January 29, 16:30-18:00 John Poole Hyperion Solutions Corporation Why Model-Driven Data Warehousing? Problem statement: Data warehousing
More informationOracle Identity Analytics Architecture. An Oracle White Paper July 2010
Oracle Identity Analytics Architecture An Oracle White Paper July 2010 Disclaimer The following is intended to outline our general product direction. It is intended for information purposes only, and may
More informationWeb Application Testing. Web Performance Testing
Web Application Testing Web Performance Testing Objectives of Performance Testing Evaluate runtime compliance to performance requirements Check different properties such as throughput (bits/sec, packets/sec)
More informationAugmented 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 informationApproaching the Cloud: Using Palladio for Scalability, Elasticity, and Efficiency Analyses
Approaching the Cloud: Using Palladio for Scalability, Elasticity, and Efficiency Analyses Sebastian Lehrig Software Engineering Chair Chemnitz University of Technology Straße der Nationen 62 09107 Chemnitz,
More informationDeploying Rule Applications
White Paper Deploying Rule Applications with ILOG JRules Deploying Rule Applications with ILOG JRules White Paper ILOG, September 2006 Do not duplicate without permission. ILOG, CPLEX and their respective
More informationzen 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 informations@lm@n Oracle Exam 1z0-599 Oracle WebLogic Server 12c Essentials Version: 6.4 [ Total Questions: 91 ]
s@lm@n Oracle Exam 1z0-599 Oracle WebLogic Server 12c Essentials Version: 6.4 [ Total Questions: 91 ] Question No : 1 How can you configure High Availability for interacting with a non-oracle database
More informationU.S. Navy Automated Software Testing
U.S. Navy Automated Software Testing Application of Standards to the Automated Test and Re-Test (ATRT) Effort Object Management Group (OMG) Technical Meeting June 2007 Approved for public release; distribution
More informationResource Provisioning in Clouds via Non-Functional Requirements
Resource Provisioning in Clouds via Non-Functional Requirements By Diana Carolina Barreto Arias Under the supervision of Professor Rajkumar Buyya and Dr. Rodrigo N. Calheiros A minor project thesis submitted
More informationJava EE Web Development Course Program
Java EE Web Development Course Program Part I Introduction to Programming 1. Introduction to programming. Compilers, interpreters, virtual machines. Primitive types, variables, basic operators, expressions,
More informationPerformance Optimization For Operational Risk Management Application On Azure Platform
Performance Optimization For Operational Risk Management Application On Azure Platform Ashutosh Sabde, TCS www.cmgindia.org 1 Contents Introduction Functional Requirements Non Functional Requirements Business
More informationTowards Integrating Modeling and Programming Languages: The Case of UML and Java
Towards Integrating Modeling and Programming Languages: The Case of UML and Java Patrick Neubauer, Tanja Mayerhofer, and Gerti Kappel Business Informatics Group, Vienna University of Technology, Austria
More informationWEBLOGIC ADMINISTRATION
WEBLOGIC ADMINISTRATION Session 1: Introduction Oracle Weblogic Server Components Java SDK and Java Enterprise Edition Application Servers & Web Servers Documentation Session 2: Installation System Configuration
More information