SlideShare a Scribd company logo
1 of 45
Download to read offline
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.1
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.2
Insert Picture Here
Continuous Performance
Monitoring of a Distributed
Application
Ashish Srivastava
Principal Member of Technical Staff
Diana Yuryeva
Senior Member of Technical Staff
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.3
The following is intended to outline our general product direction. It is intended
for information purposes only, and may not be incorporated into any contract.
It is not a commitment to deliver any material, code, or functionality, and
should not be relied upon in making purchasing decisions. The development,
release, and timing of any features or functionality described for Oracle’s
products remains at the sole discretion of Oracle.
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.4
Session Goal
§ Components:
– Design patterns
– Tools
§ Qualities:
– Continuous
– Light-weight
– Recordable
Arrive at solution for extreme performance monitoring
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.5
Session Agenda
§ Use Case
§ Software Patterns
§ Tools
§ Pitfalls and Advice
§ Q&A
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.6
About Us
§ Oracle Billing and Revenue Management Elastic Charging Engine
– 100% real-time charging application
– Java
– Distributed grid
– Oracle Coherence
– Oracle NoSQL
– Focus on extreme performance
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.7
Operating Conditions
§ Low latency expectations
§ Heavy system load
§ Distributed environment
§ Multi-level software stack
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.8
Monitoring Requirements
§ Detailed insight about performance
– Latency
– Throughput
§ View over time
§ Reporting
§ Bottleneck detection
§ View of system as cohesive unit
Functional
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.9
Monitoring Requirements
§ Minimal impact on processing
§ Ease of use
§ Separation of concerns
Non-Functional
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.10
Session Agenda
§ Use Case
§ Software Patterns
§ Tools
§ Pitfalls and Advice
§ Q&A
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.11
Approach
§ Off-the-shelf software not sufficient
§ Custom development needed
– Incorporate monitoring into system
– Collect, analyze and present metrics
How do I address these requirements?
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.12
Collecting Metrics
§ Goal
– Incorporate metrics collection into general processing
§ Approach
– Enhance domain model with monitoring-related data structures
Problem overview
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.13
Collecting Metrics
Model of sample system
ECE Client
Network Mediation
A
B
B'
C
C'
A'
A
Node1
Node3
Node2
request
―Debatch the requests
―Data lookups
―Apply Tariff
―Save Session
―Prepare Response
―..
response
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.14
Collecting Metrics
Solution
ECE Client
Network Mediation
A
B
B'
C
C'
A'
A
Node1
Node3
Node2
request
―Debatch the requests
―Data lookups
―Apply Tariff
―Save Session
―Prepare Response
―..
response
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.15
Client Node
Processing
Node
Envelope
Routing Context
Payload
Tracking Context Chronicler
– TimePoints
Stat Reporterharvest
Envelope
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.16
Collecting Metrics
##### Elapsed time = 3600 seconds
##### Avg throughput = 20000 ops/sec
##### Avg latency = 50 ms
Result
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.17
Granular Reporting
§ Goal
– I need more granular reporting of performance over time
§ Approach
– Enhance reporting of collected metrics
Problem overview
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.18
Granular Reporting
Solution – data structure
Chronicler removed
―
A moving reporting window
―
100% reporting
―
Sampled reporting
―
Stats exposed over JMX
―
Fixed data set for a window
Chronicler added
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.19
Granular Reporting
Solution – class diagram
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.20
Granular Reporting
§ I can see min/max/avg latency and throughput over time
§ My throughput reporting is quite good: I can see whether I had
stable or erratic throughput
Result
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.21
Latency Percentile Report
§ Goal
– Latencies are still not detailed enough. I need to know more than the
average/min/max latencies
– Need to guarantee that 99.999% of the requests take less than 55ms
§ Approach
– Introduce range bucketing to count latencies
Problem overview
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.22
Latency Percentile Report
§ Pre-defined buckets of latency percentiles
§ Data set does not grow. Each bucket is updated
§ Multiple percentile breakdown
– End-to-end
– Server side processing
– Per batch reporting
Solution
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.23
Latency Percentile Report
2013-03-21 08:44:29.112 PDT INFO ##### Latency statistics based on percentiles:
Percentile: 0.1, Latency: 1ms, Total Count: 1173148
Percentile: 1.0, Latency: 2ms, Total Count: 100909763
Percentile: 10.0, Latency: 2ms, Total Count: 100909763
Percentile: 95.0, Latency: 26ms, Total Count: 685176664
Percentile: 99.0, Latency: 50ms, Total Count: 713029967
Percentile: 99.5, Latency: 58ms, Total Count: 716355711
Percentile: 99.9, Latency: 78ms, Total Count: 719217619
Percentile: 99.99, Latency: 104ms, Total Count: 719836971
Percentile: 99.999, Latency: 128ms, Total Count: 719897850
Percentile: 100.0, Latency: 169ms, Total Count: 719904814
Result – printed report
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.24
Latency Percentile Report
Result – heat map
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.25
Method Breakdown
§ Goal
– I want to measure the impact of a new method under varying load
– End-to-end latency always ON
– Minimum performance impact
§ Approach
– Method annotations
– Aspect
Problem overview
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.26
Method Breakdown
Solution
public enum LabelEnum {
APPLY_TARIFF,
...
DEBATCH
}
public class ClassToBeTracked {
@Track(pointLabel = LabelEnum.APPLY_TARIFF)
private <ReturnObject> method(<Parameters>) {
...
}
}
<pointcut name="scope" expression="within(ClassName) "/>
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.27
Method Breakdown
Result – detailed breakdown report
2013-07-15 16:29:24.953 PDT
Chronicler Breakdown:
DEBATCH -> 64149 nanoseconds
LOOKUP_DATA -> 1056748 nanoseconds
APPLY_TARIFF -> 99994 nanoseconds
SAVE_SESSION -> 12989 nanoseconds
PREPARE_RESPONSE -> 15998 nanoseconds
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.28
Session Agenda
§ Use Case
§ Software Patterns
§ Tools
§ Pitfalls and Advice
§ Q&A
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.29
Storing and Presenting Metrics
§ Goal
– I collect detailed performance metrics, but I need to report them too
– I need a tool which stores these metrics and presents them in a unified
view
§ Approach
– Create monitoring dashboard
– Technologies: JRDS,RRD and in-house development
Problem overview
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.30
Storing and Presenting Metrics
Result – monitoring dashboard
Configuration:
Topology 24 servers
Throughput 20000 ops/sec
Duration 10 hrs
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.31
Storing and Presenting Metrics
§ Graphical
§ Supports various metrics
– Application-specific
– Machine-specific
– JVM-specific
§ Consolidated view
– All graphs on one page
Solution qualities
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.32
Storing and Presenting Metrics
§ Easy to use
– Collects and saves data automatically
§ Easy to share
– Includes configuration for future references
– Send links to web pages
– Print page as PDF
Solution qualities
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.33
Storing and Presenting Metrics
§ Stores data without losing precision
§ Supports drilling down
§ Light-weight
§ Customizable
Solution qualities
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.34
Session Agenda
§ Use Case
§ Software Patterns
§ Tools
§ Pitfalls and Advice
§ Q&A
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.35
Pitfalls and Advice
§ Distributed system monitoring != Single JVM monitoring
– Consolidated view is critical
§ Consistency of tools across team is important
– Same language across development, QE and Performance teams saves
hours
§ Solution should enable you to be agile
– Run monitoring on laptop AND realistic setup
Take into consideration
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.36
Pitfalls and Advice
§ These hide problems
– Averaging
– Sampling
§ GC has big impact, so include it in your metrics
§ Watch our for processes sharing the same host
§ Always run long-duration tests
Some things to pay attention to
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.37
Session Summary
 Detailed insight about performance
– Latency
– Throughput
 View over time
 Reporting
 Bottleneck detection
 View of system as cohesive unit
Let's see how we addressed original requirements
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.38
Session Summary
 Detailed insight about performance
– Latency
– Throughput
 View over time
 Reporting
 Bottleneck detection
 View of system as cohesive unit
Let's see how we addressed original requirements
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.39
Session Summary
 Detailed insight about performance
– Latency
– Throughput
 View over time
 Reporting
 Bottleneck detection
 View of system as cohesive unit
Let's see how we addressed original requirements
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.40
Session Summary
 Detailed insight about performance
– Latency
– Throughput
 View over time
 Reporting
 Bottleneck detection
 View of system as cohesive unit
Let's see how we addressed original requirements
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.41
Session Summary
 Detailed insight about performance
– Latency
– Throughput
 View over time
 Reporting
 Bottleneck detection
 View of system as cohesive unit
Let's see how we addressed original requirements
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.42
Session Summary
 Detailed insight about performance
– Latency
– Throughput
 View over time
 Reporting
 Bottleneck detection
 View of system as cohesive unit
Let's see how we addressed original requirements
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.43
Session Agenda
§ Use Case
§ Software Patterns
§ Tools
§ Pitfalls and Advice
§ Q&A
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.44
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.45
Links
§ ECE
– http://www.oracle.com/us/products/applications/communications/elastic-
charging-engine
§ JRDS
– http://www.jrds.fr

More Related Content

What's hot

Delivering your Oracle EBS R12 Upgrade with 100% Confidence
Delivering your Oracle EBS R12 Upgrade with 100% ConfidenceDelivering your Oracle EBS R12 Upgrade with 100% Confidence
Delivering your Oracle EBS R12 Upgrade with 100% ConfidenceOriginal Software
 
A Case Study on Business Process Management
A Case Study on Business Process ManagementA Case Study on Business Process Management
A Case Study on Business Process ManagementGoutama Bachtiar
 
Using HP Quality Center 10.0 workflow and customization interface to manage t...
Using HP Quality Center 10.0 workflow and customization interface to manage t...Using HP Quality Center 10.0 workflow and customization interface to manage t...
Using HP Quality Center 10.0 workflow and customization interface to manage t...Michael Deady
 
Spira plan overview presentation
Spira plan overview presentationSpira plan overview presentation
Spira plan overview presentationTrabalistra Bagaz
 
Anitha_Resume_BigData
Anitha_Resume_BigDataAnitha_Resume_BigData
Anitha_Resume_BigDataAnitha Bade
 
MSS Business Integration Practice Ibm Web Sphere
MSS Business Integration Practice   Ibm Web SphereMSS Business Integration Practice   Ibm Web Sphere
MSS Business Integration Practice Ibm Web SphereDavid White
 
Agile Network India | Event | Agile Implementation in distributed teams |
Agile Network India | Event | Agile Implementation in distributed teams | Agile Network India | Event | Agile Implementation in distributed teams |
Agile Network India | Event | Agile Implementation in distributed teams | AgileNetwork
 
Prashant kumar feb2016
Prashant kumar feb2016Prashant kumar feb2016
Prashant kumar feb2016Prashant Kumar
 
Workshop BI/DWH AGILE TESTING SNS Bank English
Workshop BI/DWH AGILE TESTING SNS Bank EnglishWorkshop BI/DWH AGILE TESTING SNS Bank English
Workshop BI/DWH AGILE TESTING SNS Bank EnglishMarcus Drost
 
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...VMworld
 
Our 9.2 Upgrade: How Transformation + Technology = Success
Our 9.2 Upgrade: How Transformation + Technology = SuccessOur 9.2 Upgrade: How Transformation + Technology = Success
Our 9.2 Upgrade: How Transformation + Technology = SuccessHuron Consulting Group
 
Alliance 2017 3891-University of California | Office of The President People...
Alliance 2017  3891-University of California | Office of The President People...Alliance 2017  3891-University of California | Office of The President People...
Alliance 2017 3891-University of California | Office of The President People...Smart ERP Solutions, Inc.
 
Top 8 Trends in Performance Engineering
Top 8 Trends in Performance EngineeringTop 8 Trends in Performance Engineering
Top 8 Trends in Performance EngineeringConvetit
 
Sdlc framework
Sdlc frameworkSdlc framework
Sdlc frameworkBILL bill
 
Optimizing Business Process In Organization PowerPoint Presentation Slides
Optimizing Business Process In Organization PowerPoint Presentation SlidesOptimizing Business Process In Organization PowerPoint Presentation Slides
Optimizing Business Process In Organization PowerPoint Presentation SlidesSlideTeam
 
Bpm10gperformancetuning 476208
Bpm10gperformancetuning 476208Bpm10gperformancetuning 476208
Bpm10gperformancetuning 476208Vibhor Rastogi
 
How to implement an enterprise system
How to implement an enterprise systemHow to implement an enterprise system
How to implement an enterprise systemMiki Lumnitz
 
Resume - Gagan Gupta
Resume - Gagan GuptaResume - Gagan Gupta
Resume - Gagan GuptaGagan Gupta
 

What's hot (20)

Delivering your Oracle EBS R12 Upgrade with 100% Confidence
Delivering your Oracle EBS R12 Upgrade with 100% ConfidenceDelivering your Oracle EBS R12 Upgrade with 100% Confidence
Delivering your Oracle EBS R12 Upgrade with 100% Confidence
 
A Case Study on Business Process Management
A Case Study on Business Process ManagementA Case Study on Business Process Management
A Case Study on Business Process Management
 
Using HP Quality Center 10.0 workflow and customization interface to manage t...
Using HP Quality Center 10.0 workflow and customization interface to manage t...Using HP Quality Center 10.0 workflow and customization interface to manage t...
Using HP Quality Center 10.0 workflow and customization interface to manage t...
 
Spira plan overview presentation
Spira plan overview presentationSpira plan overview presentation
Spira plan overview presentation
 
Anitha_Resume_BigData
Anitha_Resume_BigDataAnitha_Resume_BigData
Anitha_Resume_BigData
 
MSS Business Integration Practice Ibm Web Sphere
MSS Business Integration Practice   Ibm Web SphereMSS Business Integration Practice   Ibm Web Sphere
MSS Business Integration Practice Ibm Web Sphere
 
Agile Network India | Event | Agile Implementation in distributed teams |
Agile Network India | Event | Agile Implementation in distributed teams | Agile Network India | Event | Agile Implementation in distributed teams |
Agile Network India | Event | Agile Implementation in distributed teams |
 
Prashant kumar feb2016
Prashant kumar feb2016Prashant kumar feb2016
Prashant kumar feb2016
 
Workshop BI/DWH AGILE TESTING SNS Bank English
Workshop BI/DWH AGILE TESTING SNS Bank EnglishWorkshop BI/DWH AGILE TESTING SNS Bank English
Workshop BI/DWH AGILE TESTING SNS Bank English
 
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
 
Our 9.2 Upgrade: How Transformation + Technology = Success
Our 9.2 Upgrade: How Transformation + Technology = SuccessOur 9.2 Upgrade: How Transformation + Technology = Success
Our 9.2 Upgrade: How Transformation + Technology = Success
 
Contracting for agile jenny tuohy
Contracting for agile   jenny tuohyContracting for agile   jenny tuohy
Contracting for agile jenny tuohy
 
UCPath at UCOP
UCPath at UCOPUCPath at UCOP
UCPath at UCOP
 
Alliance 2017 3891-University of California | Office of The President People...
Alliance 2017  3891-University of California | Office of The President People...Alliance 2017  3891-University of California | Office of The President People...
Alliance 2017 3891-University of California | Office of The President People...
 
Top 8 Trends in Performance Engineering
Top 8 Trends in Performance EngineeringTop 8 Trends in Performance Engineering
Top 8 Trends in Performance Engineering
 
Sdlc framework
Sdlc frameworkSdlc framework
Sdlc framework
 
Optimizing Business Process In Organization PowerPoint Presentation Slides
Optimizing Business Process In Organization PowerPoint Presentation SlidesOptimizing Business Process In Organization PowerPoint Presentation Slides
Optimizing Business Process In Organization PowerPoint Presentation Slides
 
Bpm10gperformancetuning 476208
Bpm10gperformancetuning 476208Bpm10gperformancetuning 476208
Bpm10gperformancetuning 476208
 
How to implement an enterprise system
How to implement an enterprise systemHow to implement an enterprise system
How to implement an enterprise system
 
Resume - Gagan Gupta
Resume - Gagan GuptaResume - Gagan Gupta
Resume - Gagan Gupta
 

Viewers also liked

Exposición de Google Chrome
Exposición de Google ChromeExposición de Google Chrome
Exposición de Google Chromeyssel20122455
 
Wcm777 ch opp 0521
Wcm777 ch opp  0521Wcm777 ch opp  0521
Wcm777 ch opp 0521ttran321
 
How do you envision the city of the future?
How do you envision the city of the future?How do you envision the city of the future?
How do you envision the city of the future?Vadimas Komarskis
 
디자인매니지먼트2
디자인매니지먼트2디자인매니지먼트2
디자인매니지먼트2sabina0907
 
Design_Project.compressed
Design_Project.compressedDesign_Project.compressed
Design_Project.compressedTochukwu Udeh
 
Adhesiva Y Pegamento - como Elegir El Mejor
Adhesiva Y Pegamento - como Elegir El MejorAdhesiva Y Pegamento - como Elegir El Mejor
Adhesiva Y Pegamento - como Elegir El Mejoralikepan5938
 
Novoe v porjadke_attestacii_na_2014_god
Novoe v porjadke_attestacii_na_2014_godNovoe v porjadke_attestacii_na_2014_god
Novoe v porjadke_attestacii_na_2014_godRoousk
 
Presentacion
PresentacionPresentacion
PresentacionSELIANAM
 
Movimiento preindependentista
Movimiento preindependentistaMovimiento preindependentista
Movimiento preindependentistaEduardo Soto
 
خطبہ جمعہ 18 دسمبر 1992
خطبہ جمعہ 18 دسمبر 1992 خطبہ جمعہ 18 دسمبر 1992
خطبہ جمعہ 18 دسمبر 1992 muzaffertahir9
 
Inspiring growth - Day 1 Leveraging associations and networks
Inspiring growth -  Day 1  Leveraging associations and networksInspiring growth -  Day 1  Leveraging associations and networks
Inspiring growth - Day 1 Leveraging associations and networksGermaine4IBIS
 
Collage businesses law
Collage businesses lawCollage businesses law
Collage businesses lawrangers720
 
2015-04-01 research seminar
2015-04-01 research seminar2015-04-01 research seminar
2015-04-01 research seminarifi8106tlu
 

Viewers also liked (19)

Exposición de Google Chrome
Exposición de Google ChromeExposición de Google Chrome
Exposición de Google Chrome
 
Wcm777 ch opp 0521
Wcm777 ch opp  0521Wcm777 ch opp  0521
Wcm777 ch opp 0521
 
Linux εντολές lp, wc, grep
Linux εντολές lp, wc, grepLinux εντολές lp, wc, grep
Linux εντολές lp, wc, grep
 
How do you envision the city of the future?
How do you envision the city of the future?How do you envision the city of the future?
How do you envision the city of the future?
 
디자인매니지먼트2
디자인매니지먼트2디자인매니지먼트2
디자인매니지먼트2
 
Design_Project.compressed
Design_Project.compressedDesign_Project.compressed
Design_Project.compressed
 
Mi bautizo
Mi bautizoMi bautizo
Mi bautizo
 
Adhesiva Y Pegamento - como Elegir El Mejor
Adhesiva Y Pegamento - como Elegir El MejorAdhesiva Y Pegamento - como Elegir El Mejor
Adhesiva Y Pegamento - como Elegir El Mejor
 
Novoe v porjadke_attestacii_na_2014_god
Novoe v porjadke_attestacii_na_2014_godNovoe v porjadke_attestacii_na_2014_god
Novoe v porjadke_attestacii_na_2014_god
 
Presentacion
PresentacionPresentacion
Presentacion
 
Movimiento preindependentista
Movimiento preindependentistaMovimiento preindependentista
Movimiento preindependentista
 
خطبہ جمعہ 18 دسمبر 1992
خطبہ جمعہ 18 دسمبر 1992 خطبہ جمعہ 18 دسمبر 1992
خطبہ جمعہ 18 دسمبر 1992
 
Presentation_NEW.PPTX
Presentation_NEW.PPTXPresentation_NEW.PPTX
Presentation_NEW.PPTX
 
Doc1
Doc1Doc1
Doc1
 
RESUME_Ashish Dhuliya
RESUME_Ashish DhuliyaRESUME_Ashish Dhuliya
RESUME_Ashish Dhuliya
 
Inspiring growth - Day 1 Leveraging associations and networks
Inspiring growth -  Day 1  Leveraging associations and networksInspiring growth -  Day 1  Leveraging associations and networks
Inspiring growth - Day 1 Leveraging associations and networks
 
Linux εντολές cp ,mv, ln
Linux εντολές cp ,mv, lnLinux εντολές cp ,mv, ln
Linux εντολές cp ,mv, ln
 
Collage businesses law
Collage businesses lawCollage businesses law
Collage businesses law
 
2015-04-01 research seminar
2015-04-01 research seminar2015-04-01 research seminar
2015-04-01 research seminar
 

Similar to Continuous Performance Monitoring of a Distributed Application [CON4730]

Otm 2013 c13_e-17a-plessis-elisabeth-otm-self-help
Otm 2013 c13_e-17a-plessis-elisabeth-otm-self-helpOtm 2013 c13_e-17a-plessis-elisabeth-otm-self-help
Otm 2013 c13_e-17a-plessis-elisabeth-otm-self-helpjucaab
 
Oracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & TuningOracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & TuningChris Muir
 
Oracle primavera and bpm the power of integration ppt
Oracle primavera and bpm   the power of integration pptOracle primavera and bpm   the power of integration ppt
Oracle primavera and bpm the power of integration pptp6academy
 
Con8833 access at scale for hundreds of millions of users final
Con8833 access at scale for hundreds of millions of users   finalCon8833 access at scale for hundreds of millions of users   final
Con8833 access at scale for hundreds of millions of users finalOracleIDM
 
206510 p6 upgrade considerations
206510 p6 upgrade considerations206510 p6 upgrade considerations
206510 p6 upgrade considerationsp6academy
 
Ebs12.2 online patching
Ebs12.2 online patching Ebs12.2 online patching
Ebs12.2 online patching aioughydchapter
 
Ebs12.2 online patching(aioug_aug2015)
Ebs12.2 online patching(aioug_aug2015)Ebs12.2 online patching(aioug_aug2015)
Ebs12.2 online patching(aioug_aug2015)pasalapudi123
 
So we've done APM. Now what?
 So we've done APM. Now what? So we've done APM. Now what?
So we've done APM. Now what?SL Corporation
 
1 architecture & design
1   architecture & design1   architecture & design
1 architecture & designMark Swarbrick
 
Oracle - Enterprise Manager 12c Overview
Oracle - Enterprise Manager 12c OverviewOracle - Enterprise Manager 12c Overview
Oracle - Enterprise Manager 12c OverviewFred Sim
 
MySQL Group Replication: Handling Network Glitches - Best Practices
MySQL Group Replication: Handling Network Glitches - Best PracticesMySQL Group Replication: Handling Network Glitches - Best Practices
MySQL Group Replication: Handling Network Glitches - Best PracticesFrederic Descamps
 
Profiling of Engagers and Converters with Audience Analytics and Look-alike M...
Profiling of Engagers and Converters with Audience Analytics and Look-alike M...Profiling of Engagers and Converters with Audience Analytics and Look-alike M...
Profiling of Engagers and Converters with Audience Analytics and Look-alike M...Datacratic
 
Con3928 horton session con3928 fusion app on-premise installation lessons lea...
Con3928 horton session con3928 fusion app on-premise installation lessons lea...Con3928 horton session con3928 fusion app on-premise installation lessons lea...
Con3928 horton session con3928 fusion app on-premise installation lessons lea...Berry Clemens
 
Ebs performance tuning session feb 13 2013---Presented by Oracle
Ebs performance tuning session  feb 13 2013---Presented by OracleEbs performance tuning session  feb 13 2013---Presented by Oracle
Ebs performance tuning session feb 13 2013---Presented by OracleAkash Pramanik
 
Con7091 sql tuning for expert db as-oow17_oct2_1507314871265001m0x4
Con7091 sql tuning for expert db as-oow17_oct2_1507314871265001m0x4Con7091 sql tuning for expert db as-oow17_oct2_1507314871265001m0x4
Con7091 sql tuning for expert db as-oow17_oct2_1507314871265001m0x4asifanw
 
Best Practices for Upgrading your JD Edwards Software from Oracle
Best Practices for Upgrading your JD Edwards Software from OracleBest Practices for Upgrading your JD Edwards Software from Oracle
Best Practices for Upgrading your JD Edwards Software from OracleUBC Corporation
 
Developing Applications with MySQL and Java
Developing Applications with MySQL and JavaDeveloping Applications with MySQL and Java
Developing Applications with MySQL and JavaMark Matthews
 
Oracle Database Lifecycle Management
Oracle Database Lifecycle ManagementOracle Database Lifecycle Management
Oracle Database Lifecycle ManagementHari Srinivasan
 
OOW16 - Maintenance Strategies for Oracle E-Business Suite [CON6725]
OOW16 - Maintenance Strategies for Oracle E-Business Suite [CON6725]OOW16 - Maintenance Strategies for Oracle E-Business Suite [CON6725]
OOW16 - Maintenance Strategies for Oracle E-Business Suite [CON6725]vasuballa
 

Similar to Continuous Performance Monitoring of a Distributed Application [CON4730] (20)

Otm 2013 c13_e-17a-plessis-elisabeth-otm-self-help
Otm 2013 c13_e-17a-plessis-elisabeth-otm-self-helpOtm 2013 c13_e-17a-plessis-elisabeth-otm-self-help
Otm 2013 c13_e-17a-plessis-elisabeth-otm-self-help
 
Oracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & TuningOracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & Tuning
 
Oracle primavera and bpm the power of integration ppt
Oracle primavera and bpm   the power of integration pptOracle primavera and bpm   the power of integration ppt
Oracle primavera and bpm the power of integration ppt
 
Con8833 access at scale for hundreds of millions of users final
Con8833 access at scale for hundreds of millions of users   finalCon8833 access at scale for hundreds of millions of users   final
Con8833 access at scale for hundreds of millions of users final
 
206510 p6 upgrade considerations
206510 p6 upgrade considerations206510 p6 upgrade considerations
206510 p6 upgrade considerations
 
Ebs12.2 online patching
Ebs12.2 online patching Ebs12.2 online patching
Ebs12.2 online patching
 
Ebs12.2 online patching(aioug_aug2015)
Ebs12.2 online patching(aioug_aug2015)Ebs12.2 online patching(aioug_aug2015)
Ebs12.2 online patching(aioug_aug2015)
 
Developer want change Ops want control - devops
Developer want change Ops want control - devopsDeveloper want change Ops want control - devops
Developer want change Ops want control - devops
 
So we've done APM. Now what?
 So we've done APM. Now what? So we've done APM. Now what?
So we've done APM. Now what?
 
1 architecture & design
1   architecture & design1   architecture & design
1 architecture & design
 
Oracle - Enterprise Manager 12c Overview
Oracle - Enterprise Manager 12c OverviewOracle - Enterprise Manager 12c Overview
Oracle - Enterprise Manager 12c Overview
 
MySQL Group Replication: Handling Network Glitches - Best Practices
MySQL Group Replication: Handling Network Glitches - Best PracticesMySQL Group Replication: Handling Network Glitches - Best Practices
MySQL Group Replication: Handling Network Glitches - Best Practices
 
Profiling of Engagers and Converters with Audience Analytics and Look-alike M...
Profiling of Engagers and Converters with Audience Analytics and Look-alike M...Profiling of Engagers and Converters with Audience Analytics and Look-alike M...
Profiling of Engagers and Converters with Audience Analytics and Look-alike M...
 
Con3928 horton session con3928 fusion app on-premise installation lessons lea...
Con3928 horton session con3928 fusion app on-premise installation lessons lea...Con3928 horton session con3928 fusion app on-premise installation lessons lea...
Con3928 horton session con3928 fusion app on-premise installation lessons lea...
 
Ebs performance tuning session feb 13 2013---Presented by Oracle
Ebs performance tuning session  feb 13 2013---Presented by OracleEbs performance tuning session  feb 13 2013---Presented by Oracle
Ebs performance tuning session feb 13 2013---Presented by Oracle
 
Con7091 sql tuning for expert db as-oow17_oct2_1507314871265001m0x4
Con7091 sql tuning for expert db as-oow17_oct2_1507314871265001m0x4Con7091 sql tuning for expert db as-oow17_oct2_1507314871265001m0x4
Con7091 sql tuning for expert db as-oow17_oct2_1507314871265001m0x4
 
Best Practices for Upgrading your JD Edwards Software from Oracle
Best Practices for Upgrading your JD Edwards Software from OracleBest Practices for Upgrading your JD Edwards Software from Oracle
Best Practices for Upgrading your JD Edwards Software from Oracle
 
Developing Applications with MySQL and Java
Developing Applications with MySQL and JavaDeveloping Applications with MySQL and Java
Developing Applications with MySQL and Java
 
Oracle Database Lifecycle Management
Oracle Database Lifecycle ManagementOracle Database Lifecycle Management
Oracle Database Lifecycle Management
 
OOW16 - Maintenance Strategies for Oracle E-Business Suite [CON6725]
OOW16 - Maintenance Strategies for Oracle E-Business Suite [CON6725]OOW16 - Maintenance Strategies for Oracle E-Business Suite [CON6725]
OOW16 - Maintenance Strategies for Oracle E-Business Suite [CON6725]
 

Recently uploaded

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 

Recently uploaded (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 

Continuous Performance Monitoring of a Distributed Application [CON4730]

  • 1. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.1
  • 2. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.2 Insert Picture Here Continuous Performance Monitoring of a Distributed Application Ashish Srivastava Principal Member of Technical Staff Diana Yuryeva Senior Member of Technical Staff
  • 3. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.3 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
  • 4. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.4 Session Goal § Components: – Design patterns – Tools § Qualities: – Continuous – Light-weight – Recordable Arrive at solution for extreme performance monitoring
  • 5. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.5 Session Agenda § Use Case § Software Patterns § Tools § Pitfalls and Advice § Q&A
  • 6. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.6 About Us § Oracle Billing and Revenue Management Elastic Charging Engine – 100% real-time charging application – Java – Distributed grid – Oracle Coherence – Oracle NoSQL – Focus on extreme performance
  • 7. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.7 Operating Conditions § Low latency expectations § Heavy system load § Distributed environment § Multi-level software stack
  • 8. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.8 Monitoring Requirements § Detailed insight about performance – Latency – Throughput § View over time § Reporting § Bottleneck detection § View of system as cohesive unit Functional
  • 9. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.9 Monitoring Requirements § Minimal impact on processing § Ease of use § Separation of concerns Non-Functional
  • 10. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.10 Session Agenda § Use Case § Software Patterns § Tools § Pitfalls and Advice § Q&A
  • 11. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.11 Approach § Off-the-shelf software not sufficient § Custom development needed – Incorporate monitoring into system – Collect, analyze and present metrics How do I address these requirements?
  • 12. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.12 Collecting Metrics § Goal – Incorporate metrics collection into general processing § Approach – Enhance domain model with monitoring-related data structures Problem overview
  • 13. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.13 Collecting Metrics Model of sample system ECE Client Network Mediation A B B' C C' A' A Node1 Node3 Node2 request ―Debatch the requests ―Data lookups ―Apply Tariff ―Save Session ―Prepare Response ―.. response
  • 14. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.14 Collecting Metrics Solution ECE Client Network Mediation A B B' C C' A' A Node1 Node3 Node2 request ―Debatch the requests ―Data lookups ―Apply Tariff ―Save Session ―Prepare Response ―.. response
  • 15. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.15 Client Node Processing Node Envelope Routing Context Payload Tracking Context Chronicler – TimePoints Stat Reporterharvest Envelope
  • 16. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.16 Collecting Metrics ##### Elapsed time = 3600 seconds ##### Avg throughput = 20000 ops/sec ##### Avg latency = 50 ms Result
  • 17. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.17 Granular Reporting § Goal – I need more granular reporting of performance over time § Approach – Enhance reporting of collected metrics Problem overview
  • 18. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.18 Granular Reporting Solution – data structure Chronicler removed ― A moving reporting window ― 100% reporting ― Sampled reporting ― Stats exposed over JMX ― Fixed data set for a window Chronicler added
  • 19. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.19 Granular Reporting Solution – class diagram
  • 20. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.20 Granular Reporting § I can see min/max/avg latency and throughput over time § My throughput reporting is quite good: I can see whether I had stable or erratic throughput Result
  • 21. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.21 Latency Percentile Report § Goal – Latencies are still not detailed enough. I need to know more than the average/min/max latencies – Need to guarantee that 99.999% of the requests take less than 55ms § Approach – Introduce range bucketing to count latencies Problem overview
  • 22. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.22 Latency Percentile Report § Pre-defined buckets of latency percentiles § Data set does not grow. Each bucket is updated § Multiple percentile breakdown – End-to-end – Server side processing – Per batch reporting Solution
  • 23. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.23 Latency Percentile Report 2013-03-21 08:44:29.112 PDT INFO ##### Latency statistics based on percentiles: Percentile: 0.1, Latency: 1ms, Total Count: 1173148 Percentile: 1.0, Latency: 2ms, Total Count: 100909763 Percentile: 10.0, Latency: 2ms, Total Count: 100909763 Percentile: 95.0, Latency: 26ms, Total Count: 685176664 Percentile: 99.0, Latency: 50ms, Total Count: 713029967 Percentile: 99.5, Latency: 58ms, Total Count: 716355711 Percentile: 99.9, Latency: 78ms, Total Count: 719217619 Percentile: 99.99, Latency: 104ms, Total Count: 719836971 Percentile: 99.999, Latency: 128ms, Total Count: 719897850 Percentile: 100.0, Latency: 169ms, Total Count: 719904814 Result – printed report
  • 24. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.24 Latency Percentile Report Result – heat map
  • 25. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.25 Method Breakdown § Goal – I want to measure the impact of a new method under varying load – End-to-end latency always ON – Minimum performance impact § Approach – Method annotations – Aspect Problem overview
  • 26. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.26 Method Breakdown Solution public enum LabelEnum { APPLY_TARIFF, ... DEBATCH } public class ClassToBeTracked { @Track(pointLabel = LabelEnum.APPLY_TARIFF) private <ReturnObject> method(<Parameters>) { ... } } <pointcut name="scope" expression="within(ClassName) "/>
  • 27. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.27 Method Breakdown Result – detailed breakdown report 2013-07-15 16:29:24.953 PDT Chronicler Breakdown: DEBATCH -> 64149 nanoseconds LOOKUP_DATA -> 1056748 nanoseconds APPLY_TARIFF -> 99994 nanoseconds SAVE_SESSION -> 12989 nanoseconds PREPARE_RESPONSE -> 15998 nanoseconds
  • 28. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.28 Session Agenda § Use Case § Software Patterns § Tools § Pitfalls and Advice § Q&A
  • 29. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.29 Storing and Presenting Metrics § Goal – I collect detailed performance metrics, but I need to report them too – I need a tool which stores these metrics and presents them in a unified view § Approach – Create monitoring dashboard – Technologies: JRDS,RRD and in-house development Problem overview
  • 30. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.30 Storing and Presenting Metrics Result – monitoring dashboard Configuration: Topology 24 servers Throughput 20000 ops/sec Duration 10 hrs
  • 31. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.31 Storing and Presenting Metrics § Graphical § Supports various metrics – Application-specific – Machine-specific – JVM-specific § Consolidated view – All graphs on one page Solution qualities
  • 32. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.32 Storing and Presenting Metrics § Easy to use – Collects and saves data automatically § Easy to share – Includes configuration for future references – Send links to web pages – Print page as PDF Solution qualities
  • 33. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.33 Storing and Presenting Metrics § Stores data without losing precision § Supports drilling down § Light-weight § Customizable Solution qualities
  • 34. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.34 Session Agenda § Use Case § Software Patterns § Tools § Pitfalls and Advice § Q&A
  • 35. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.35 Pitfalls and Advice § Distributed system monitoring != Single JVM monitoring – Consolidated view is critical § Consistency of tools across team is important – Same language across development, QE and Performance teams saves hours § Solution should enable you to be agile – Run monitoring on laptop AND realistic setup Take into consideration
  • 36. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.36 Pitfalls and Advice § These hide problems – Averaging – Sampling § GC has big impact, so include it in your metrics § Watch our for processes sharing the same host § Always run long-duration tests Some things to pay attention to
  • 37. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.37 Session Summary  Detailed insight about performance – Latency – Throughput  View over time  Reporting  Bottleneck detection  View of system as cohesive unit Let's see how we addressed original requirements
  • 38. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.38 Session Summary  Detailed insight about performance – Latency – Throughput  View over time  Reporting  Bottleneck detection  View of system as cohesive unit Let's see how we addressed original requirements
  • 39. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.39 Session Summary  Detailed insight about performance – Latency – Throughput  View over time  Reporting  Bottleneck detection  View of system as cohesive unit Let's see how we addressed original requirements
  • 40. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.40 Session Summary  Detailed insight about performance – Latency – Throughput  View over time  Reporting  Bottleneck detection  View of system as cohesive unit Let's see how we addressed original requirements
  • 41. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.41 Session Summary  Detailed insight about performance – Latency – Throughput  View over time  Reporting  Bottleneck detection  View of system as cohesive unit Let's see how we addressed original requirements
  • 42. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.42 Session Summary  Detailed insight about performance – Latency – Throughput  View over time  Reporting  Bottleneck detection  View of system as cohesive unit Let's see how we addressed original requirements
  • 43. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.43 Session Agenda § Use Case § Software Patterns § Tools § Pitfalls and Advice § Q&A
  • 44. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.44
  • 45. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.45 Links § ECE – http://www.oracle.com/us/products/applications/communications/elastic- charging-engine § JRDS – http://www.jrds.fr