Skip to content
This repository has been archived by the owner on Dec 24, 2019. It is now read-only.

cds-snc/tti-tools-tracker

Repository files navigation

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.

About

Time to interactive tracker

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published