SlideShare a Scribd company logo
Performance in the BrowserAlois Reitbauer
Our challenges todayNo standardized way to measure end user performanceMeasuring on the server side is not enoughMeasuring in the browser is complexBest Practices are only one side of the storyToday’s approaches are only suitable for development/troubleshooting
The level of detail we want
My
Request Start TimeBusiness Event TimeTime-to-First-ByteDNS/Network TimeOnLoad TimeBandwidthRendering TimeLatency(Geo)LocationJS Execution TimeBrowser InfoResource Download TimeRendering Time
… we want to get all this information non intrusively (aka hacking)
OnLoad Time Measurement<html>  <head><script type="text/javascript">varstart = new Date().getTime();    function onLoad() {var now = new Date().getTime();var latency = now - start; alert("page loading time: " + latency);    }  </script>  </head>  <body onload="onLoad()"> ……
Resource Time Measurement……<script type="text/javascript">downloadStart(“myimg”);</script><imgsrc=“./myimg.jpg” onload=“downloadEnd(‘myimg’)” />…..
… browsers have all this information, so why not expose it
W3C Performance Working Group
Web Performance Specifications (relevant in this context)Navigation TimingBasic page navigation informationResource TimingInformation about  page resources (own & third party)User TimingCustom actions and “Business Events”TimelineUnified Access to  Performance Data
Navigation Timingwindow.performance.timing.
Web Timing Example (Chrome)
Resources
Resource TimingTiming for ResourcesInitiator tells origin of requestIssues with privacy of third party contentIssues with iframes (only root resource tracked)Timing-Allow-Origin Header for Third Party ContentMissing information on failed requests
Resource Timingwindow.performance.getEntriesByType(window.performance.PERF_RESOURCE)[].
Business Events
Marksvs. Measures
Working with Marksmark (markName)add a new mark with the current timestampgetMarks (markName)Retrieve all marks with the specified name. If none is specified all marks will be returnedResult Structure:{   <markName> : [<val1>, <val2>, …]  …..}
Pre-Defined MarksMARK_FULLY_LOADEDCustom mark for fully loaded state of pageMARK_FULLY_VISIBLEDefines page is fully visibleMARK_ABOVE_THE_FOLDAll above the fold content is visibleMARK_TIME_TO_USER_ACTIONCustom mark to define that page can be used.
MeasuresUsed to calculate durationsmeasure ()  fetchStart -> nowmeasure (startTime)startTime -> nowmeasure(startTime, endTime)startTime -> endTime
Where are we today?
Browser SupportNavigation TimingResource TimingUser Timing Performance Timeline 
Open IssuesHow to send the data back to the serverRendering and JS ExecutionImplementing the backend services
A synthetic monitoring replacement?
The impact on WPO?
A game changer for mobile?
Alois Reitbaueralois.reitbauer@dynaTrace.com@AloisReitbauerhttp://blog.dynatrace.com

More Related Content

DOCX
Bladelogic Server Automation
PPTX
W3C Web Performance - A detailed overview
PPTX
Web Performance Optimzation
PPTX
What it means to be fast in your industry
PPTX
What it means to deliver exceptional performance
PPTX
Measuring User Experience
PPTX
Why you have less than a second to deliver exceptional performance
PPTX
Building the Future of Monitoring with Artificial Intelligence
Bladelogic Server Automation
W3C Web Performance - A detailed overview
Web Performance Optimzation
What it means to be fast in your industry
What it means to deliver exceptional performance
Measuring User Experience
Why you have less than a second to deliver exceptional performance
Building the Future of Monitoring with Artificial Intelligence

Viewers also liked (10)

PPTX
Monitoring and Managing Java Applications
PPTX
The Dark Art of Production Alerting
PPTX
Monitoring large scale Docker production environments
PPTX
Can a monitoring tool pass the turing test
PPTX
Monitoring without alerts
PPTX
The definition of normal - An introduction and guide to anomaly detection.
PPTX
Monitoring Docker Application in Production
PPTX
Ruxit - How we launched a global monitoring platform on AWS in 80 days.
PPTX
Microservice, Micro Deployments and DevOps
PPTX
Performance Forensics - Understanding Application Performance
Monitoring and Managing Java Applications
The Dark Art of Production Alerting
Monitoring large scale Docker production environments
Can a monitoring tool pass the turing test
Monitoring without alerts
The definition of normal - An introduction and guide to anomaly detection.
Monitoring Docker Application in Production
Ruxit - How we launched a global monitoring platform on AWS in 80 days.
Microservice, Micro Deployments and DevOps
Performance Forensics - Understanding Application Performance
Ad

Similar to Measuring Performance in the Browser (20)

PPTX
Measuring User Experience in the Browser
PPTX
Metrics, metrics everywhere (but where the heck do you start?)
PPTX
Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?)
PPTX
Metrics, metrics everywhere (but where the heck do you start?)
PPTX
The Truth About Your Web App's Performance
PDF
Make It Fast - Using Modern Browser Performance APIs to Monitor and Improve t...
PPTX
Metrics, Metrics Everywhere (but where the heck do you start?)
PPTX
Metrics, Metrics Everywhere (but where the heck do you start?)
PPTX
Metrics, metrics everywhere (but where the heck do you start?)
PPTX
Using Modern Browser APIs to Improve the Performance of Your Web Applications
PPTX
Measuring web performance with user-centric metrics
PPTX
The High Performance Web Application Lifecycle
PPTX
Broadening Our Perspective On Web Performance
PDF
Measuring what matters
PDF
Edge 2016 measuring what matters
PDF
Broadening the user perspective – from network latency to user experience tim...
PDF
Why Measuring Page Load Is The Wrong Metric
PPTX
Why is this ASP.NET web app running slowly?
PPTX
Web Performance Testing
PDF
Edge 2014: A Modern Approach to Performance Monitoring
Measuring User Experience in the Browser
Metrics, metrics everywhere (but where the heck do you start?)
Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)
The Truth About Your Web App's Performance
Make It Fast - Using Modern Browser Performance APIs to Monitor and Improve t...
Metrics, Metrics Everywhere (but where the heck do you start?)
Metrics, Metrics Everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)
Using Modern Browser APIs to Improve the Performance of Your Web Applications
Measuring web performance with user-centric metrics
The High Performance Web Application Lifecycle
Broadening Our Perspective On Web Performance
Measuring what matters
Edge 2016 measuring what matters
Broadening the user perspective – from network latency to user experience tim...
Why Measuring Page Load Is The Wrong Metric
Why is this ASP.NET web app running slowly?
Web Performance Testing
Edge 2014: A Modern Approach to Performance Monitoring
Ad

More from Alois Reitbauer (11)

PPTX
The Dark of Building an Production Incident Syste
PPT
Architecture Performance
PPTX
dynaTrace Ajax Edition @ Yahoo
PPTX
The secret art of agile performance testing
PPTX
Architecture in Ajax Applications
PPTX
Q Con Performance Testing At The Edge
PPT
Low Hanging Fruits In J EE Performance
PPT
W-JAX Performance Workshop - Database Performance
PPT
W-JAX Performance Workshop - Web and AJAX
PPT
W JAX Performance Workshop - Organisational Antipatterns
PPT
Jax Ajax Architecture
The Dark of Building an Production Incident Syste
Architecture Performance
dynaTrace Ajax Edition @ Yahoo
The secret art of agile performance testing
Architecture in Ajax Applications
Q Con Performance Testing At The Edge
Low Hanging Fruits In J EE Performance
W-JAX Performance Workshop - Database Performance
W-JAX Performance Workshop - Web and AJAX
W JAX Performance Workshop - Organisational Antipatterns
Jax Ajax Architecture

Recently uploaded (20)

PDF
Encapsulation theory and applications.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
KodekX | Application Modernization Development
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Machine learning based COVID-19 study performance prediction
PPTX
A Presentation on Artificial Intelligence
PPTX
Cloud computing and distributed systems.
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Electronic commerce courselecture one. Pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPT
Teaching material agriculture food technology
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
Encapsulation theory and applications.pdf
Understanding_Digital_Forensics_Presentation.pptx
KodekX | Application Modernization Development
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Approach and Philosophy of On baking technology
Machine learning based COVID-19 study performance prediction
A Presentation on Artificial Intelligence
Cloud computing and distributed systems.
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Per capita expenditure prediction using model stacking based on satellite ima...
MYSQL Presentation for SQL database connectivity
Electronic commerce courselecture one. Pdf
Spectral efficient network and resource selection model in 5G networks
Unlocking AI with Model Context Protocol (MCP)
Building Integrated photovoltaic BIPV_UPV.pdf
Teaching material agriculture food technology
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
“AI and Expert System Decision Support & Business Intelligence Systems”

Measuring Performance in the Browser