GoogleChromeLabs / Perftools Runner
Programming Languages
Projects that are alternatives of or similar to Perftools Runner
Google Performance Tools Runner
Web frontend which allows users to simultaneously run several of Google's performance tools (Lighthouse, PageSpeed Insights, Webpage Test) against a URL, all at once. Puppeteer is used to take screenshots of the results from each tool and create an aggregated PDF of all results.
Explainer
Start the server with
npm start
.
The frontend (http://localhost:8080) UI displays a list of tools for the user to select.
When "Enter" is hit, this fires off a request o the /run
handler. That handler takes a url
and
tools
param. The latter is a "," separated list of tools to run. One of LH, PSI, WPT.
The response is a JSON array of the tools that were run (e.g. ["LH", "PSI"]
).
Note: every run of the tool logs the URL that was audited and tools to that were run to runs.txt.
Examples
Run Lighthouse and PSI against https://example.com:
http://localhost:8080/run?url=https://example.com/&tools=LH,PSI
Run Lighthouse against https://example.com using full chrome:
http://localhost:8080/run?url=https://example.com/&tools=LH&headless=false
Installation & Setup
Check the repo and run npm i
. You'll need Node 8+ support for ES modules to work.
Development
Start the server in the project root:
npm start
Lint:
npm run lint
For development, both serviceAccount.json
and bitlyAccount.json
are required.
- Follow instructions from https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances#createanewserviceaccount to get serviceAccount.json.
- Create an Bitly account from https://dev.bitly.com/my_apps.html and get access token for
bitlyAccount.json
.