sitespeed.io is an open-source tool for comprehensive web performance analysis, enabling you to test, monitor, and optimize your website’s speed using real browsers in various environments.
MIT License
Bot releases are visible (Hide)
https://github.com/sitespeedio/sitespeed.io/compare/v27.6.1...v27.6.2
https://github.com/sitespeedio/sitespeed.io/compare/v27.5.1...v27.6.0
https://github.com/sitespeedio/sitespeed.io/compare/v27.4.1...v27.5.0
https://github.com/sitespeedio/sitespeed.io/compare/v27.1.0...v27.2.0
https://github.com/sitespeedio/sitespeed.io/compare/v27.0.0...v27.1.0
Wow it's been many months since I did a new release wih sitespeed.io. I've had a lot to do in my personal life, a lot at work and low energy to finish the big changes I've done in both Browsertime and sitespeed.io. And here it is: 27.0.0. It can still have some rough edges so please report any bugs and I will try to fix them ASAP.
There's been many additions to Browsertime the last months and I'll update the CHANGELOG and make sure the documentation in uptodate the coming weeks.
The project was transitioned to a pure ESM package both Browsertime #1859 and sitespeed.io #3769. That allow us to stay uptodate with dependencies. This is important for us and will make the project easier to maintain.
If you are a command line user and use scripting, you will need to do a change to your scripts or add some extra configuration.
The quick fix: Rename your .js scripting files to .cjs that way NodeJS will treat your file as a common JS file and everything will just work. For example if you have a file names login.js
you can rename that to login.cjs
and make sure you load that new file. Then sitespeed.io 27.0.0 will just work as before.
The best fix:
Change your code so your scripts also follows ESM. If you have simple scripts you probably just need to change your exports. The old way looked like this:
module.exports = async function(context, commands) {
...
}
change that to:
export default async function (context, commands) {
...
}
If you have more complicated scripts, follow the ESM package guide.
Then rename your file to be named *.mjs. If your file is named collect.js
change it to collect.mjs
. This is the best fix and will work 100% of the time. That way NodeJS will know that you are using the ESM standard. You can read more in how NodeJs choose to load files.
Another quick fix alternative: As a last alternative add --browsertime.cjs
as a parameter to your test. That way the scripting file will be treated as a commonjs file. This is a hack, so to make sure it works, the user that runs Browsertime need to have write privileges to the folder where you have your scripting files. Browsertime will create a package.json file on the same levels as yoru script file. If you already have a package.json there, it will be overwritten.
Documentation coming soon.
Read Sindre Sorhus Pure ESM package guide on how you can move your project.
Documentattion coming soon. You will need to upgrade your plugin to ESM. You can check how we did it for the Lightouse plugin.
We moved to use a new Visual Metrics script as default contributed by Gregory Mierzwinski that do not use ImageMagick. Mozilla has used this script for many months and we have internally used it in our test infrastructure since it was first released.
If you run sitespeed.io direct using NodeJs (and not using Docker) you need to install two new Python dependencies OpenCV-Python Numpy. They are used instead of ImageMagick.
python -m pip install --user OpenCV-Python Numpy
If you still want to use ImageMagick you can do that by setting browsertime.visualMetricsPortable false
https://github.com/sitespeedio/sitespeed.io/compare/v26.0.1...v26.1.0
https://github.com/sitespeedio/sitespeed.io/compare/v26.0.0...v26.0.1
Hi and welcome to 26.0.0! There's a couple of small fixes and additions and one breaking change. You are only affected by the breaking change if you used to use --graphite.perIteration
(sending data for all iterations to Graphite) or if you used --graphite.skipSummary
(do not send summary information). Please read the changed section if you are affected!
When you upgrade to 26.0.0 you will have an easier way of sending data per run to Graphite, there will be a blog post better explaining how you can use it.
Sending metrics per run to Graphite:
--browsertime.limitedRunData false
--graphite.perIteration
and --graphite.skipSummary
is removed. You can now configure which data to send to Graphite by using --graphite.messages
. By default we send pageSummary (data summarised per URL) and summary (data summarised per domain). If you want to send pageSummary and run data (data for each run) you can do that with by adding --graphite.messages run
--graphite.messages pageSummary
.[sitespeed_crux]
pattern = ^sitespeed_io\.crux\.
retentions = 1d:1y
[sitespeed_run]
pattern = ^sitespeed_io\.(.*)\.(.*)\.run\.
retentions = 20s:8d
[sitespeed]
pattern = ^sitespeed_io\.
retentions = 30m:40d
When you send data per run to Graphite it is stored every 20 second (do not make runs more often than that) and saved for 8 days. If you test many URLs this can still be a lot of data so use https://m30m.github.io/whisper-calculator/ to calculate how much space you need.
See PR #3721.
https://github.com/sitespeedio/sitespeed.io/compare/v25.11.0...v26.0.0
https://github.com/sitespeedio/sitespeed.io/compare/v25.10.0...v25.11.0
https://github.com/sitespeedio/sitespeed.io/compare/v25.9.1...v25.10.0
https://github.com/sitespeedio/sitespeed.io/compare/v25.9.0...v25.9.1
Updated to Browsertime 16.15.0 that include your Android phones connected wifi name in the result. That is now showed in the runtime settings page.
Show relative standard deviation on the compare runs page #3716.
https://github.com/sitespeedio/sitespeed.io/compare/v25.8.3...v25.9.0
https://github.com/sitespeedio/sitespeed.io/compare/v25.8.2...v25.8.3
--browsertime.preWarmServer
on Android and iOS.https://github.com/sitespeedio/sitespeed.io/compare/v25.8.1...v25.8.2
https://github.com/sitespeedio/sitespeed.io/compare/v25.8.0...v25.8.1
https://github.com/sitespeedio/sitespeed.io/compare/v25.7.3...v25.8.0