Tool to gather pagespeed-insights metrics and supports CRON jobs and webhooks.
Highlights
- Poll for page-speed-insights performance metrics on any website and stores the data into InfluxDB
- Webhook support
- Get page weight data
- View all historic reports.
- Setup within minutes
garie-pagespeed-insights was developed as a plugin for the Garie Architecture.
Garie is an out the box web performance toolkit, and garie-pagespeed-insights
is a plugin that generates and stores page-speed-insights data into InfluxDB
.
garie-pagespeed-insights
can also be run outside the Garie
environment and run as standalone.
If your interested in an out the box solution that supports multiple performance tools like page-speed-insights
, google-speed-insight
and lighthouse
then checkout Garie.
If you want to run garie-pagespeed-insights
standalone you can find out how below.
- Docker installed
You can get setup with the basics in a few minutes.
First clone the repo.
git clone git@github.com:boyney123/garie-pagespeed-insights.git
Next setup you're config. Edit the config.json
and add websites to the list.
{
"cron": "00 00 */6 * * *",
"urls": [
{
"url": "https://www.comparethemarket.com"
},
{
"url": "https://www.bbc.co.uk"
},
{
"url": "https://www.cnn.com"
}
]
}
Once you finished edited your config, lets build our docker image and setup our environment.
docker build -t garie-pagespeed-insights . && docker-compose up
This will build your copy of garie-pagespeed-insights
and run the application.
On start garie-pagespeed-insights will start to gather performance metrics for the websites added to the config.json
.
garie-pagespeed-insights also supports webhooks. You will need to POST
to localhost:3000/collect
.
Payload
Property | Type | Description |
---|---|---|
url |
string (required) |
Url to get metrics for. |
Payload Example
{
"url": "https://www.bbc.co.uk"
}
Property | Type | Description |
---|---|---|
cron |
string (optional) |
Cron timer. Supports syntax can be found [here].(https://www.npmjs.com/package/cron) |
urls |
object (required) |
Config for pagespeed-insights. More detail below |
urls object
Property | Type | Description |
---|---|---|
url |
string (required) |
Url to get pagespeed-insights metrics for. |