SlideShare a Scribd company logo
1 of 43
Synthetic Monitoring Deep Dive
Olivier Crameri
Engineering Manager | AppDynamics
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 2
Notice
The information and materials included in this presentation (collectively, the
“Materials”) are the proprietary information of AppDynamics, Inc. (“AppDynamics” or
the “Company”). No part of the Materials may be reproduced, distributed,
communicated or displayed in any form or by any means, or used to make any
derivative work, without prior written permission from AppDynamics.
The Materials may contain product roadmap information of AppDynamics.
AppDynamics reserves the right to change any product roadmap information at any
time, for any reason and without notice. This information is intended to outline
AppDynamics' general product direction, it is not a guarantee of future product
features, and it should not be relied on in making a purchasing decision. The
development, release, and timing of any features or functionality described for
AppDynamics' products remains at AppDynamics' sole discretion. AppDynamics
reserves the right to change any planned features at any time before making them
generally available as well as never making them generally available.
All third-party trademarks, including names, logos and brands, referenced by
AppDynamics in this presentation are property of their respective owners. All
references to third-party trademarks are for identification purposes only and shall be
considered nominative fair use under trademark law. © 2016 AppDynamics, Inc. All
rights reserved.
3
Outline
• Synthetic Monitoring 101
• Synthetic & Unified Monitoring
• Best practices and Scripting tips
• Future outlook & Conclusion
• Q&A
AppDynamics Confidential and Proprietary 4
Synthetic Monitoring 101
Synthetic monitoring
AppDynamics Confidential and Proprietary 6
http://my-ecommerce.com
or
Script describing a user transaction
Pro-active monitoring of Websites from 25+ locations in the world
URL measurements
AppDynamics Confidential and Proprietary 7
Scripted transactions
AppDynamics Confidential and Proprietary 8
WebDriver (aka Selenium)
• W3C standard, open source
• Supported language: python
• Features:
– All typical user interactions
– DOM inspection
– JavaScript execution
– Anything that can be done
in python
AppDynamics Confidential and Proprietary 9
AppDynamics Confidential and Proprietary 10
AppDynamics Confidential and Proprietary 11
AppDynamics Confidential and Proprietary 12
AppDynamics Confidential and Proprietary 13
Synthetic &
unified monitoring
Application Performance Monitoring
Health at a glance - drill down for detailed metrics, events, errors, …
End User Monitoring
AppDynamics Confidential and Proprietary 16
User Experience at a glance – drill down for sessions, errors, metrics…
Synthetic is orthogonal to APM & EUM
• Proactive monitoring
• Controlled environment
• Provides visibility from outside the application
17AppDynamics Confidential and Proprietary
Controlled environment
• Choose relevant locations & browsers
• Emulate slower networks with traffic shaping
– Cable, DSL, Mobile, …
• Use assertions to validate correct behavior
• Re-run tests automatically to confirm errors
AppDynamics Confidential and Proprietary 18
Example: eCommerce application
• Key objectives
– users can always complete checkout
– items are sold at the correct price
– site is fast enough so as to not discourage users
• Implementation
– Single script going through the desired workflow
– Assertion to validate cart total
AppDynamics Confidential and Proprietary 19
AppDynamics Confidential and Proprietary 20
AppDynamics Confidential and Proprietary 21
AppDynamics Confidential and Proprietary 22
Exception: AssertionError
The cart total should never be 0
Tip: use health rules to receive alerts
23
AppDynamics Confidential and Proprietary 24
AppDynamics Confidential and Proprietary 25
Visually Complete Time
• Typical UX metric, onload time, is not completely relevant
– Includes irrelevant things (bellow the fold)
– Misses other relevant items
• Example: timer after onload to display prices and buy button
• Visually Complete gives the time at which the page is “ready”
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 26
Synthetic + APM with BT correlation
AppDynamics Confidential and Proprietary 27
Pro-active monitoring with deep visibility through the application stack
Best practices & tips
How to write a good script?
• Option 1: use a recorder from the Selenium community
• Option 2: write from scratch
AppDynamics Confidential and Proprietary 29
My typical scripting workflow
1. Define high level goals for the script
2. Come up with selectors to interact with the site
3. Write & Debug on my laptop with Selenium
4. Upload to Synthetic
5. Run & Debug
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 30
Key ingredient: understand how your app is built
AppDynamics Confidential and Proprietary 31
• The DOM describes your app
• It is the basic data structure used to
interact with your page in WebDriver
• The DOM on your website can be
built
– Statically, simple HTML rendering
– Dynamically, using JavaScript &
AJAX
(image by Birger Eriksson / CC BY-SA 3.0)
Identifying elements of the website
• WebDriver uses selectors to locate elements (Xpath or CSS)
• Problems:
– When multiple paths are available, which one to pick?
– What if a path resolves to multiple elements?
– What it the DOM changes?
– When should IDs be used?
AppDynamics Confidential and Proprietary 32
WebDriver Scripting Assistant
• Chrome extension
– easily find reliable CSS selectors
• Uses IDs or unique attributes
– except if they are automatically
generated
• Picks the shortest available
selectors
• Avoids overly generic selectors
AppDynamics Confidential and Proprietary 33
Challenge #1: sequence of actions
AppDynamics Confidential and Proprietary 34
Click on Button 1
WebDriver Script
Click on Button 2
Web Browser
Browser handles event.
UI is updated
Button 2 appears
2nd click requested after browser
is done completing the 1st click
time time
Challenge #1: sequence of actions
AppDynamics Confidential and Proprietary 35
Click on Button 1
WebDriver Script
Click on Button 2
Web Browser
time time
2nd click requested too early
Script will crash
Browser handles event.
Higher network latency
(remote location?)
UI is updated
Button 2 appears
AppDynamics Confidential and Proprietary 36
• Script is crashing
• No alerts go out
• Website in trouble
• Alerts are sent
AppDynamics Confidential and Proprietary 37
• Script is crashing
• No alerts go out
• Website in trouble
• Alerts are sent
Tip: use automatic re-test to weed out false positives
(which may be due to temporary latency glitches)
Challenge #1: sequence of actions
AppDynamics Confidential and Proprietary 38
Click on Button 1
WebDriver Script
Click on Button 2
Web Browser
time time
2nd click requested too early
Script will crash
Browser handles event.
Higher network latency
(remote location?)
UI is updated
Button 2 appears
Challenge #1: sequence of actions
AppDynamics Confidential and Proprietary 39
Click on Button 1
WebDriver Script
Click on Button 2
Web Browser
time time
Browser handles event.
Higher network latency
(remote location?)
UI is updated
Button 2 appears
Solution 1: configure implicit waits
WebDriver will retry automatically
Challenge #1: sequence of actions
AppDynamics Confidential and Proprietary 40
Click on Button 1
WebDriver Script
Wait for Button 1
to become clickable
Web Browser
time time
Browser handles event.
Higher network latency
(remote location?)
UI is updated
Button 2 appears
Solution 2: set an explicit wait on
Button2
Click on Button 2
Challenge #1: sequence of actions
AppDynamics Confidential and Proprietary 41
Click on Button 1
WebDriver Script
Click on Button 2
Web Browser
time time
2nd click requested too early
Script will crash
Browser handles event.
Higher network latency
(remote location?)
UI is updated
Button 2 appears
Tip: request a screenshot
Developers, developers, developers!
• Website implementations are sometimes “curious”
• Best practice:
– Design websites with “testability” in mind
• Enlist developers
• Use scripts both for functional testing & monitoring in Synthetic
AppDynamics Confidential and Proprietary 42
Feedback? Questions?
Olivier Crameri
olivier.crameri@appdynamics.com
Thank you

More Related Content

What's hot

Service Level Terminology : SLA ,SLO & SLI
Service Level Terminology : SLA ,SLO & SLIService Level Terminology : SLA ,SLO & SLI
Service Level Terminology : SLA ,SLO & SLI
Knoldus Inc.
 

What's hot (20)

Managed Services Overview
Managed Services OverviewManaged Services Overview
Managed Services Overview
 
.conf Go 2022 - Observability Session
.conf Go 2022 - Observability Session.conf Go 2022 - Observability Session
.conf Go 2022 - Observability Session
 
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
 
Customer case - Dynatrace Monitoring Redefined
Customer case - Dynatrace Monitoring RedefinedCustomer case - Dynatrace Monitoring Redefined
Customer case - Dynatrace Monitoring Redefined
 
AppSphere 15 - Deep Dive into AppDynamics Application Analytics
AppSphere 15 - Deep Dive into AppDynamics Application AnalyticsAppSphere 15 - Deep Dive into AppDynamics Application Analytics
AppSphere 15 - Deep Dive into AppDynamics Application Analytics
 
Api observability
Api observability Api observability
Api observability
 
Do You Really Need to Evolve From Monitoring to Observability?
Do You Really Need to Evolve From Monitoring to Observability?Do You Really Need to Evolve From Monitoring to Observability?
Do You Really Need to Evolve From Monitoring to Observability?
 
End User Monitoring with AppDynamics - AppSphere16
End User Monitoring with AppDynamics - AppSphere16End User Monitoring with AppDynamics - AppSphere16
End User Monitoring with AppDynamics - AppSphere16
 
Cloud-Native Observability
Cloud-Native ObservabilityCloud-Native Observability
Cloud-Native Observability
 
Observability vs APM vs Monitoring Comparison
Observability vs APM vs  Monitoring ComparisonObservability vs APM vs  Monitoring Comparison
Observability vs APM vs Monitoring Comparison
 
Splunk-Presentation
Splunk-Presentation Splunk-Presentation
Splunk-Presentation
 
Tcoe team
Tcoe teamTcoe team
Tcoe team
 
Splunk Overview
Splunk OverviewSplunk Overview
Splunk Overview
 
CMDB - Use Cases
CMDB - Use CasesCMDB - Use Cases
CMDB - Use Cases
 
Splunk Cloud
Splunk CloudSplunk Cloud
Splunk Cloud
 
Prov International - Our Service-Now ITOM Delivery Capabilities
Prov International - Our Service-Now ITOM Delivery CapabilitiesProv International - Our Service-Now ITOM Delivery Capabilities
Prov International - Our Service-Now ITOM Delivery Capabilities
 
SRE in Startup
SRE in StartupSRE in Startup
SRE in Startup
 
AWS cloud adoption framework (caf)
AWS cloud adoption framework (caf)AWS cloud adoption framework (caf)
AWS cloud adoption framework (caf)
 
Service Level Terminology : SLA ,SLO & SLI
Service Level Terminology : SLA ,SLO & SLIService Level Terminology : SLA ,SLO & SLI
Service Level Terminology : SLA ,SLO & SLI
 
OSS Service Assurance -Concept Presentation by Biju M Rr
OSS Service Assurance  -Concept Presentation by Biju M RrOSS Service Assurance  -Concept Presentation by Biju M Rr
OSS Service Assurance -Concept Presentation by Biju M Rr
 

Viewers also liked

Viewers also liked (15)

Top 10 Application Problems
Top 10 Application ProblemsTop 10 Application Problems
Top 10 Application Problems
 
Business iQ: What It Is and How to Start - AppD Summit Europe
Business iQ: What It Is and How to Start - AppD Summit EuropeBusiness iQ: What It Is and How to Start - AppD Summit Europe
Business iQ: What It Is and How to Start - AppD Summit Europe
 
Standard Bank: How APM Supports DevOps, Agile and Engineering Transformation ...
Standard Bank: How APM Supports DevOps, Agile and Engineering Transformation ...Standard Bank: How APM Supports DevOps, Agile and Engineering Transformation ...
Standard Bank: How APM Supports DevOps, Agile and Engineering Transformation ...
 
イノベーション創発塾_2017 001
イノベーション創発塾_2017 001イノベーション創発塾_2017 001
イノベーション創発塾_2017 001
 
Mastering APM With End User Monitoring - AppD Summit Europe
Mastering APM With End User Monitoring - AppD Summit EuropeMastering APM With End User Monitoring - AppD Summit Europe
Mastering APM With End User Monitoring - AppD Summit Europe
 
The real cost of it franken monitoring
The real cost of it franken monitoringThe real cost of it franken monitoring
The real cost of it franken monitoring
 
Architecting the Digital Enterprise
Architecting the Digital Enterprise Architecting the Digital Enterprise
Architecting the Digital Enterprise
 
Velocity Presentation - Unified Monitoring with AppDynamics
Velocity Presentation - Unified Monitoring with AppDynamicsVelocity Presentation - Unified Monitoring with AppDynamics
Velocity Presentation - Unified Monitoring with AppDynamics
 
Containers: Give Me The Facts, Not The Hype - AppD Summit Europe
Containers: Give Me The Facts, Not The Hype - AppD Summit EuropeContainers: Give Me The Facts, Not The Hype - AppD Summit Europe
Containers: Give Me The Facts, Not The Hype - AppD Summit Europe
 
Is Your Infrastructure Affecting Critical Business Transactions? - AppSphere16
Is Your Infrastructure Affecting Critical Business Transactions? - AppSphere16Is Your Infrastructure Affecting Critical Business Transactions? - AppSphere16
Is Your Infrastructure Affecting Critical Business Transactions? - AppSphere16
 
AppSphere 15 - The Future of Enterprise IT
AppSphere 15 - The Future of Enterprise ITAppSphere 15 - The Future of Enterprise IT
AppSphere 15 - The Future of Enterprise IT
 
Become an AppDynamics Dashboard Rockstar - AppD Summit Europe
Become an AppDynamics Dashboard Rockstar - AppD Summit EuropeBecome an AppDynamics Dashboard Rockstar - AppD Summit Europe
Become an AppDynamics Dashboard Rockstar - AppD Summit Europe
 
Business Transactions with AppDynamics
Business Transactions with AppDynamicsBusiness Transactions with AppDynamics
Business Transactions with AppDynamics
 
Forrester Research: How To Organise Your Business For Digital Success - AppD ...
Forrester Research: How To Organise Your Business For Digital Success - AppD ...Forrester Research: How To Organise Your Business For Digital Success - AppD ...
Forrester Research: How To Organise Your Business For Digital Success - AppD ...
 
Cisco and AppDynamics: Redefining Application Intelligence - AppD Summit Europe
Cisco and AppDynamics: Redefining Application Intelligence - AppD Summit EuropeCisco and AppDynamics: Redefining Application Intelligence - AppD Summit Europe
Cisco and AppDynamics: Redefining Application Intelligence - AppD Summit Europe
 

Similar to Synthetic Monitoring Deep Dive - AppSphere16

Similar to Synthetic Monitoring Deep Dive - AppSphere16 (20)

AppSphere 2016 - Automate performance testing with AppDynamics using continuo...
AppSphere 2016 - Automate performance testing with AppDynamics using continuo...AppSphere 2016 - Automate performance testing with AppDynamics using continuo...
AppSphere 2016 - Automate performance testing with AppDynamics using continuo...
 
Advanced APM .NET Hands-On Lab - AppSphere16
Advanced APM .NET Hands-On Lab - AppSphere16Advanced APM .NET Hands-On Lab - AppSphere16
Advanced APM .NET Hands-On Lab - AppSphere16
 
Next-Gen Business Transaction Configuration, Instrumentation, and Java Perfor...
Next-Gen Business Transaction Configuration, Instrumentation, and Java Perfor...Next-Gen Business Transaction Configuration, Instrumentation, and Java Perfor...
Next-Gen Business Transaction Configuration, Instrumentation, and Java Perfor...
 
Improved Interaction with Mobile User Interaction: Tips and Tricks - AppSphere16
Improved Interaction with Mobile User Interaction: Tips and Tricks - AppSphere16Improved Interaction with Mobile User Interaction: Tips and Tricks - AppSphere16
Improved Interaction with Mobile User Interaction: Tips and Tricks - AppSphere16
 
Getting Additional Value from Logs and APM Data with AppDynamics Unified Anal...
Getting Additional Value from Logs and APM Data with AppDynamics Unified Anal...Getting Additional Value from Logs and APM Data with AppDynamics Unified Anal...
Getting Additional Value from Logs and APM Data with AppDynamics Unified Anal...
 
Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16
Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16
Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16
 
Simplify Troubleshooting With Context in Your Logs
Simplify Troubleshooting With Context in Your LogsSimplify Troubleshooting With Context in Your Logs
Simplify Troubleshooting With Context in Your Logs
 
Mastering the Administration of your AppDynamics Deployment - AppSphere16
Mastering the Administration of your AppDynamics Deployment - AppSphere16Mastering the Administration of your AppDynamics Deployment - AppSphere16
Mastering the Administration of your AppDynamics Deployment - AppSphere16
 
Best Practices and Advanced Insights on Browser RUM Users - AppSphere16
Best Practices and Advanced Insights on Browser RUM Users - AppSphere16Best Practices and Advanced Insights on Browser RUM Users - AppSphere16
Best Practices and Advanced Insights on Browser RUM Users - AppSphere16
 
Creative Automation with Galen Framework
Creative Automation with Galen FrameworkCreative Automation with Galen Framework
Creative Automation with Galen Framework
 
IoT in the Enterprise
IoT in the EnterpriseIoT in the Enterprise
IoT in the Enterprise
 
IoT in the Enterprise: Why Your Monitoring Strategy Should Include Connected ...
IoT in the Enterprise: Why Your Monitoring Strategy Should Include Connected ...IoT in the Enterprise: Why Your Monitoring Strategy Should Include Connected ...
IoT in the Enterprise: Why Your Monitoring Strategy Should Include Connected ...
 
Intro to Automation Using Perfecto's CQ Lab
Intro to Automation Using Perfecto's CQ LabIntro to Automation Using Perfecto's CQ Lab
Intro to Automation Using Perfecto's CQ Lab
 
Advanced Agent Deployment Strategies in Large Scale, Complex Environments - A...
Advanced Agent Deployment Strategies in Large Scale, Complex Environments - A...Advanced Agent Deployment Strategies in Large Scale, Complex Environments - A...
Advanced Agent Deployment Strategies in Large Scale, Complex Environments - A...
 
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
 
AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...
AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...
AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...
 
Android Tools for Qualcomm Snapdragon Processors
Android Tools for Qualcomm Snapdragon Processors Android Tools for Qualcomm Snapdragon Processors
Android Tools for Qualcomm Snapdragon Processors
 
Selenium With Spices
Selenium With SpicesSelenium With Spices
Selenium With Spices
 
Amazon CI/CD Practices for Software Development Teams - SRV320 - Atlanta AWS ...
Amazon CI/CD Practices for Software Development Teams - SRV320 - Atlanta AWS ...Amazon CI/CD Practices for Software Development Teams - SRV320 - Atlanta AWS ...
Amazon CI/CD Practices for Software Development Teams - SRV320 - Atlanta AWS ...
 
(R)evolutionize APM
(R)evolutionize APM(R)evolutionize APM
(R)evolutionize APM
 

More from AppDynamics

More from AppDynamics (20)

Good Migrations: APM Essentials For Cloud Success at AppD Global Tour London
Good Migrations: APM Essentials For Cloud Success at AppD Global Tour LondonGood Migrations: APM Essentials For Cloud Success at AppD Global Tour London
Good Migrations: APM Essentials For Cloud Success at AppD Global Tour London
 
Top Tips For AppD Adoption Success at AppD Global Tour London
Top Tips For AppD Adoption Success at AppD Global Tour LondonTop Tips For AppD Adoption Success at AppD Global Tour London
Top Tips For AppD Adoption Success at AppD Global Tour London
 
How To Create An AppD Centre of Excellence at AppD Global Tour London
How To Create An AppD Centre of Excellence at AppD Global Tour LondonHow To Create An AppD Centre of Excellence at AppD Global Tour London
How To Create An AppD Centre of Excellence at AppD Global Tour London
 
Ensure Every Customer Matters With End User Monitoring at AppD Global Tour Lo...
Ensure Every Customer Matters With End User Monitoring at AppD Global Tour Lo...Ensure Every Customer Matters With End User Monitoring at AppD Global Tour Lo...
Ensure Every Customer Matters With End User Monitoring at AppD Global Tour Lo...
 
Just Eat: DevOps at Scale at AppD Global Tour London
Just Eat: DevOps at Scale at AppD Global Tour LondonJust Eat: DevOps at Scale at AppD Global Tour London
Just Eat: DevOps at Scale at AppD Global Tour London
 
What’s Next For AppDynamics and Cisco? AppD Global Tour London
What’s Next For AppDynamics and Cisco? AppD Global Tour LondonWhat’s Next For AppDynamics and Cisco? AppD Global Tour London
What’s Next For AppDynamics and Cisco? AppD Global Tour London
 
Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...
Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...
Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...
 
Overcoming Transformational Barriers with Ensono - AppD Global Tour London
Overcoming Transformational Barriers with Ensono - AppD Global Tour LondonOvercoming Transformational Barriers with Ensono - AppD Global Tour London
Overcoming Transformational Barriers with Ensono - AppD Global Tour London
 
Equinor: What does normal look like?
Equinor: What does normal look like? Equinor: What does normal look like?
Equinor: What does normal look like?
 
Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...
Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...
Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...
 
Top Tips For AppD Adoption Success - AppD Global Tour Stockholm
Top Tips For AppD Adoption Success - AppD Global Tour StockholmTop Tips For AppD Adoption Success - AppD Global Tour Stockholm
Top Tips For AppD Adoption Success - AppD Global Tour Stockholm
 
What's next for AppD and Cisco? - AppD Global Tour
What's next for AppD and Cisco? - AppD Global TourWhat's next for AppD and Cisco? - AppD Global Tour
What's next for AppD and Cisco? - AppD Global Tour
 
British Medical Journal: Refine Your Metrics For Digital Success - AppD Summi...
British Medical Journal: Refine Your Metrics For Digital Success - AppD Summi...British Medical Journal: Refine Your Metrics For Digital Success - AppD Summi...
British Medical Journal: Refine Your Metrics For Digital Success - AppD Summi...
 
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAutomation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
 
AppDynamics the Missing Link to DevOps - AppSphere16
AppDynamics the Missing Link to DevOps - AppSphere16AppDynamics the Missing Link to DevOps - AppSphere16
AppDynamics the Missing Link to DevOps - AppSphere16
 
AppDynamics Custom Transaction Correlation
 AppDynamics Custom Transaction Correlation AppDynamics Custom Transaction Correlation
AppDynamics Custom Transaction Correlation
 
From APM to Business Monitoring with AppDynamics Analytics
From APM to Business Monitoring with AppDynamics AnalyticsFrom APM to Business Monitoring with AppDynamics Analytics
From APM to Business Monitoring with AppDynamics Analytics
 
Memory Heap Analysis with AppDynamics - AppSphere16
Memory Heap Analysis with AppDynamics - AppSphere16Memory Heap Analysis with AppDynamics - AppSphere16
Memory Heap Analysis with AppDynamics - AppSphere16
 
AppDynamics Administration - AppSphere16
AppDynamics Administration - AppSphere16AppDynamics Administration - AppSphere16
AppDynamics Administration - AppSphere16
 
How the World Bank Standardized on AppDynamics as its Enterprise-Wide APM Sol...
How the World Bank Standardized on AppDynamics as its Enterprise-Wide APM Sol...How the World Bank Standardized on AppDynamics as its Enterprise-Wide APM Sol...
How the World Bank Standardized on AppDynamics as its Enterprise-Wide APM Sol...
 

Recently uploaded

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Recently uploaded (20)

Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 

Synthetic Monitoring Deep Dive - AppSphere16

  • 1. Synthetic Monitoring Deep Dive Olivier Crameri Engineering Manager | AppDynamics
  • 2. APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 2 Notice The information and materials included in this presentation (collectively, the “Materials”) are the proprietary information of AppDynamics, Inc. (“AppDynamics” or the “Company”). No part of the Materials may be reproduced, distributed, communicated or displayed in any form or by any means, or used to make any derivative work, without prior written permission from AppDynamics. The Materials may contain product roadmap information of AppDynamics. AppDynamics reserves the right to change any product roadmap information at any time, for any reason and without notice. This information is intended to outline AppDynamics' general product direction, it is not a guarantee of future product features, and it should not be relied on in making a purchasing decision. The development, release, and timing of any features or functionality described for AppDynamics' products remains at AppDynamics' sole discretion. AppDynamics reserves the right to change any planned features at any time before making them generally available as well as never making them generally available. All third-party trademarks, including names, logos and brands, referenced by AppDynamics in this presentation are property of their respective owners. All references to third-party trademarks are for identification purposes only and shall be considered nominative fair use under trademark law. © 2016 AppDynamics, Inc. All rights reserved.
  • 3. 3
  • 4. Outline • Synthetic Monitoring 101 • Synthetic & Unified Monitoring • Best practices and Scripting tips • Future outlook & Conclusion • Q&A AppDynamics Confidential and Proprietary 4
  • 6. Synthetic monitoring AppDynamics Confidential and Proprietary 6 http://my-ecommerce.com or Script describing a user transaction Pro-active monitoring of Websites from 25+ locations in the world
  • 9. WebDriver (aka Selenium) • W3C standard, open source • Supported language: python • Features: – All typical user interactions – DOM inspection – JavaScript execution – Anything that can be done in python AppDynamics Confidential and Proprietary 9
  • 15. Application Performance Monitoring Health at a glance - drill down for detailed metrics, events, errors, …
  • 16. End User Monitoring AppDynamics Confidential and Proprietary 16 User Experience at a glance – drill down for sessions, errors, metrics…
  • 17. Synthetic is orthogonal to APM & EUM • Proactive monitoring • Controlled environment • Provides visibility from outside the application 17AppDynamics Confidential and Proprietary
  • 18. Controlled environment • Choose relevant locations & browsers • Emulate slower networks with traffic shaping – Cable, DSL, Mobile, … • Use assertions to validate correct behavior • Re-run tests automatically to confirm errors AppDynamics Confidential and Proprietary 18
  • 19. Example: eCommerce application • Key objectives – users can always complete checkout – items are sold at the correct price – site is fast enough so as to not discourage users • Implementation – Single script going through the desired workflow – Assertion to validate cart total AppDynamics Confidential and Proprietary 19
  • 22. AppDynamics Confidential and Proprietary 22 Exception: AssertionError The cart total should never be 0 Tip: use health rules to receive alerts
  • 23. 23
  • 26. Visually Complete Time • Typical UX metric, onload time, is not completely relevant – Includes irrelevant things (bellow the fold) – Misses other relevant items • Example: timer after onload to display prices and buy button • Visually Complete gives the time at which the page is “ready” APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 26
  • 27. Synthetic + APM with BT correlation AppDynamics Confidential and Proprietary 27 Pro-active monitoring with deep visibility through the application stack
  • 29. How to write a good script? • Option 1: use a recorder from the Selenium community • Option 2: write from scratch AppDynamics Confidential and Proprietary 29
  • 30. My typical scripting workflow 1. Define high level goals for the script 2. Come up with selectors to interact with the site 3. Write & Debug on my laptop with Selenium 4. Upload to Synthetic 5. Run & Debug APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 30
  • 31. Key ingredient: understand how your app is built AppDynamics Confidential and Proprietary 31 • The DOM describes your app • It is the basic data structure used to interact with your page in WebDriver • The DOM on your website can be built – Statically, simple HTML rendering – Dynamically, using JavaScript & AJAX (image by Birger Eriksson / CC BY-SA 3.0)
  • 32. Identifying elements of the website • WebDriver uses selectors to locate elements (Xpath or CSS) • Problems: – When multiple paths are available, which one to pick? – What if a path resolves to multiple elements? – What it the DOM changes? – When should IDs be used? AppDynamics Confidential and Proprietary 32
  • 33. WebDriver Scripting Assistant • Chrome extension – easily find reliable CSS selectors • Uses IDs or unique attributes – except if they are automatically generated • Picks the shortest available selectors • Avoids overly generic selectors AppDynamics Confidential and Proprietary 33
  • 34. Challenge #1: sequence of actions AppDynamics Confidential and Proprietary 34 Click on Button 1 WebDriver Script Click on Button 2 Web Browser Browser handles event. UI is updated Button 2 appears 2nd click requested after browser is done completing the 1st click time time
  • 35. Challenge #1: sequence of actions AppDynamics Confidential and Proprietary 35 Click on Button 1 WebDriver Script Click on Button 2 Web Browser time time 2nd click requested too early Script will crash Browser handles event. Higher network latency (remote location?) UI is updated Button 2 appears
  • 36. AppDynamics Confidential and Proprietary 36 • Script is crashing • No alerts go out • Website in trouble • Alerts are sent
  • 37. AppDynamics Confidential and Proprietary 37 • Script is crashing • No alerts go out • Website in trouble • Alerts are sent Tip: use automatic re-test to weed out false positives (which may be due to temporary latency glitches)
  • 38. Challenge #1: sequence of actions AppDynamics Confidential and Proprietary 38 Click on Button 1 WebDriver Script Click on Button 2 Web Browser time time 2nd click requested too early Script will crash Browser handles event. Higher network latency (remote location?) UI is updated Button 2 appears
  • 39. Challenge #1: sequence of actions AppDynamics Confidential and Proprietary 39 Click on Button 1 WebDriver Script Click on Button 2 Web Browser time time Browser handles event. Higher network latency (remote location?) UI is updated Button 2 appears Solution 1: configure implicit waits WebDriver will retry automatically
  • 40. Challenge #1: sequence of actions AppDynamics Confidential and Proprietary 40 Click on Button 1 WebDriver Script Wait for Button 1 to become clickable Web Browser time time Browser handles event. Higher network latency (remote location?) UI is updated Button 2 appears Solution 2: set an explicit wait on Button2 Click on Button 2
  • 41. Challenge #1: sequence of actions AppDynamics Confidential and Proprietary 41 Click on Button 1 WebDriver Script Click on Button 2 Web Browser time time 2nd click requested too early Script will crash Browser handles event. Higher network latency (remote location?) UI is updated Button 2 appears Tip: request a screenshot
  • 42. Developers, developers, developers! • Website implementations are sometimes “curious” • Best practice: – Design websites with “testability” in mind • Enlist developers • Use scripts both for functional testing & monitoring in Synthetic AppDynamics Confidential and Proprietary 42