psyked / garie-browsertime

Browsertime Garie plugin. Polls websites to checkout performance metrics also supports webhooks.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

reports

Tool to gather browsertime metrics and supports CRON jobs and webhooks.

Build Status Codecov garie MIT

Highlights

  • Poll for browsertime performance metrics on any website and stores the data into InfluxDB
  • Webhook support
  • Generates web performance videos
  • View all historic reports.
  • Setup within minutes

Overview of garie-browsertime

Garie-browsertime was developed as a plugin for the Garie Architecture.

Garie is an out the box web performance toolkit, and garie-browsertime is a plugin that generates and stores browsertime data into InfluxDB.

Garie-browsertime 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 browsertime, google-speed-insight and lighthouse then checkout Garie.

If you want to run garie-browsertime standalone you can find out how below.

Getting Started

Prerequisites

  • Docker installed

Running garie-browsertime

You can get setup with the basics in a few minutes.

First clone the repo.

git clone git@github.com:boyney123/garie-browsertime.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-browsertime . && docker-compose up

This will build your copy of garie-browsertime and run the application.

On start garie-browsertime will start to gather performance metrics for the websites added to the config.json.

Viewing reports

Viewing browsertime reports is straight forward. Once you have your application running just go to localhost:3000/reports and you should see all the reports browsertime has generated.

reports reports

Webhook

Garie-browsertime 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"
}

config.json

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 browsertime. More detail below

urls object

Property Type Description
url string (required) Url to get browsertime metrics for.

About

Browsertime Garie plugin. Polls websites to checkout performance metrics also supports webhooks.

License:MIT License


Languages

Language:JavaScript 94.2%Language:Shell 4.6%Language:Dockerfile 1.2%