because performance matters! open source application ... · inspectit-docker inspectit . 15...

31
Because performance matters! - Open Source Application Performance Monitoring for the Crowd

Upload: others

Post on 18-Sep-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

Because performance matters!

-

Open Source Application Performance

Monitoring for the Crowd

Page 2: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

08.06.2016 2

Visual Comparison

http://www.webpagetest.org - Tested from Dulles, VA - Chrome

Page 3: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

08.06.2016 3

Perfomance Problems are Omnipresent

An unexpected

error occured Temporarily

not available Try again later

Page 4: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

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)

Page 5: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

08.06.2016 5

Performance as Direct Competitive Factor

Page 6: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

… because performance matters!

Page 7: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

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

Page 8: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

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

Page 9: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

OVERVIEW ON INSPECTIT

Page 10: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

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

Page 11: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

Architecture

System Node 1

JVM

App 1

App 2

System Node n

Target

System

Central

Measurement

Repository

inspectIT RCP

Agent

Agent

Page 12: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

08.06.2016 14

Docker Container

Application Container

+ inspectIT Agent

CMR inspectIT RCP

inspectIT-docker

inspectit

Page 13: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

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>

Page 14: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

Hands on

Live Demo

08.06.2016 16

Page 15: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

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

Page 16: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

OUTLOOK

Page 17: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

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

Page 18: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

AUTOMATIC DIAGNOSIS OF

PERFORMANCE PROBLEMS

Page 19: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

Manual Analysis

Perception of

the Problem

Reading of

Metrics

Unscalable

Analysis

08.06.2016 21

Automatic Diagnosis of Performance Problems

Page 20: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

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

Page 21: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

Rules

Root Cause Isolation Semantification Clustering

Invocation

Sequences

anti-pattern recognition

„Select n+1 anti-pattern“

08.06.2016 23

Page 22: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

Hands on

Live Demo – Preview

(Automated Diagnosis)

Page 23: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

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

Page 24: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

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

Page 25: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

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

Page 26: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

Get in touch with us

www.inspectIT.rocks

@inspectIT_APM

inspectIT

inspectIT-docker

08.06.2016 28

inspectit

Page 27: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

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

Page 28: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

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

Page 29: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

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

Page 30: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

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)

Page 31: Because performance matters! Open Source Application ... · inspectIT-docker inspectit . 15 08.06.2016 Installation Download ... Datenbank/SQL Sensor Logging Sensor 17 08.06.2016

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