sitespeedio/sitespeed.io-autobuild
Building the latest commit from master of https://github.com/sitespeedio/sitespeed.io
500K+
Website | Documentation | Changelog | Twitter
Sitespeed.io is a complete web performance tool that helps you measure the performance of your website. What exactly does that mean?
Before we start telling you all about sitespeed.io you should just try it out:
$ docker run --rm -v "$(pwd)":/sitespeed.io sitespeedio/sitespeed.io https://www.sitespeed.io/
Or using npm (you need Chrome, Firefox, Edge or Safari installed or Chrome/Firefox on Android)
$ npm i -g sitespeed.io && sitespeed.io https://www.sitespeed.io/
Ok, now you have tried it, let us tell you more about sitespeed.io. We think of a complete web performance tool as having three key capabilities:
What is sitespeed.io good for?
It is usually used in two different areas:
To understand how sitespeed.io does these things, let's talk about how it works.
First a few key concepts:
When you as user choose to test a URL, this is what happens on a high level:
Using Docker (use latest Docker):
$ docker run --rm -v "$(pwd)":/sitespeed.io sitespeedio/sitespeed.io https://www.sitespeed.io/
Or install using npm:
$ npm i -g sitespeed.io
Or clone the repo and test the latest changes:
$ git clone https://github.com/sitespeedio/sitespeed.io.git
$ cd sitespeed.io
$ npm install
$ bin/sitespeed.js --help
$ bin/sitespeed.js https://www.sitespeed.io/
Using sitespeed.io you can:
See all the latest changes in the Changelog.
Checkout our example dashboard.sitespeed.io
A summary report in HTML:
Individual page report:
Collected metrics from a URL in Graphite/Grafana:
And look at trends in Grafana:
Video - easiest using Docker. This gif is optimized, the quality is much better IRL:
We have a special Docker container that comes with WebPageReplay installed. This is a really early alpha release but we think you should try it out.
WebPageReplay will let you replay your page locally (getting rid of server latency etc) and makes it easier to have stable metrics and find front end regressions.
It works like this:
You can change latency by setting a Docker environment variable. Use REPLAY to turn on the replay functionality.
Default browser is Chrome:
docker run --cap-add=NET_ADMIN --rm -v "$(pwd)":/sitespeed.io -e REPLAY=true -e LATENCY=100 sitespeedio/sitespeed.io -n 5 -b chrome https://en.wikipedia.org/wiki/Barack_Obama
Use Firefox:
docker run --cap-add=NET_ADMIN --rm -v "$(pwd)":/sitespeed.io -e REPLAY=true -e LATENCY=100 sitespeedio/sitespeed.io -n 11 -b firefox https://en.wikipedia.org/wiki/Barack_Obama
We have a Mac Mini sponsored by MacStadium and you too can sponsor us to help us keep sitespeed.io running and making sure we can have the best test setup as possible. Read our sponsor page for more info.
docker pull sitespeedio/sitespeed.io-autobuild