Performance Monitoring for single page applications.
At the end of this talk listeners would be able to understand:
1.What is web performance monitoring and why it is important?
2.What are some of the important metrics that should be captured for Single page applications?
3.How can we develop/reuse a simple framework to measure these metrics?
4.Other tools that are available which can help us in measuring.
In the first few slides listeners will understand the different kinds of performance monitoring methodologies namely:
1.What is Synthetic monitoring and how it is typically implemented?
2.What is Real time performance monitoring and how it is implemented?
Why is Real time performance monitoring equally or more important than just using synthetic monitoring?
In the next 2-3 slides we will go over the importance of reporting performance data in percentiles instead of calculating averages.
In the next few slides we will go over how the browser (using navigation timing, user timing and resource timing) enables us today to take these measurements.
At this time we will get into the details of building a framework which will allow the development team to measure the metrics described above using the api’s provided by the browser. We will briefly go over the algorithm that is used for
•fresh page load: (last executed user marker – navigation start)
•button click: [last executed user marker (for route change, ajax, js)- user marker (setup for click/route change)]
•Send data using a beacon.
Showcase some of the reports generated for RUM for performance
Describe shortcomings to this approach namely:
•Developers need to keep track of markers
We can define some extensions to this approach:
•Run a preprocessing module with an input(describing the workflow) to capture the render of sections that are above the fold and DOM mutations that take place because of ajax/user clicks.
•Put user timing markers at certain sections in the source code during the build step using a processing module. (described above)
Finally we will cover an evaluation of some tools that help in real user performance monitoring for single page applications.
I’m a staff engineer at Intuit working in the e-commerce domain. I have been involved in the building of performant online applications.