Skip to content
Time to interactive tracker
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.env.enc
.env.example
.eslintrc.js
.gitignore
LICENSE
README.md
cloudbuild.yaml
github.pem.enc
jest.config.js
keyfile.json.enc
package.json
serverless.yml
yarn.lock

README.md

Time to interactive tracker

Phase Maintainability

NOTE: This tool is still in testing.

Purpose

The purpose of this tool is to check how long an application takes before it can be interacted with. Another definition would be the time it takes to completely load.

How do I use it?

All you need to do is install the GitHub application.

You also need to be using a deployment implementation on GitHub. (ex. Heroku's Review apps).

Work flow

The tool is designed as GitHub application that subscribes to deployment events (https://developer.github.com/v3/repos/deployments/) on pull request branches. The specific use case at CDS targets Heroku's Review apps, which are created on every push to a branch.

Once the application receives the event, it extracts the URL for the application, loads the URL using Lighthouse, and returns the time it takes for the URL to become interactive. The result is then saved in a database and if there are previous results for that branch, a delta is calculated.

Implementation

The tool is implemented as a Google Cloud function. Any merges to master are automatically deployed after testing passes using Google's Cloud build service (check cloudbuild.yaml for more information). Lighthouse is used to determine the time to interaction for a given URL. Google's Firestore is used a database to track values so that deltas can be calculated.

Questions?

Please contact us through any of the multiple ways listed on our website.

You can’t perform that action at this time.