fighting groundhog days: expert-guided automatic diagnosis of performance problems in enterprise...

23
Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications Symposium on Software Performance (SSP) November 05, 2015 @ Munich Christoph Heger, Dušan Okanović, Stefan Siegl, André van Hoorn and Alexander Wert @diagnoseIT_apm https://diagnoseIT.github.io (http://goo.gl/Q3OZpA)

Upload: christoph-heger

Post on 27-Jan-2017

458 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications

Fighting Groundhog Days:

Expert-Guided Automatic Diagnosis of

Performance Problems in Enterprise Applications

Symposium on Software Performance (SSP)

November 05, 2015 @ Munich

Christoph Heger, Dušan Okanović, Stefan Siegl, André van Hoorn and Alexander Wert

@diagnoseIT_apm https://diagnoseIT.github.io

(htt

p:/

/go

o.g

l/Q

3O

Zp

A)

Page 2: Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications

2/ 2015/11/05

Performance Problems are Omnipresent

Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of

Performance Problems in Enterprise Applications

An unexpected

error occured

Temporarily

not available

… more capacity

is on the way

Try again later

Please visit us

again later

We are

experiencing

heavy demand

Page 3: Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications

3/ 2015/11/05

Manual Diagnosis

Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of

Performance Problems in Enterprise Applications

Adapt

instrumentation Component

Deep-Dive

Interpretation of

measurements

Detect problem

Page 4: Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications

4/ 2015/11/05

Manual Configuration

Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of

Performance Problems in Enterprise Applications

Adapt

instrumentation

Page 5: Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications

5/ 2015/11/05

Manual Reasoning

Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of

Performance Problems in Enterprise Applications

Component

Deep-Dive

Interpretation of

measurements

Page 6: Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications

6/ 2015/11/05

diagnoseIT Goals

Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of

Performance Problems in Enterprise Applications

Reduce maintainance effort by 50%

Detect 100% of all problems automatically

Identify 80% of the root causes automatically

No APM vendor lock-in

Page 7: Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications

7/ 2015/11/05

Overview

Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of

Performance Problems in Enterprise Applications

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 8: Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications

8/ 2015/11/05

Diagnosis

Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of

Performance Problems in Enterprise Applications

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 9: Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications

9/ 2015/11/05

diagnoseIT Characteristics

Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of

Performance Problems in Enterprise Applications

Adaptive Configuration

Continuous Learning

APM Process Automation

Formalized Expert

Knowledge

Page 10: Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications

10/ 2015/11/05

Rules

Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of

Performance Problems in Enterprise Applications

Root

Cause

Problem

Context

Global

Context

Root Cause

Tag

Problem

Context Tag

Global

Context Tag

Isolate

Root Cause

Semantify

Root Cause

Generic Analysis

Domain- and Technology-

specific Analysis

Page 11: Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications

11/ 2015/11/05

DVDStore Example

Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of

Performance Problems in Enterprise Applications

doFilter(…) 47.67 186,259.50

searchTitleAndDescription(…) 22,961.16 184,897.25

searchTitleAndDescriptionWithOneWord(…) 0.14 158,054.08

list(…) 152,620,13 158,036.29

executeQuery() 1,793.75 1,793.75

executeQuery() 0.36 0.36

executeQuery() 0.13 0.13

searchTitleAndDescriptionWithOneWord(…) 0.05 3,882.01

list(…) 2,625.22 3,881.70

executeQuery() 1,257.47 1,257.47 {SQL: Select PROD_ID …}

{SQL: Select PROD_ID …}

Real Trace

(Simplified)

{SQL: Select INV_ID …}

{SQL: Select INV_ID …}

Response Time

[ms]

Exclusive Execution

Time [ms]

Page 12: Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications

12/ 2015/11/05

Root Cause Isolation

Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of

Performance Problems in Enterprise Applications

list(…) 152,620,13 158,036.29

searchTitleAndDescription(…) 22,961.16 184,897.25

list(…) 2,625.22 3,881.70

executeQuery() 1,793.75 1,793.75

executeQuery() 1,257.47 1,257.47

doFilter(…) 47.67 186,259.50

executeQuery() 0.36 0.36

searchTitleAndDescriptionWithOneWord(…) 0.14 158,054.08

executeQuery() 0.13 0.13

searchTitleAndDescriptionWithOneWord(…) 0.05 3,882.01

Real Trace

(Simplified)

Response Time

[ms]

Exclusive Execution

Time [ms]

{SQL: Select PROD_ID …}

{SQL: Select PROD_ID …}

{SQL: Select INV_ID …}

{SQL: Select INV_ID …}

Descending Order

Cause

Cause

Cause

Cause

Cause

Page 13: Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications

13/ 2015/11/05

Problem Instance 1

Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of

Performance Problems in Enterprise Applications

C P

doFilter(…) 47.67 186,259.50

searchTitleAndDescription(…) 22,961.16 184,897.25

searchTitleAndDescriptionWithOneWord(…) 0.14 158,054.08

list(…) 152,620,13 158,036.29

executeQuery() 1,793.75 1,793.75

executeQuery() 0.36 0.36

executeQuery() 0.13 0.13

searchTitleAndDescriptionWithOneWord(…) 0.05 3,882.01

list(…) 2,625.22 3,881.70

executeQuery() 1,257.47 1,257.47 {SQL: Select PROD_ID …}

Cause

{SQL: Select PROD_ID …}

Real Trace

(Simplified)

Problem Context

{SQL: Select INV_ID …}

{SQL: Select INV_ID …}

Response Time

[ms]

Exclusive Execution

Time [ms]

Page 14: Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications

14/ 2015/11/05

Problem Instance 2

Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of

Performance Problems in Enterprise Applications

C P

doFilter(…) 47.67 186,259.50

searchTitleAndDescription(…) 22,961.16 184,897.25

searchTitleAndDescriptionWithOneWord(…) 0.14 158,054.08

list(…) 152,620,13 158,036.29

executeQuery() 1,793.75 1,793.75

executeQuery() 0.36 0.36

executeQuery() 0.13 0.13

searchTitleAndDescriptionWithOneWord(…) 0.05 3,882.01

list(…) 2,625.22 3,881.70

executeQuery() 1,257.47 1,257.47

Cause

{SQL: Select PROD_ID …}

Cause

{SQL: Select PROD_ID …}

Real Trace

(Simplified)

Problem Context

{SQL: Select INV_ID …}

{SQL: Select INV_ID …}

Response Time

[ms]

Exclusive Execution

Time [ms]

Page 15: Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications

15/ 2015/11/05

Problem Instance 3

Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of

Performance Problems in Enterprise Applications

C P

Response Time

[ms]

doFilter(…) 47.67 186,259.50

searchTitleAndDescription(…) 22,961.16 184,897.25

searchTitleAndDescriptionWithOneWord(…) 0.14 158,054.08

list(…) 152,620,13 158,036.29

executeQuery() 1,793.75 1,793.75

executeQuery() 0.36 0.36

executeQuery() 0.13 0.13

searchTitleAndDescriptionWithOneWord(…) 0.05 3,882.01

list(…) 2,625.22 3,881.70

executeQuery() 1,257.47 1,257.47 Cause {SQL: Select PROD_ID …}

Cause {SQL: Select PROD_ID …}

Real Trace

(Simplified)

Problem Context

{SQL: Select INV_ID …}

{SQL: Select INV_ID …}

Exclusive Execution

Time [ms]

Page 16: Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications

16/ 2015/11/05

Global Context

Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of

Performance Problems in Enterprise Applications

Response Time

[ms]

doFilter(…) 47.67 186,259.50

searchTitleAndDescription(…) 22,961.16 184,897.25

searchTitleAndDescriptionWithOneWord(…) 0.14 158,054.08

list(…) 152,620,13 158,036.29

executeQuery() 1,793.75 1,793.75

executeQuery() 0.36 0.36

executeQuery() 0.13 0.13

searchTitleAndDescriptionWithOneWord(…) 0.05 3,882.01

list(…) 2,625.22 3,881.70

executeQuery() 1,257.47 1,257.47 {SQL: Select PROD_ID …}

{SQL: Select PROD_ID …}

Real Trace

(Simplified)

{SQL: Select INV_ID …}

{SQL: Select INV_ID …}

Exclusive Execution

Time [ms]

3x Problem Context Global Context

Page 17: Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications

17/ 2015/11/05

diagnoseIT Prototype

Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of

Performance Problems in Enterprise Applications

Problems

Overview

Natural language

description

Problem instance

details

Page 18: Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications

18/ 2015/11/05

diagnoseIT Prototype

Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of

Performance Problems in Enterprise Applications

Problem

Highlighting

Page 19: Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications

19/ 2015/11/05

Common Trace API

Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of

Performance Problems in Enterprise Applications

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 20: Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications

20/ 2015/11/05

diagnoseIT-as-a-Service

Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of

Performance Problems in Enterprise Applications

Evaluation of diagnosis rules

Motivation

Diagnosis service for traces

Idea

Collection of real traces and problems

Benefit

Support us

https://ditaas.inspectit.rocks

Page 21: Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications

21/ 2015/11/05

Future Steps

Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of

Performance Problems in Enterprise Applications

Anti-Pattern Detection

Overhead-aware Instrumentation

Case Studies System

measures

Page 22: Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications

22/ 2015/11/05

Case Studies Outlook

Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of

Performance Problems in Enterprise Applications

Level of Distribution

Le

ve

l of C

om

ple

xity

DVDStore

(http://goo.gl/dPc0YQ)

(http://goo.gl/yDHkW6)

(http://goo.gl/8PnaqE)

(https://goo.gl/oqvy4K)

Page 23: Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of Performance Problems in Enterprise Applications

23/ 2015/11/05

Conclusion

Fighting Groundhog Days: Expert-Guided Automatic Diagnosis of

Performance Problems in Enterprise Applications

Demo Bundle

https://goo.gl/M1VQA9 @diagnoseIT_apm https://diagnoseIT.github.io

Problem Detection

Automatic Diagnosis

APM Process

Automation

No APM vendor lock-in