Wir nehmen Ihre Software auf den Kieker

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