Capture user actions times for MV2 benchmark and generate artifacts
Explanation
We need a way to measure the delay caused by a service-worker re-start on common user actions along the application. For that, this PR will take care of measuring common action times, on an MV2 test build, so we have this time reference. Actions covered:
- how much time it takes for loading a newly created account (from Create Account button until balance is loaded)
- how much time it takes from clicking Confirm tx until Tx is confirmed
More Information
- Closes #15282
- Closes #15290
- Closes #15292
Manual Testing Steps
Check the build artifacts created on this branch by Metamaskbot, and ensure that there is a file mv3 that captures mv3 e2e actions stats.
Pre-Merge Checklist
- [x] PR template is filled out
- [ ] IF this PR fixes a bug, a test that would have caught the bug has been added [n/a]
- [x] PR is linked to the appropriate GitHub issue
- [ ] PR has been added to the appropriate release Milestone [n/a]
+ If there are functional changes:
- [ ] Manual testing complete & passed [n/a]
- [ ] "Extension QA Board" label has been applied [n/a]
For testing, check the last MetaMask bot artifacts generated under MV2 E2e Actions Stats.
https://user-images.githubusercontent.com/54408225/183688166-d4c9fd98-83cb-4afb-8381-efaa773c5c85.mp4
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.
Builds ready [bc825bb]
- builds: chrome, firefox, opera
- builds (beta): chrome, firefox, opera
- builds (flask): chrome, firefox, opera
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- all artifacts
Page Load Metrics (2176 ± 148 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 102 | 198 | 143 | 25 | 12 |
| domContentLoaded | 1729 | 2625 | 2124 | 298 | 143 | ||
| load | 1729 | 2753 | 2176 | 309 | 148 | ||
| domInteractive | 1729 | 2625 | 2124 | 298 | 143 |
Builds ready [ac4e9a1]
- builds: chrome, firefox, opera
- builds (beta): chrome, firefox, opera
- builds (flask): chrome, firefox, opera
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- all artifacts
Page Load Metrics (1767 ± 46 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 88 | 1713 | 195 | 349 | 168 |
| domContentLoaded | 1583 | 2011 | 1741 | 94 | 45 | ||
| load | 1617 | 2011 | 1767 | 97 | 46 | ||
| domInteractive | 1583 | 2011 | 1741 | 94 | 45 |
Builds ready [ac4e9a1]
- builds: chrome, firefox, opera
- builds (beta): chrome, firefox, opera
- builds (flask): chrome, firefox, opera
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- all artifacts
Page Load Metrics (1767 ± 46 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 88 | 1713 | 195 | 349 | 168 |
| domContentLoaded | 1583 | 2011 | 1741 | 94 | 45 | ||
| load | 1617 | 2011 | 1767 | 97 | 46 | ||
| domInteractive | 1583 | 2011 | 1741 | 94 | 45 |
Builds ready [38ff22c]
- builds: chrome, firefox, opera
- builds (beta): chrome, firefox, opera
- builds (flask): chrome, firefox, opera
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- all artifacts
Page Load Metrics (1754 ± 43 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 91 | 142 | 109 | 13 | 6 |
| domContentLoaded | 1587 | 1876 | 1740 | 80 | 38 | ||
| load | 1587 | 1931 | 1754 | 90 | 43 | ||
| domInteractive | 1585 | 1876 | 1740 | 80 | 38 |
Builds ready [4049eac]
- builds: chrome, firefox, opera
- builds (beta): chrome, firefox, opera
- builds (flask): chrome, firefox, opera
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- all artifacts
Page Load Metrics (1743 ± 36 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 89 | 1859 | 197 | 382 | 183 |
| domContentLoaded | 1644 | 1864 | 1725 | 64 | 31 | ||
| load | 1644 | 1931 | 1743 | 76 | 36 | ||
| domInteractive | 1644 | 1864 | 1725 | 64 | 31 |
@digiwand thank you v much for the feedback! I've updated it
Builds ready [5b04124]
- builds: chrome, firefox, opera
- builds (beta): chrome, firefox, opera
- builds (flask): chrome, firefox, opera
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (1850 ± 70 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 93 | 1808 | 278 | 510 | 245 |
| domContentLoaded | 1629 | 2184 | 1831 | 140 | 67 | ||
| load | 1630 | 2184 | 1850 | 146 | 70 | ||
| domInteractive | 1629 | 2184 | 1831 | 140 | 67 |
Builds ready [3f0ea3e]
- builds: chrome, firefox, opera
- builds (beta): chrome, firefox, opera
- builds (flask): chrome, firefox, opera
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (1963 ± 144 ms)
| Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
|---|---|---|---|---|---|---|---|
| Chrome | Home | firstPaint | 85 | 304 | 121 | 47 | 22 |
| domContentLoaded | 1584 | 2518 | 1940 | 292 | 140 | ||
| load | 1612 | 2622 | 1963 | 300 | 144 | ||
| domInteractive | 1584 | 2518 | 1939 | 292 | 140 |