Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get...

37
Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer

Transcript of Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get...

Page 1: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer

Page 2: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

A Bit About Me

•  Current: •  Past:

•  Pre-Sales Engineer (1997 – present) •  WaveMaker •  Wily •  Persistence •  GemStone

•  Application Developer (1988 – 1997) •  Dow Jones •  Dun & Bradstreet •  General Electric / RCA

•  Hobbies •  Vinyl •  Lionel trains •  iPhone Development

2 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 3: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

Why should I Pay for a Monitoring Tool ?

The changing Application Landscape

Try out the Free Monitoring Tools

How people are benefitting from APM?

3

4

2

Today’s Agenda

53 Copyright © AppDynamics. All rights reserved. "

Let’s debug a Slow Application 1

Page 4: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

App is running Slow … AND … •  It’s running in Production

•  Can’t restart the servers

•  Can’t reproduce in non prod environment •  Data sets and load are not alike

•  Just released a new version and it includes •  several refactoring, a new deployment architecture

•  Revenue critical app, can’t make it any slower by •  overloading it with intrusive monitors, additional logging

•  Development team is at a different location and time zone

4 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 5: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

Home grown - Logs, JMX Dashboards etc.

•  When it works •  First level of defense

•  Often added based on learning from outages and critical infrastructure components (pools, caches)

•  Systemic issues, e.g. recurring error / warn messages

•  When it doesn’t •  Sheer volume, don’t know where to start, after all logs are flat •  The issue is triggered by specific users, data, regions, etc. •  Logging libraries are often synchronous, and heavy on string

operations, hence can lead to performance issues •  What if you forgot to add “isDebugEnabled()”

•  Time and Server correlation is not easy •  Server Time vs. Actual Outage time

5 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 6: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

Let’s try some free tools

•  JConsole – ships with all JVMs

•  Visual VM – Exclusive to Oracle (Sun) JVM

•  Eclipse Memory Analyzer – Heap Dump Analysis

The Game Changer – AppDynamics Lite 2.0

6 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 7: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

Let’s go classic - JConsole JVM Health

7 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 8: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

Let’s go classic - JConsole Thread Dumps Mbean Browser

8 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 9: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

Let’s go classic - JConsole Mbean Browser

9 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 10: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

JConsole – Summary

•  When it Works •  JVM needs tuning

•  Get metrics for Memory, CPU, Threads and Garbage Collection •  Experiment with Memory Pools and GC Algorithms

•  Systemic slowness, thread dumps point at areas •  Server MBean and Custom JMX provides immediate clues

•  When it doesn’t •  Metrics have no contextual information so no clue why thread is

stuck on a socket ! •  You don’t know / own the source code and dev is not next to you •  It’s not a JVM tuning issue ? •  Passive, always have to be on watch •  Overhead

10 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 11: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

New Age - VisualVM How are my threads doing ?

11 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 12: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

New Age - VisualVM Where are my Threads spending their time ? A Thread dump to show what’s behind the socket read 12 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 13: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

New Age - VisualVM What are my Threads munching on? My App Classes

13 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 14: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

Visual VM– Summary

•  When it Works •  JVM Metrics overview : Memory, CPU, Threads, GC etc. •  Thread Summary View – Wait, Sleep, Monitor, Run Time •  Sampling provides some initial clues to the problems

•  Thread Sampling – Where time is spent most often •  Memory Sampling – What objects are created most often

•  When it doesn’t •  All the drawbacks of JConsole •  The profiler option (instruments all classes and methods) has way

too much overhead even for trivial apps, so not an option •  Ships only for Sun (Oracle) JVM

•  JRockit ships with a similar tool named JRA •  Nothing notable for IBM JVMs for free

14 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 15: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

Out of Memory ! - Eclipse Memory Analyzer

Leak Suspects Retained Heap Table

15 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 16: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

Eclipse Memory Analyzer - Summary •  When it works

•  You have a Heap Dump generated though –XX options •  Open up Leak Suspect Report and

•  Check out the actual content of the Object (Map <Key, Value>) •  Trace the outgoing and incoming references on the object (Who is

holding the map) •  It happens often and you know why it happens (you have some

smart engineers working with you !)

•  When it doesn’t ! •  Knowing what’s big is less important, what you need is

•  How it got big ? •  Who is adding / putting elements

•  Doesn’t happen all the time and you can’t associate with a specific event, it grows in lock step, not linear !

16 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 17: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

AD LITE 2.0 The Game Changer

Page 18: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

AppDynamics Lite 2.0 •  Application flow map

•  Identifies key components – Servlets, Struts, EJBs •  External calls – HTTP, RMI, JMS, JDBC, THRIFT etc.

•  Top Down View of Application •  Recognizable artifacts e.g. URI vs. Class Name •  Aggregated at the top, as experienced by real user

•  Dynamic Thresholds •  Learns by itself what’s slow for Login vs. Checkout

•  Continuous visibility and Deep Dive when needed •  Every click is monitored, capture outliers – Slow, Errors, Stalls

•  Your very own dashboard – App, BT, JMX Metrics •  Always ON, alerts when things go wrong

Built for Production < 2% Overhead

18 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 19: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

Shameless Plug

19 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

http://www.appdynamics.com/products-free-download.php

Page 20: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

When does it make sense to Pay for a Monitoring Tool?

Page 21: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

If your app … •  Deployed on more than 5 JVMs

•  Need to see data at one place, be able to navigate easily

•  Request processing is multi threaded, distributed •  Need correlation across threads and services

•  Agile releases, Now vs. Then •  Last 5 mins ! Last Week ! Last Quarter

•  Custom Data Capture, Slicing and dicing of the data •  Capture Parameters, Select where session_id =‘’, All slow SQLs

•  Advanced Baselines and Policy Engine •  Static / Dynamic / Seasonal Baselines •  Making sense from the metrics deluge

•  Dashboards, Business Metrics •  Pre built, custom widgets, live business metrics

•  Moving towards Cloud Architecture 21 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 22: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

The Commercial Landscape

•  The Big 5s

•  IBM •  CA •  Compuware •  HP •  BMC

•  The New Age Players •  AppDynamics •  New Relic

22 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 23: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

Must haves for your Paid Tool •  No professional services

•  Plug and Play, no experts needed to configure and tune the tool

•  You don’t tell the Tool, the Tools tells you what you got •  Self adaptive learning

•  Always ON in production with very low overhead •  Not a factor of how much traffic

•  Easy to learn the tool and extend too •  Start with the basics and be an expert over time

•  Easy to share and collaborate across the Organization •  Operation, Dev, QA, Performance, Architects

•  Total Cost of Ownership – include everything •  Software, Hardware, Deployment, Learning, Maintenance

•  Continuous Innovation •  Cloud, NO SQL, Async Transactions

23 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 24: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

AppDynamics Pro

Custom Data Collection API / Scripts

Custom Action API / Scripts

Instrumentation Point API

Business Metric Collection API

Custom Header Correlation API

Controller

Application Server Agent

(JVM/CLR)

Machine Agent Alert&

Integra+on&API&/&Scripts&

Data&Feed&API&

Data&Collec+on&

API&

Cloud&Connector&

API&

Page 25: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

How is APM Helping Organizations ?

Page 26: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

•  A nice problem to have... •  http://techblog.netflix.com/2011/02/redesigning-netflix-api.html

•  A “Blockbuster in the Cloud” •  World’s largest Java public cloud deployment

AppDynamics in Action: Netflix

37x Growth Jan 2010-Jan 2011

26 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 27: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

1ST CLICK: THE APP TOPOLOGY

27 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 28: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

2ND CLICK: REVIEW SLOW TRANSACTIONS

28 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 29: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

3RD CLICK: TRIAGE LOCATION

29 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 30: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

4TH CLICK: FIND THE LINE OF CODE

30 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 31: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

•  E – Travel Site

•  Tomcat, Active MQ, My SQL

•  200 Business Transactions

AppDynamics in Action: Karavel, France

31 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 32: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

CUSTOM DASHBOARDS

32 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 33: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

DRILL DOWN ON SLOW TRANSACTIONS

33 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 34: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

FIND THE CODE AND THE BAD SQL

34 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 35: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

VALIDATE THE FIX !

35 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 36: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

FUTURE PROOF WITH ALERTS

36 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "

Page 37: Java Monitoring Stuff You Can Get For Free (And Stuff You ... · Java Monitoring Stuff You Can Get For Free (And Stuff You Can’t) Paul Jasek Sales Engineer . ... a new deployment

Q&A

Q&A

37 March 5, 2012 | Copyright © 2010 AppDynamics. All rights reserved. "