Git Product home page Git Product logo

firebase-js-sdk-performance-dashboard's Introduction

Firebase JavaScript SDK Performance Dashboard

This project measures the startup latency and binary size of Firebase JavaScript SDKs.

Status

Status: Experimental

This repository is maintained by Googlers but is not a supported Firebase product. Issues here are answered by maintainers and other community members on GitHub on a best-effort basis.

Measurement

The measurement process involves:

  • hosting webpages on Firebase which downloads and executes SDKs to be tested
  • run WebPageTest against above webpages to obtain measurement numbers
  • download SDK files to local file system and calculate the file sizes
  • aggregate raw samples and store results into database (Google Cloud Sql)

See Firebase Hosting, WebPageTest and Google Cloud Sql for more information.

Dashboarding

The above aggregated results are then pulled from data storage and presented in a Google Data Studio dashboard.

See Google Data Studio for more information.

How to run test

Premise

The test requires a Firebase project (which is also a GCP project) for hosting webpages and providing a sql database instance.

It also requires a few environment variables:

  • WPT_API_KEY: The api key used to submit request to WebPageTest
  • FIREBASE_TOKEN: The authentication token used for webpages deployment (via Firebase CLI)
  • CLOUD_SQL_HOST: The host of Cloud Sql database instance
  • CLOUD_SQL_USER: The username used to login to database
  • CLOUD_SQL_PASSWORD: The password used to login to database

Trial run

yarn test will trigger a trial run of the test, which is conducting the test against a small combination of devices/browsers, network conditions and CDNs. --version can be supplied to test against a specific version of SDK, otherwise the test will always run against the latest release version.

See package.json for details.

Formal run

Formal run is to test against a comprehensive list of devices/browsers, network conditions and CDNs. It is scheduled to run daily and always against the latest released version.

Contributing

To contribute a change, check out the contributing guide.

License

The contents of this repository is licensed under the Apache License, version 2.0.

firebase-js-sdk-performance-dashboard's People

Contributors

dependabot[bot] avatar samtstern avatar yifanyang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.