Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
A Framework forApplication Performance Monitoring
and Dynamic Software Analysis—Preview for Invited Demo/Poster Presentation—
André van Hoorn, J. Waller, and W. Hasselbring
Software Engineering GroupUniversity of Kiel, Germany
April 24, 2012 @ ICPE ’12, Boston, MA
A. van Hoorn, J. Waller, W. Hasselbring Kieker (ICPE ’12 Poster/Demo Preview) April 24, 2012 @ ICPE ’12, Boston, MA 1 / 3
Kieker: Example Workflow and Use CasesPreview for Invited Demo/Poster Presentation
Software system with monitoring instrumentation
Monitoring probe
Use cases in research and practice:
• Online/offline performance evaluation and feedback, e.g.,
• Continuous monitoring of application behavior and usage• Performance anomaly detection and diagnosis• (Self-)adaptation control
• Extraction of software architectural (performance) models and visualizations• Simulation (replaying previously monitored stimuli; measurement, logging, and analysis)
A. van Hoorn, J. Waller, W. Hasselbring Kieker (ICPE ’12 Poster/Demo Preview) April 24, 2012 @ ICPE ’12, Boston, MA 2 / 3
Kieker: Example Workflow and Use CasesPreview for Invited Demo/Poster Presentation
Software system with monitoring instrumentation
Monitoring probe
Measurement
Monitoring records
Monitoring log/stream
Use cases in research and practice:
• Online/offline performance evaluation and feedback, e.g.,
• Continuous monitoring of application behavior and usage• Performance anomaly detection and diagnosis• (Self-)adaptation control
• Extraction of software architectural (performance) models and visualizations• Simulation (replaying previously monitored stimuli; measurement, logging, and analysis)
A. van Hoorn, J. Waller, W. Hasselbring Kieker (ICPE ’12 Poster/Demo Preview) April 24, 2012 @ ICPE ’12, Boston, MA 2 / 3
Kieker: Example Workflow and Use CasesPreview for Invited Demo/Poster Presentation
Software system with monitoring instrumentation
Monitoring probe
Measurement
Monitoring records
Monitoring log/stream
Analysis configuration (Web GUI)
Analysis
Plugins
Use cases in research and practice:
• Online/offline performance evaluation and feedback, e.g.,
• Continuous monitoring of application behavior and usage• Performance anomaly detection and diagnosis• (Self-)adaptation control
• Extraction of software architectural (performance) models and visualizations• Simulation (replaying previously monitored stimuli; measurement, logging, and analysis)
A. van Hoorn, J. Waller, W. Hasselbring Kieker (ICPE ’12 Poster/Demo Preview) April 24, 2012 @ ICPE ’12, Boston, MA 2 / 3
Kieker: Example Workflow and Use CasesPreview for Invited Demo/Poster Presentation
Software system with monitoring instrumentation
Monitoring probe
Measurement
Monitoring records
Monitoring log/stream
Analysis configuration (Web GUI)
Analysis
Plugins
Invo
catio
ns/m
inut
e [x
100
0]
Calendar time (hh:mm)
Workload Anomaly Detection
0.0
0.5
1.0
1.5
2.0
Ano
mal
y sc
ore
0.0
0.25
0.50
0.75
SRV0::
@3:..Bookstore
SRV0::
@1:..Catalog
SRV0::
@2:..CRM
SRV1::
@1:..Catalog
searchBook()
getBook(..)
getOffers()
getBook(..)
<<execution container>>SRV0<<deployment component>>@3:..Bookstore <<deployment component>>@2:..CRM
<<deployment component>>@1:..Catalog
<<execution container>>SRV1<<deployment component>>@1:..Catalog
searchBook()
getOffers()
1635
getBook(..)
543
getBook(..)
1092
573
1062
$ 1635
Visualizations
Use cases in research and practice:
• Online/offline performance evaluation and feedback, e.g.,
• Continuous monitoring of application behavior and usage• Performance anomaly detection and diagnosis• (Self-)adaptation control
• Extraction of software architectural (performance) models and visualizations• Simulation (replaying previously monitored stimuli; measurement, logging, and analysis)
A. van Hoorn, J. Waller, W. Hasselbring Kieker (ICPE ’12 Poster/Demo Preview) April 24, 2012 @ ICPE ’12, Boston, MA 2 / 3
Kieker: Example Workflow and Use CasesPreview for Invited Demo/Poster Presentation
Software system with monitoring instrumentation
Monitoring probe
Measurement
Monitoring records
Monitoring log/stream
Analysis configuration (Web GUI)
Analysis
Plugins
Invo
catio
ns/m
inut
e [x
100
0]
Calendar time (hh:mm)
Workload Anomaly Detection
0.0
0.5
1.0
1.5
2.0
Ano
mal
y sc
ore
0.0
0.25
0.50
0.75
SRV0::
@3:..Bookstore
SRV0::
@1:..Catalog
SRV0::
@2:..CRM
SRV1::
@1:..Catalog
searchBook()
getBook(..)
getOffers()
getBook(..)
<<execution container>>SRV0<<deployment component>>@3:..Bookstore <<deployment component>>@2:..CRM
<<deployment component>>@1:..Catalog
<<execution container>>SRV1<<deployment component>>@1:..Catalog
searchBook()
getOffers()
1635
getBook(..)
543
getBook(..)
1092
573
1062
$ 1635
Visualizations
Use cases in research and practice:
• Online/offline performance evaluation and feedback, e.g.,
• Continuous monitoring of application behavior and usage• Performance anomaly detection and diagnosis• (Self-)adaptation control
• Extraction of software architectural (performance) models and visualizations• Simulation (replaying previously monitored stimuli; measurement, logging, and analysis)
A. van Hoorn, J. Waller, W. Hasselbring Kieker (ICPE ’12 Poster/Demo Preview) April 24, 2012 @ ICPE ’12, Boston, MA 2 / 3
Kieker: Example Workflow and Use CasesPreview for Invited Demo/Poster Presentation
Software system with monitoring instrumentation
Monitoring probe
Measurement
Monitoring records
Monitoring log/stream
Analysis configuration (Web GUI)
Analysis
Plugins
Invo
catio
ns/m
inut
e [x
100
0]
Calendar time (hh:mm)
Workload Anomaly Detection
0.0
0.5
1.0
1.5
2.0
Ano
mal
y sc
ore
0.0
0.25
0.50
0.75
SRV0::
@3:..Bookstore
SRV0::
@1:..Catalog
SRV0::
@2:..CRM
SRV1::
@1:..Catalog
searchBook()
getBook(..)
getOffers()
getBook(..)
<<execution container>>SRV0<<deployment component>>@3:..Bookstore <<deployment component>>@2:..CRM
<<deployment component>>@1:..Catalog
<<execution container>>SRV1<<deployment component>>@1:..Catalog
searchBook()
getOffers()
1635
getBook(..)
543
getBook(..)
1092
573
1062
$ 1635
Visualizations
Use cases in research and practice:• Online/offline performance evaluation and feedback, e.g.,
• Continuous monitoring of application behavior and usage• Performance anomaly detection and diagnosis• (Self-)adaptation control
• Extraction of software architectural (performance) models and visualizations• Simulation (replaying previously monitored stimuli; measurement, logging, and analysis)
A. van Hoorn, J. Waller, W. Hasselbring Kieker (ICPE ’12 Poster/Demo Preview) April 24, 2012 @ ICPE ’12, Boston, MA 2 / 3
Kieker: Example Workflow and Use CasesPreview for Invited Demo/Poster Presentation
Software system with monitoring instrumentation
Monitoring probe
Measurement
Monitoring records
Monitoring log/stream
Analysis configuration (Web GUI)
Analysis
Plugins
Invo
catio
ns/m
inut
e [x
100
0]
Calendar time (hh:mm)
Workload Anomaly Detection
0.0
0.5
1.0
1.5
2.0
Ano
mal
y sc
ore
0.0
0.25
0.50
0.75
SRV0::
@3:..Bookstore
SRV0::
@1:..Catalog
SRV0::
@2:..CRM
SRV1::
@1:..Catalog
searchBook()
getBook(..)
getOffers()
getBook(..)
<<execution container>>SRV0<<deployment component>>@3:..Bookstore <<deployment component>>@2:..CRM
<<deployment component>>@1:..Catalog
<<execution container>>SRV1<<deployment component>>@1:..Catalog
searchBook()
getOffers()
1635
getBook(..)
543
getBook(..)
1092
573
1062
$ 1635
Visualizations
Use cases in research and practice:• Online/offline performance evaluation and feedback, e.g.,
• Continuous monitoring of application behavior and usage
• Performance anomaly detection and diagnosis• (Self-)adaptation control
• Extraction of software architectural (performance) models and visualizations• Simulation (replaying previously monitored stimuli; measurement, logging, and analysis)
A. van Hoorn, J. Waller, W. Hasselbring Kieker (ICPE ’12 Poster/Demo Preview) April 24, 2012 @ ICPE ’12, Boston, MA 2 / 3
Kieker: Example Workflow and Use CasesPreview for Invited Demo/Poster Presentation
Software system with monitoring instrumentation
Monitoring probe
Measurement
Monitoring records
Monitoring log/stream
Analysis configuration (Web GUI)
Analysis
Plugins
Invo
catio
ns/m
inut
e [x
100
0]
Calendar time (hh:mm)
Workload Anomaly Detection
0.0
0.5
1.0
1.5
2.0
Ano
mal
y sc
ore
0.0
0.25
0.50
0.75
SRV0::
@3:..Bookstore
SRV0::
@1:..Catalog
SRV0::
@2:..CRM
SRV1::
@1:..Catalog
searchBook()
getBook(..)
getOffers()
getBook(..)
<<execution container>>SRV0<<deployment component>>@3:..Bookstore <<deployment component>>@2:..CRM
<<deployment component>>@1:..Catalog
<<execution container>>SRV1<<deployment component>>@1:..Catalog
searchBook()
getOffers()
1635
getBook(..)
543
getBook(..)
1092
573
1062
$ 1635
Visualizations
Use cases in research and practice:• Online/offline performance evaluation and feedback, e.g.,
• Continuous monitoring of application behavior and usage• Performance anomaly detection and diagnosis
• (Self-)adaptation control• Extraction of software architectural (performance) models and visualizations• Simulation (replaying previously monitored stimuli; measurement, logging, and analysis)
A. van Hoorn, J. Waller, W. Hasselbring Kieker (ICPE ’12 Poster/Demo Preview) April 24, 2012 @ ICPE ’12, Boston, MA 2 / 3
Kieker: Example Workflow and Use CasesPreview for Invited Demo/Poster Presentation
Software system with monitoring instrumentation
Monitoring probe
Measurement
Monitoring records
Monitoring log/stream
Analysis configuration (Web GUI)
Analysis
Plugins
Invo
catio
ns/m
inut
e [x
100
0]
Calendar time (hh:mm)
Workload Anomaly Detection
0.0
0.5
1.0
1.5
2.0
Ano
mal
y sc
ore
0.0
0.25
0.50
0.75
SRV0::
@3:..Bookstore
SRV0::
@1:..Catalog
SRV0::
@2:..CRM
SRV1::
@1:..Catalog
searchBook()
getBook(..)
getOffers()
getBook(..)
<<execution container>>SRV0<<deployment component>>@3:..Bookstore <<deployment component>>@2:..CRM
<<deployment component>>@1:..Catalog
<<execution container>>SRV1<<deployment component>>@1:..Catalog
searchBook()
getOffers()
1635
getBook(..)
543
getBook(..)
1092
573
1062
$ 1635
Visualizations
Use cases in research and practice:• Online/offline performance evaluation and feedback, e.g.,
• Continuous monitoring of application behavior and usage• Performance anomaly detection and diagnosis• (Self-)adaptation control
• Extraction of software architectural (performance) models and visualizations• Simulation (replaying previously monitored stimuli; measurement, logging, and analysis)
A. van Hoorn, J. Waller, W. Hasselbring Kieker (ICPE ’12 Poster/Demo Preview) April 24, 2012 @ ICPE ’12, Boston, MA 2 / 3
Kieker: Example Workflow and Use CasesPreview for Invited Demo/Poster Presentation
Software system with monitoring instrumentation
Monitoring probe
Measurement
Monitoring records
Monitoring log/stream
Analysis configuration (Web GUI)
Analysis
Plugins
Invo
catio
ns/m
inut
e [x
100
0]
Calendar time (hh:mm)
Workload Anomaly Detection
0.0
0.5
1.0
1.5
2.0
Ano
mal
y sc
ore
0.0
0.25
0.50
0.75
SRV0::
@3:..Bookstore
SRV0::
@1:..Catalog
SRV0::
@2:..CRM
SRV1::
@1:..Catalog
searchBook()
getBook(..)
getOffers()
getBook(..)
<<execution container>>SRV0<<deployment component>>@3:..Bookstore <<deployment component>>@2:..CRM
<<deployment component>>@1:..Catalog
<<execution container>>SRV1<<deployment component>>@1:..Catalog
searchBook()
getOffers()
1635
getBook(..)
543
getBook(..)
1092
573
1062
$ 1635
Visualizations
Use cases in research and practice:• Online/offline performance evaluation and feedback, e.g.,
• Continuous monitoring of application behavior and usage• Performance anomaly detection and diagnosis• (Self-)adaptation control
• Extraction of software architectural (performance) models and visualizations
• Simulation (replaying previously monitored stimuli; measurement, logging, and analysis)
A. van Hoorn, J. Waller, W. Hasselbring Kieker (ICPE ’12 Poster/Demo Preview) April 24, 2012 @ ICPE ’12, Boston, MA 2 / 3
Kieker: Example Workflow and Use CasesPreview for Invited Demo/Poster Presentation
Software system with monitoring instrumentation
Monitoring probe
Measurement
Monitoring records
Monitoring log/stream
Analysis configuration (Web GUI)
Analysis
Plugins
Invo
catio
ns/m
inut
e [x
100
0]
Calendar time (hh:mm)
Workload Anomaly Detection
0.0
0.5
1.0
1.5
2.0
Ano
mal
y sc
ore
0.0
0.25
0.50
0.75
SRV0::
@3:..Bookstore
SRV0::
@1:..Catalog
SRV0::
@2:..CRM
SRV1::
@1:..Catalog
searchBook()
getBook(..)
getOffers()
getBook(..)
<<execution container>>SRV0<<deployment component>>@3:..Bookstore <<deployment component>>@2:..CRM
<<deployment component>>@1:..Catalog
<<execution container>>SRV1<<deployment component>>@1:..Catalog
searchBook()
getOffers()
1635
getBook(..)
543
getBook(..)
1092
573
1062
$ 1635
Visualizations
Use cases in research and practice:• Online/offline performance evaluation and feedback, e.g.,
• Continuous monitoring of application behavior and usage• Performance anomaly detection and diagnosis• (Self-)adaptation control
• Extraction of software architectural (performance) models and visualizations• Simulation (replaying previously monitored stimuli; measurement, logging, and analysis)
A. van Hoorn, J. Waller, W. Hasselbring Kieker (ICPE ’12 Poster/Demo Preview) April 24, 2012 @ ICPE ’12, Boston, MA 2 / 3
Characteristics, Features, Extension PointsPreview for Invited Demo/Poster Presentation
Kieker 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 (since 2006)
Kieker is open-source software (Apache License, V. 2.0)
http://kieker-monitoring.net
Kieker is distributed as part of SPEC® RG'srepository of peer-reviewed tools for
quantitative system evaluation and analysishttp://research.spec.org/projects/tools.html
Kieker.Monitoring
Periodic
Sam
plingJM
X
Interface
Logging
Tim
e S
ource
Monitoring Controller
Logging
Seria-lization
Deseria-lization
Kieker.Analysis
Analysis Controller
Mo
nito
ring
Reco
rds Current time
Resource utilization
CPU utilization
Operation execution
Control-flow events
<your monitoring record type>
Mo
nito
ring
Writers
Mo
nito
ring
Pro
bes/S
am
plers
Tim
e So
urces
Database (SQL)
Named pipe
<your monitoring writer>
Asynchr. w
ritersS
yncr.
System time
<your time source>
Control-flow
tracing SpringAspectJ
Servlet CXF/SOAP
Manual instrumentation
<your interception technology>
Resource
monitoring
<your technology>
CPU utilization
Memory usage
Sigar
Servlet
<your monitoring probe>
File system
Database (SQL)
Java Messaging Service (JMS)
Java Management Ext. (JMX)
File system
<your monitoring reader>
File system
Database (SQL)
Mo
nito
ring
Read
ers
<your visualization>
Sequence diagrams
Dependency graphs
Call graphs
Visualization
Architecture reconstr.
Pipe-and-filter fram
ewo
rk
An
alysis/Visu
alization
Plu
gin
s
<your trace analysis>
Trace analysis
<your reconstruction plugin>
<your analysis plugin/tool>
Java Messaging Service (JMS)
Java Management Ext. (JMX)
Output stream
Memory/swap usage
Real-time replayerNamed pipe
Monitoring Record
Monitoring Reader
Monitoring Reader
Monitoring Reader
Monitoring Writer
MonitoringLog/Stream
Monitoring Probe
Monitoring Probe
Monitoring Probe
Analysis /Visualization
Plugin
Analysis /Visualization
Plugin
Analysis /Visualization
Plugin
A. van Hoorn, J. Waller, W. Hasselbring Kieker (ICPE ’12 Poster/Demo Preview) April 24, 2012 @ ICPE ’12, Boston, MA 3 / 3
Characteristics, Features, Extension PointsPreview for Invited Demo/Poster Presentation
Kieker 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 (since 2006)
Kieker is open-source software (Apache License, V. 2.0)
http://kieker-monitoring.net
Kieker is distributed as part of SPEC® RG'srepository of peer-reviewed tools for
quantitative system evaluation and analysishttp://research.spec.org/projects/tools.html
Kieker.Monitoring
Periodic
Sam
plingJM
X
Interface
Logging
Tim
e S
ource
Monitoring Controller
Logging
Seria-lization
Deseria-lization
Kieker.Analysis
Analysis Controller
Mo
nito
ring
Reco
rds Current time
Resource utilization
CPU utilization
Operation execution
Control-flow events
<your monitoring record type>
Mo
nito
ring
Writers
Mo
nito
ring
Pro
bes/S
am
plers
Tim
e So
urces
Database (SQL)
Named pipe
<your monitoring writer>
Asynchr. w
ritersS
yncr.
System time
<your time source>
Control-flow
tracing SpringAspectJ
Servlet CXF/SOAP
Manual instrumentation
<your interception technology>
Resource
monitoring
<your technology>
CPU utilization
Memory usage
Sigar
Servlet
<your monitoring probe>
File system
Database (SQL)
Java Messaging Service (JMS)
Java Management Ext. (JMX)
File system
<your monitoring reader>
File system
Database (SQL)
Mo
nito
ring
Read
ers
<your visualization>
Sequence diagrams
Dependency graphs
Call graphs
Visualization
Architecture reconstr.
Pipe-and-filter fram
ewo
rk
An
alysis/Visu
alization
Plu
gin
s
<your trace analysis>
Trace analysis
<your reconstruction plugin>
<your analysis plugin/tool>
Java Messaging Service (JMS)
Java Management Ext. (JMX)
Output stream
Memory/swap usage
Real-time replayerNamed pipe
Monitoring Record
Monitoring Reader
Monitoring Reader
Monitoring Reader
Monitoring Writer
MonitoringLog/Stream
Monitoring Probe
Monitoring Probe
Monitoring Probe
Analysis /Visualization
Plugin
Analysis /Visualization
Plugin
Analysis /Visualization
Plugin
A. van Hoorn, J. Waller, W. Hasselbring Kieker (ICPE ’12 Poster/Demo Preview) April 24, 2012 @ ICPE ’12, Boston, MA 3 / 3
Characteristics, Features, Extension PointsPreview for Invited Demo/Poster Presentation
Kieker 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 (since 2006)
Kieker is open-source software (Apache License, V. 2.0)
http://kieker-monitoring.net
Kieker is distributed as part of SPEC® RG'srepository of peer-reviewed tools for
quantitative system evaluation and analysishttp://research.spec.org/projects/tools.html
Kieker.Monitoring
Periodic
Sam
plingJM
X
Interface
Logging
Tim
e S
ource
Monitoring Controller
Logging
Seria-lization
Deseria-lization
Kieker.Analysis
Analysis Controller
Mo
nito
ring
Reco
rds Current time
Resource utilization
CPU utilization
Operation execution
Control-flow events
<your monitoring record type>
Mo
nito
ring
Writers
Mo
nito
ring
Pro
bes/S
am
plers
Tim
e So
urces
Database (SQL)
Named pipe
<your monitoring writer>
Asynchr. w
ritersS
yncr.
System time
<your time source>
Control-flow
tracing SpringAspectJ
Servlet CXF/SOAP
Manual instrumentation
<your interception technology>
Resource
monitoring
<your technology>
CPU utilization
Memory usage
Sigar
Servlet
<your monitoring probe>
File system
Database (SQL)
Java Messaging Service (JMS)
Java Management Ext. (JMX)
File system
<your monitoring reader>
File system
Database (SQL)
Mo
nito
ring
Read
ers
<your visualization>
Sequence diagrams
Dependency graphs
Call graphs
Visualization
Architecture reconstr.
Pipe-and-filter fram
ewo
rk
An
alysis/Visu
alization
Plu
gin
s
<your trace analysis>
Trace analysis
<your reconstruction plugin>
<your analysis plugin/tool>
Java Messaging Service (JMS)
Java Management Ext. (JMX)
Output stream
Memory/swap usage
Real-time replayerNamed pipe
Monitoring Record
Monitoring Reader
Monitoring Reader
Monitoring Reader
Monitoring Writer
MonitoringLog/Stream
Monitoring Probe
Monitoring Probe
Monitoring Probe
Analysis /Visualization
Plugin
Analysis /Visualization
Plugin
Analysis /Visualization
Plugin
A. van Hoorn, J. Waller, W. Hasselbring Kieker (ICPE ’12 Poster/Demo Preview) April 24, 2012 @ ICPE ’12, Boston, MA 3 / 3