sitespeed.io 12.0 and Browsertime 8.0
The changelog for the new Browsertime 8.0 is massive because we have many new contributions, mainly from the Mozilla performance team! Extra special thank you to all new contributors:
- Nick Alexander
- Denis Palmeiro
- Sean Feng
- Chris Liu
- Will Hawkins
- Barret Rennie
- Tarek Ziade
- Gregory Mierzwinski
My main focus has been to minimize the impact from browsertime (and other tools) on the actual measurements and implementing more retry functionality if the navigation fails. With sitespeed.io we just adopted the new changes in Firefox and updated some dependencies.
Lets talk about the new things in Firefox.
CPU profiles #
You can collect CPU profiles from Firefox with
--firefox.geckoProfiler and view them at https://profiler.firefox.com!
You can now collect a CPU profile using
--firefox.geckoProfiler. You can also use:
--firefox.geckoProfilerParams.bufferSize to fine tune what to get.
Firefox on Android #
Collect metrics using Firefox on Android! Enable using
-b firefox --android and tune using:
Native video on Firefox #
Now the window recorder for Firefox works great. That means you can record a video of the loading of your page without using FFMPEG. Add
-video to your run.
New default configuration #
We have adopted the Firefox performance teams default configurations to get as stable metrics as possible with Firefox. This removes
--mozillaProPreferences since those configurations are used by default #1045.
Support for running Edge for OS that supports it. Use
-b edge and
--edge.edgedriverPath with the path to the matching MSEdgeDriver. Edge use the same setup as Chrome, so you
--chrome.* to configure Edge :) #1140.
TCPDump support #
If your OS support, you can get TCPdumps (desktop only). A very special thanks to Martino Trevisan that started to add the support long time ago.
If you run sitespeed.io you can get the TCP dump and the SSL key log file by just running:
docker run --rm -v "$(pwd):/sitespeed.io" sitespeedio/sitespeed.io:30.7.0 https://www.sitespeed.io/ --tcpdump
If you use Browsertime you can choose where you want the key log file:
SSLKEYLOGFILE=/path/to/file browsertime --tcpdump https://www.sitespeed.io or in Docker
docker run --rm -v "$(pwd)":/browsertime -e SSLKEYLOGFILE=/browsertime/keylog.txt sitespeedio/browsertime:19.1.0 https://www.sitespeed.io/ -n 1 --tcpdump. Implemented in #1159.
Other changes worth mentioning #
Use pageLoadStrategy none as default #1151.
Increase wait time before next try when navigation fails. First 10s, then 20s then 30s #1086
You can now choose the Activity hosting the Chrome WebView on Android using
--chrome.android.activity. You can also name the process of the Activity hosting the WebView using
Make it easy to add trace categories on top of the default ones for Chrome. Use
--chrome.traceCategory to add an category. Use it multiple times to add multiple categories #1090.
Take screenshots before we run the JS to collect the metrics #1071.
The Docker container now contains Firefox 72 and Chrome 80.
Checkout the Browsertime changelog for the massive list of all things that have been fixed in latest 8.0 release.