Automating Web Performance Measurement and making it a part of continuous integration
Measuring rendering performance for web pages is manual today. At the end of the talk, the attendees will be able to use the tools described into their continuous integration system to measure how smooth the web applications are, over time. They will be able to identify trends where adding functionality to the web page made it heavy, or how a single commit make the page janky.
The tools are open source and can be run completely on the cloud.
When shipping, developers usually care about backend performance and scalability. With tools like YSlow and Page Speed, front end performance engineering got the spotlight. However, even today, front end developers have to check the developer tools timeline or the confusing about:tracing graphs to see how smooth their web sites are. This is still hard to measure and it is painfully easy to slow down a smooth feeling webpage in the battle to make it pretty.
During this talk, I would detail my experiments with using a NodeJS port of Chromium Telemetry Smoothness and Loading benchmarks and how they could be integrated into a continuous integration system to get useful graphs. The fact that this NodeJS tool works on ‘cloudified’ browsers, makes the deal even sweeter. The idea is to have a way to see how fast a developer slows down their website over a series of commits :)
Parashuram is a Senior Program Manager at Microsoft Open Technologies Inc and a front end developer. He loves to work on open source projects both as a part of his day job and as his hobby projects. He is a front end developer and like experimenting with making web applications do what they could not.
- Command line tool
- Grunt task for measuring performance Performance
- Bootstrap performance over the years using the tool above
- Using the tool with Karma for Angular
- Blog post about Automating performance