Separate download metric from session create metric

The download metric was being measured from before create to when the
e.loaded==e.total. And it measures the session create metric from
e.loaded==e.total to when the create promise resolved.

However Chrome currently only sends the event where e.loaded==e.total
right before it resolves the create promise. So effectively downloadEnd
was equal to endCreate.

This updates it so there's an initial create just to measure the
download time (plus a much smaller create time) before any stories are
measured. Then each story will only measure the model create time when
measuring sessionCreationTimeMs.

Change-Id: I83271e9bd1d100209f0912443b7e5762ab34e947
Reviewed-on: https://chromium-review.googlesource.com/c/web-workload/+/8267630
Reviewed-by: Jingyun Liu <jingyun@google.com>
1 file changed
tree: 8ed5ed599a39e22a56a340502d0774febb7ffbf1
  1. help/
  2. public/
  3. .firebaserc
  4. .gitignore
  5. .gitmodules
  6. .style.yapf
  7. .vpython3
  8. build.py
  9. deploy-main.sh
  10. deploy-subdomains.sh
  11. DEPS
  12. firebase.json
  13. LICENSE
  14. README.md
  15. setup.sh
  16. stage-main.sh
  17. test-deployment.py
README.md

Chromium Workloads

This is the source for the chromium workloads page. We keep copies and versions of common press benchmarks and other statically hosted workloads here.

Workloads might have custom licenses that can be found in their respective folders.

It consist of 3 parts:

  • The workloads.json description file with all workloads.
  • Workloads (e.g. existing press benchmarks) in the public folder.
  • The html / javascript code to display the data from workloads.json.

Workloads

If possible workloads are DEPS-rolled from single-version branches. on forked repositories on https://chromium.googlesource.com.

LICENSEs are part of the respective workloads or workload versions.

Sources

Setup ⚒️

mkdir web-workload && cd web-workload;

# Checkout using depot_tools's fetch command:
fetch web-workload;
cd web-workload

# Setup firebase login:
# - Install the firebase cl: https://firebase.google.com/docs/cli#install_the_firebase_cli
# - Setup firebase:
./setup.sh

Deployment 🚀

chromium-workloads is hosted on firebase.

  • Use stage-main.sh to stage a testing version for the main page on temporary domain (can be used for testing freely)

Danger Zone 😱

Update and Redeployment

  • git pull
  • gclient sync
  • Testing:
    • ./stage-main.sh
    • Quickly manually very that main page and benchmark versions load correctly.
    • Run the latest tracked benchmark versions.
  • Deployment:
    • Deploy using ./deploy-main.sh
    • Also deploy the subdomain hosting ./deploy-subdomains.sh

Emergency Rollback 😰

In case of a broken deployment we can manually restore an old version via the firebase console. firebase console

  • Open the firebase console
  • Open “Hosting”
  • “View” main “chromium-workloads” site
  • “Restore” one of the “Previous releases”