Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Because performance matters!
-
Open Source Application Performance
Monitoring for the Crowd
08.06.2016 2
Visual Comparison
http://www.webpagetest.org - Tested from Dulles, VA - Chrome
08.06.2016 3
Perfomance Problems are Omnipresent
An unexpected
error occured Temporarily
not available Try again later
08.06.2016 4
Business Impact of Performance
Every 100ms page load improvement increases revenue by 1% (2008) 2008: 19,17 Mrd € 191,7 Mio € 2013: 74,51 Mrd € …
1 seconds delay reduces revenue by 3% (2010)
32% of all users leave a page if the load time is between 1-5 seconds (2010)
The perceived load time is 15% higher. The remembered load time even 35%. (2010)
08.06.2016 5
Performance as Direct Competitive Factor
… because performance matters!
AGENDA
1. The inspectIT Team
2. Overview
3. Live Demo: Working with inspectIT
4. Outlook
5. Automatic Diagnosis of Performance Problems
6. Live Demo: Automated Diagnosis
ACTIVE CONTRIBUTORS
Ivan
Senić
Patrice
Bouillet
Mario
Mann
Alexander
Wert
Thomas
Kluge
Christian
Abele
Jonas
Kunz
Marius
Oehler
Max
Wassiljew
Matthias
Huber
René
Kugel
Tobias
Angerstein
Christoph
Heger
Stefan
Siegl
OVERVIEW ON INSPECTIT
Database
Server Client Browser
Request
Response
Query
Result
Application
Server
0.2s 0.3s 0.1s 5.4s
0.1s 0.4s 0.5s
0.3s 5.4s
7.3s
Visualization
(fictional timings)
Overview
Data Analysis
Data Recorder
Architecture
System Node 1
JVM
App 1
App 2
System Node n
Target
System
Central
Measurement
Repository
inspectIT RCP
Agent
Agent
08.06.2016 14
Docker Container
Application Container
+ inspectIT Agent
CMR inspectIT RCP
inspectIT-docker
inspectit
08.06.2016 15
Installation
Download http://github.com/inspectIT/inspectIT/releases
Central Measurement Repository (CMR) startup.sh / startup.bat
Instrumentation Configuration Mapping
Environment ↔ Agent
Agent -javaagent:<PATH_TO>/inspectit-agent.jar -Dinspectit.repository=<CMR_IP>:9070;<Agentname>
Hands on
Live Demo
08.06.2016 16
Sensors
Timer Sensor
Invocation Sequence Sensor
Datenbank/SQL Sensor
Logging Sensor
08.06.2016 17
Blog Post: Stefan Siegl – „Creating an inspectIT sensor“
http://goo.gl/5cER11
Exception Sensor
HTTP Data Sensor
System Information Sensor
JMX Sensor
OUTLOOK
Outlook
Business Context Q1/2016
Distributed Traces Q2/2016
End User Monitoring Q4/2016
Monitoring in Production 2017
Adaptive Instrumentation 2017
Automated Diagnosis 2017
08.06.2016 19
Estimation Feature Sponsoring
AUTOMATIC DIAGNOSIS OF
PERFORMANCE PROBLEMS
Manual Analysis
Perception of
the Problem
Reading of
Metrics
Unscalable
Analysis
08.06.2016 21
Automatic Diagnosis of Performance Problems
Automated Analysis
Semantification
of Performance
Problems
Interpretation
of Quantitative
Data
Isolation of
Problem Root
Causes
Categorization
of Performance
Problems
Automatic Diagnosis of Performance Problems
08.06.2016 22
Rules
Root Cause Isolation Semantification Clustering
Invocation
Sequences
anti-pattern recognition
„Select n+1 anti-pattern“
08.06.2016 23
Hands on
Live Demo – Preview
(Automated Diagnosis)
inspectIT & Continuous Integration
08.06.2016 25
0
1
2
3
1 2 3 4 5 6 7
Re
sp
on
se
T
ime
[s
]
Execution Nr.
System Under Test Load Driver
e-2-e response times
load data
detailed
measurement
data
performance
problems
08.06.2016 26
Contribute
troubleshooting
continuous
integration
development
production performance
awareness
coaching
star & watch
on GitHub
write about
like & spread
tweets
tell colleagues
about
promote use inspectIT
feedback provide
bug reports
vote
feature requests
create
feature requests code
bug fixes
documentation
icons & images
ecosystem
experience
reports
customer
reference
new ideas
Contribute
SPONSOR
Consulting Domains
@novatecgmbh
Stuttgart
Berlin Frankfurt
München
more than 200 colleagues
founded 1996
Agile Methods & Processes
Service Oriented Architecture and Technology
Business Process Management
Application Performance Management
Agile Quality Engineering
Enterprise Application Development
Get in touch with us
www.inspectIT.rocks
@inspectIT_APM
inspectIT
inspectIT-docker
08.06.2016 28
inspectit
Application Cases of inspectIT and diagnoseIT
Current State
Performance Analysis & Troubleshooting
Performance Awareness in Development
Continuous performance testing as part of Continuous Integration
Collaboration between Testing and Development Teams
Work in Progress
Monitoring in Production
inspectIT as Platform Service in Cloud Foundry
08.06.2016 29
Overview
Node 1
JVM
App 1
App 2
Node n
SUT
Traces
CTA
Instrumentation
Refinement Request
Instrumentation
Language Result
Result Description
Language
Monitoring Tool
Dynamic
Instrumentation
API Labelling
Location
Identification
Instrumentation
Quality Manager
Result Query
Diagnosis
Trace
Traces
CTA
Rule
Retrieve
information from
Notify on tagging
Problem
Instance
Repository
Manage
Tag
Instrumentation Refinement Request
Instrumentation
Language
Insight
Enrichment
Information
Request
Maintain Problem
Instance Problem
Instance
Create/Update
Result Description
Language
Mo
nito
rin
g T
oo
l
Common Trace API
https://goo.gl/UuoZkN
Join us
APM vendor independent data access
Goal
Monitoring data format is tool-specific
Motivation
APM vendor lock-in limits
interoperability and data exchange
Drawback
Importers
Planned
(http://goo.gl/5S337v)
(http://goo.gl/AAwdge)
(https://goo.gl/eDuA9R)
(http://goo.gl/3xM2ur) (http://goo.gl/KCWimU)
(http://goo.gl/z18Tuj)
(http://goo.gl/B3rJt4)
Profiler
fine-grained profiling
method inefficiencies
object allocation
threads
developers
very high
application unit
08.06.2016 33
inspectIT is not a Profiler!
APM (inspectIT)
End-to-end behaviour analysis
invocation flow
transactions
Business context
developers, operations, management
negligible (configurable)
application unit software system
Purpose
Target User Group
Performance Overhead
Scope