feat: add jest-custom-console-reporter
Description
Reason for change:
Building on PR #38208 which added jest-clean-console-reporter to group and summarize console warnings, this PR adds a baseline enforcement system to prevent new console warnings/errors from being introduced into the codebase.
Problem:
While jest-clean-console-reporter organizes the output, it doesn't prevent regressions. Developers can still introduce new warnings without realizing it, leading to gradual console pollution over time.
Solution: Added a custom Jest reporter that tracks console warnings per test file and fails tests when warnings increase above the baseline. This creates a "ratchet" effect where the codebase can only get cleaner over time.
Changes:
- Created
test/jest/console-baseline-reporter.js- Unified reporter for capture and enforcement modes - Created
test/jest/console-categorizer.js- Shared categorization logic using same rules asjest-clean-console-reporter - Created baseline files:
-
test/jest/console-baseline-unit.json(495 files tracked) -
test/jest/console-baseline-integration.json(21 files tracked)
-
- Added new yarn scripts:
-
yarn test:unit:update-baseline- Update unit test baseline -
yarn test:integration:update-baseline- Update integration test baseline
-
- Updated Jest configurations to include the baseline reporter
- Added documentation:
-
test/jest/CONSOLE-BASELINE.md- Quick reference guide -
test/jest/CONSOLE-BASELINE-TEST.md- Manual testing steps
-
Key features:
- Per-file tracking: Know exactly which file caused a warning increase
- Single-file enforcement: Run one test file and verify it against its baseline
- Merge-based updates: Single-file updates preserve other files in baseline
- Improvement detection: Shows when warnings are reduced (encourages cleanup)
- Zero tolerance: Any increase in warnings fails the test
Changelog
CHANGELOG entry: null
Related issues
Relates to: https://github.com/MetaMask/MetaMask-planning/issues/5286
Manual testing steps
See CONSOLE-BASELINE-TEST.md for detailed testing instructions.
Tests in the CI
In PR #38565, we've added a new warning in a unit test and a new warning in an integration test to prove that CI fails in such cases.
Screenshots/Recordings
Baseline Enforcement - Pass
PASS app/scripts/controllers/permissions/background-api.test.js
Test Suites: 1 passed, 1 total
Tests: 45 passed, 45 total
✅ Console baseline matches exactly!
Baseline Enforcement - Violation Detected
PASS app/scripts/controllers/permissions/background-api.test.js
Test Suites: 1 passed, 1 total
Tests: 45 passed, 45 total
═══════════════════════════════════════════════════════════════════════════════
Console Baseline Report (Per-File)
═══════════════════════════════════════════════════════════════════════════════
❌ BASELINE VIOLATIONS DETECTED
📁 app/scripts/controllers/permissions/background-api.test.js
🆕 NEW: warn: REVIEWER_TEST: This should trigger
Current: 45 occurrences
💡 Next steps:
1. Fix the warnings in your code, OR
2. Update baseline: yarn test:unit:update-baseline (requires justification)
═══════════════════════════════════════════════════════════════════════════════
Baseline Update
PASS app/scripts/controllers/permissions/background-api.test.js
✅ Baseline updated: 1 file(s) updated, 495 total in baseline
Written to: /path/to/test/jest/console-baseline-unit.json
Pre-merge author checklist
- [x] I've followed MetaMask Contributor Docs and MetaMask Extension Coding Standards.
- [x] I've completed the PR template to the best of my ability
- [x] I've included tests if applicable
- [x] I've documented my code using JSDoc format if applicable
- [x] I've applied the right labels on the PR (see labeling guidelines). Not required for external contributors.
Pre-merge reviewer checklist
- [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
[!NOTE] Adds a custom Jest reporter that enforces per-file console warning baselines, with baseline JSONs, scripts, docs, and integration into unit/integration Jest configs and CI.
- Testing/Jest:
- Add
test/jest/console-baseline-reporter.jsandtest/jest/console-categorizer.jsfor per-file console baseline capture/enforcement.- Integrate reporter (first) in
jest.config.jsandjest.integration.config.js; setverbose: falseto enable console buffering.- Add baseline files:
test/jest/console-baseline-unit.json,test/jest/console-baseline-integration.json.- Add scripts:
test:unit:update-baseline,test:integration:update-baseline.- Add docs:
test/jest/CONSOLE-BASELINE.md,test/jest/CONSOLE-BASELINE-TEST.md.- CI:
- Update workflow
.github/workflows/run-tests.ymlto runyarn test:integration:coverage(remove--silent).Written by Cursor Bugbot for commit 94420da2ef68f19ece460a54eae3fc330235f950. This will update automatically on new commits. Configure here.
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 [af13477]
- builds: chrome, firefox
- builds (beta): chrome, firefox
- builds (flask): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- bundle size: Bundle Size Stats
- user-actions-benchmark: User Actions Stats
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
📊 Page Load Benchmark Results
Current Commit: af13477 | Date: 12/4/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.04s (±71ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
- domContentLoaded-> current mean value: 732ms (±69ms) 🟢 | historical mean value: 722ms ⬆️ (historical data)
- firstContentfulPaint-> current mean value: 76ms (±10ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.04s | 71ms | 1.00s | 1.32s | 1.27s | 1.32s |
| domContentLoaded | 732ms | 69ms | 696ms | 1.00s | 955ms | 1.00s |
| firstPaint | 76ms | 10ms | 60ms | 156ms | 84ms | 156ms |
| firstContentfulPaint | 76ms | 10ms | 60ms | 156ms | 84ms | 156ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Builds ready [e27f47e]
- builds: chrome, firefox
- builds (beta): chrome, firefox
- builds (flask): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- bundle size: Bundle Size Stats
- user-actions-benchmark: User Actions Stats
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
UI Startup Metrics (1446 ± 143 ms)
| Platform | BuildType | Page | Metric | Mean (ms) | Min (ms) | Max (ms) | Std Dev (ms) | P 75 (ms) | P 95 (ms) |
|---|---|---|---|---|---|---|---|---|---|
| Chrome | Browserify | Standard Home | uiStartup | 1446 | 1100 | 1828 | 143 | 1554 | 1666 |
| load | 1203 | 931 | 1546 | 126 | 1288 | 1408 | |||
| domContentLoaded | 1194 | 928 | 1535 | 125 | 1280 | 1393 | |||
| domInteractive | 31 | 16 | 204 | 28 | 26 | 101 | |||
| firstPaint | 785 | 92 | 1554 | 485 | 1225 | 1396 | |||
| backgroundConnect | 277 | 195 | 342 | 32 | 300 | 322 | |||
| firstReactRender | 37 | 22 | 84 | 12 | 43 | 59 | |||
| getState | 45 | 15 | 188 | 25 | 56 | 80 | |||
| initialActions | 1 | 0 | 5 | 1 | 2 | 4 | |||
| loadScripts | 927 | 706 | 1245 | 116 | 1007 | 1125 | |||
| setupStore | 16 | 6 | 47 | 8 | 18 | 35 | |||
| numNetworkReqs | 11 | 5 | 71 | 17 | 5 | 62 | |||
| Browserify | Power User Home | uiStartup | 2010 | 1645 | 2582 | 216 | 2178 | 2410 | |
| load | 1017 | 876 | 1729 | 139 | 1034 | 1308 | |||
| domContentLoaded | 1005 | 869 | 1721 | 139 | 1026 | 1298 | |||
| domInteractive | 32 | 17 | 227 | 28 | 28 | 87 | |||
| firstPaint | 536 | 105 | 1398 | 395 | 944 | 1256 | |||
| backgroundConnect | 258 | 200 | 785 | 115 | 230 | 536 | |||
| firstReactRender | 53 | 41 | 80 | 8 | 56 | 71 | |||
| getState | 196 | 145 | 731 | 78 | 208 | 265 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 797 | 666 | 1501 | 137 | 815 | 1096 | |||
| setupStore | 16 | 7 | 43 | 7 | 16 | 36 | |||
| numNetworkReqs | 79 | 64 | 155 | 22 | 74 | 145 | |||
| Webpack | Standard Home | uiStartup | 829 | 719 | 1121 | 72 | 861 | 998 | |
| load | 639 | 565 | 858 | 58 | 671 | 764 | |||
| domContentLoaded | 635 | 561 | 850 | 58 | 667 | 757 | |||
| domInteractive | 26 | 16 | 110 | 20 | 22 | 88 | |||
| firstPaint | 199 | 86 | 857 | 123 | 204 | 598 | |||
| backgroundConnect | 11 | 5 | 80 | 9 | 11 | 26 | |||
| firstReactRender | 28 | 21 | 86 | 8 | 32 | 38 | |||
| getState | 28 | 13 | 65 | 12 | 35 | 52 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 632 | 559 | 841 | 56 | 665 | 748 | |||
| setupStore | 11 | 5 | 39 | 5 | 12 | 18 | |||
| numNetworkReqs | 10 | 5 | 61 | 14 | 5 | 56 | |||
| Webpack | Power User Home | uiStartup | 1654 | 1251 | 2381 | 293 | 1914 | 2247 | |
| load | 682 | 590 | 1003 | 91 | 704 | 891 | |||
| domContentLoaded | 674 | 582 | 998 | 91 | 692 | 884 | |||
| domInteractive | 34 | 16 | 159 | 28 | 30 | 119 | |||
| firstPaint | 252 | 90 | 706 | 156 | 269 | 672 | |||
| backgroundConnect | 121 | 7 | 712 | 214 | 93 | 621 | |||
| firstReactRender | 60 | 47 | 110 | 11 | 65 | 79 | |||
| getState | 180 | 148 | 292 | 22 | 190 | 217 | |||
| initialActions | 1 | 0 | 2 | 0 | 1 | 2 | |||
| loadScripts | 671 | 581 | 990 | 90 | 690 | 875 | |||
| setupStore | 16 | 9 | 49 | 9 | 15 | 40 | |||
| numNetworkReqs | 79 | 53 | 258 | 28 | 74 | 147 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1429 | 1166 | 2097 | 168 | 1536 | 1762 |
| load | 1167 | 1002 | 1474 | 104 | 1231 | 1351 | |||
| domContentLoaded | 1166 | 1002 | 1473 | 104 | 1230 | 1344 | |||
| domInteractive | 73 | 33 | 234 | 39 | 91 | 147 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 58 | 24 | 459 | 56 | 74 | 154 | |||
| firstReactRender | 25 | 20 | 51 | 5 | 26 | 36 | |||
| getState | 15 | 7 | 243 | 25 | 12 | 35 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1136 | 986 | 1449 | 96 | 1198 | 1313 | |||
| setupStore | 13 | 6 | 61 | 10 | 12 | 37 | |||
| numNetworkReqs | 12 | 5 | 66 | 17 | 6 | 64 | |||
| Browserify | Power User Home | uiStartup | 2961 | 1823 | 5003 | 812 | 3783 | 4400 | |
| load | 1346 | 1010 | 2580 | 429 | 1366 | 2407 | |||
| domContentLoaded | 1346 | 1009 | 2580 | 429 | 1365 | 2407 | |||
| domInteractive | 98 | 36 | 431 | 64 | 106 | 224 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 228 | 29 | 1253 | 286 | 291 | 1003 | |||
| firstReactRender | 58 | 36 | 111 | 17 | 61 | 99 | |||
| getState | 305 | 77 | 966 | 258 | 427 | 870 | |||
| initialActions | 4 | 0 | 78 | 10 | 2 | 19 | |||
| loadScripts | 1247 | 982 | 2501 | 346 | 1289 | 2226 | |||
| setupStore | 130 | 9 | 1210 | 206 | 117 | 614 | |||
| numNetworkReqs | 77 | 51 | 145 | 22 | 71 | 129 | |||
| Webpack | Standard Home | uiStartup | 1555 | 1278 | 2274 | 173 | 1662 | 1830 | |
| load | 1267 | 1093 | 1588 | 100 | 1341 | 1424 | |||
| domContentLoaded | 1266 | 1092 | 1588 | 100 | 1341 | 1423 | |||
| domInteractive | 64 | 28 | 162 | 32 | 86 | 120 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 55 | 19 | 319 | 46 | 55 | 167 | |||
| firstReactRender | 28 | 19 | 66 | 6 | 30 | 39 | |||
| getState | 18 | 7 | 200 | 30 | 14 | 50 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1236 | 1070 | 1494 | 88 | 1302 | 1377 | |||
| setupStore | 16 | 7 | 106 | 19 | 14 | 72 | |||
| numNetworkReqs | 12 | 5 | 70 | 16 | 7 | 64 | |||
| Webpack | Power User Home | uiStartup | 3273 | 2259 | 6430 | 911 | 4198 | 4787 | |
| load | 1632 | 1090 | 3221 | 558 | 2047 | 2719 | |||
| domContentLoaded | 1631 | 1089 | 3221 | 558 | 2047 | 2719 | |||
| domInteractive | 166 | 29 | 1165 | 251 | 141 | 1055 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 201 | 24 | 1299 | 290 | 190 | 1079 | |||
| firstReactRender | 64 | 39 | 257 | 31 | 64 | 124 | |||
| getState | 332 | 84 | 1208 | 282 | 533 | 879 | |||
| initialActions | 2 | 0 | 39 | 5 | 2 | 3 | |||
| loadScripts | 1530 | 1073 | 3038 | 477 | 1569 | 2582 | |||
| setupStore | 125 | 6 | 1170 | 208 | 108 | 572 | |||
| numNetworkReqs | 78 | 59 | 134 | 22 | 72 | 126 |
📊 Page Load Benchmark Results
Current Commit: e27f47e | Date: 12/4/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.06s (±65ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
- domContentLoaded-> current mean value: 739ms (±63ms) 🟢 | historical mean value: 724ms ⬆️ (historical data)
- firstContentfulPaint-> current mean value: 78ms (±13ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.06s | 65ms | 1.02s | 1.35s | 1.27s | 1.35s |
| domContentLoaded | 739ms | 63ms | 707ms | 1.02s | 942ms | 1.02s |
| firstPaint | 78ms | 13ms | 64ms | 196ms | 88ms | 196ms |
| firstContentfulPaint | 78ms | 13ms | 64ms | 196ms | 88ms | 196ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Builds ready [805f210]
- builds: chrome, firefox
- builds (beta): chrome, firefox
- builds (flask): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- bundle size: Bundle Size Stats
- user-actions-benchmark: User Actions Stats
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
UI Startup Metrics (1273 ± 111 ms)
| Platform | BuildType | Page | Metric | Mean (ms) | Min (ms) | Max (ms) | Std Dev (ms) | P 75 (ms) | P 95 (ms) |
|---|---|---|---|---|---|---|---|---|---|
| Chrome | Browserify | Standard Home | uiStartup | 1273 | 1027 | 1601 | 111 | 1351 | 1464 |
| load | 1064 | 868 | 1383 | 98 | 1111 | 1261 | |||
| domContentLoaded | 1058 | 866 | 1376 | 97 | 1104 | 1256 | |||
| domInteractive | 27 | 15 | 108 | 21 | 23 | 96 | |||
| firstPaint | 481 | 81 | 1342 | 403 | 1025 | 1188 | |||
| backgroundConnect | 221 | 201 | 279 | 12 | 228 | 241 | |||
| firstReactRender | 31 | 20 | 56 | 8 | 35 | 49 | |||
| getState | 36 | 16 | 111 | 16 | 46 | 60 | |||
| initialActions | 1 | 0 | 7 | 1 | 1 | 3 | |||
| loadScripts | 843 | 661 | 1152 | 94 | 886 | 1031 | |||
| setupStore | 13 | 7 | 30 | 5 | 14 | 24 | |||
| numNetworkReqs | 11 | 5 | 70 | 17 | 5 | 60 | |||
| Browserify | Power User Home | uiStartup | 2016 | 1659 | 2827 | 230 | 2170 | 2451 | |
| load | 1024 | 901 | 1378 | 118 | 1074 | 1291 | |||
| domContentLoaded | 1012 | 892 | 1371 | 118 | 1062 | 1280 | |||
| domInteractive | 30 | 17 | 101 | 19 | 29 | 85 | |||
| firstPaint | 552 | 99 | 1316 | 401 | 963 | 1280 | |||
| backgroundConnect | 267 | 198 | 826 | 136 | 234 | 752 | |||
| firstReactRender | 53 | 41 | 101 | 10 | 56 | 64 | |||
| getState | 193 | 144 | 674 | 58 | 208 | 259 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 2 | |||
| loadScripts | 802 | 685 | 1168 | 116 | 843 | 1076 | |||
| setupStore | 16 | 8 | 51 | 8 | 16 | 40 | |||
| numNetworkReqs | 78 | 62 | 157 | 20 | 75 | 138 | |||
| Webpack | Standard Home | uiStartup | 796 | 686 | 1028 | 68 | 821 | 945 | |
| load | 619 | 555 | 818 | 62 | 640 | 772 | |||
| domContentLoaded | 615 | 550 | 813 | 62 | 634 | 768 | |||
| domInteractive | 25 | 15 | 106 | 19 | 21 | 81 | |||
| firstPaint | 205 | 83 | 779 | 131 | 193 | 598 | |||
| backgroundConnect | 10 | 5 | 50 | 6 | 10 | 25 | |||
| firstReactRender | 27 | 20 | 40 | 5 | 31 | 36 | |||
| getState | 26 | 13 | 82 | 11 | 35 | 43 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 612 | 547 | 804 | 60 | 632 | 759 | |||
| setupStore | 10 | 6 | 21 | 3 | 12 | 17 | |||
| numNetworkReqs | 10 | 5 | 69 | 15 | 5 | 59 | |||
| Webpack | Power User Home | uiStartup | 1601 | 1237 | 2263 | 256 | 1861 | 2130 | |
| load | 673 | 586 | 1080 | 98 | 695 | 893 | |||
| domContentLoaded | 665 | 581 | 1072 | 98 | 690 | 885 | |||
| domInteractive | 37 | 18 | 236 | 36 | 31 | 115 | |||
| firstPaint | 265 | 121 | 921 | 179 | 275 | 679 | |||
| backgroundConnect | 122 | 7 | 622 | 209 | 96 | 566 | |||
| firstReactRender | 58 | 44 | 104 | 10 | 64 | 81 | |||
| getState | 186 | 139 | 674 | 73 | 186 | 251 | |||
| initialActions | 1 | 0 | 2 | 0 | 1 | 1 | |||
| loadScripts | 663 | 579 | 1061 | 96 | 688 | 875 | |||
| setupStore | 17 | 10 | 67 | 10 | 15 | 44 | |||
| numNetworkReqs | 79 | 64 | 257 | 29 | 73 | 150 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1384 | 1144 | 1833 | 146 | 1474 | 1674 |
| load | 1137 | 982 | 1510 | 97 | 1204 | 1321 | |||
| domContentLoaded | 1137 | 981 | 1510 | 97 | 1204 | 1321 | |||
| domInteractive | 70 | 32 | 194 | 35 | 88 | 141 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 59 | 22 | 262 | 41 | 75 | 146 | |||
| firstReactRender | 24 | 18 | 52 | 5 | 25 | 34 | |||
| getState | 11 | 6 | 49 | 6 | 12 | 28 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 1101 | 968 | 1432 | 89 | 1163 | 1264 | |||
| setupStore | 14 | 6 | 152 | 20 | 11 | 36 | |||
| numNetworkReqs | 12 | 5 | 64 | 16 | 6 | 60 | |||
| Browserify | Power User Home | uiStartup | 3109 | 2041 | 5127 | 873 | 3963 | 4680 | |
| load | 1412 | 956 | 2959 | 499 | 1385 | 2514 | |||
| domContentLoaded | 1412 | 956 | 2959 | 498 | 1384 | 2508 | |||
| domInteractive | 104 | 32 | 372 | 73 | 115 | 272 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 300 | 27 | 1213 | 366 | 402 | 1170 | |||
| firstReactRender | 65 | 35 | 275 | 32 | 64 | 126 | |||
| getState | 310 | 88 | 1256 | 272 | 366 | 911 | |||
| initialActions | 2 | 0 | 32 | 3 | 2 | 3 | |||
| loadScripts | 1244 | 942 | 2789 | 346 | 1303 | 2143 | |||
| setupStore | 158 | 6 | 1221 | 254 | 117 | 821 | |||
| numNetworkReqs | 75 | 50 | 137 | 21 | 73 | 124 | |||
| Webpack | Standard Home | uiStartup | 1527 | 1318 | 2027 | 150 | 1599 | 1851 | |
| load | 1265 | 1082 | 1541 | 95 | 1330 | 1439 | |||
| domContentLoaded | 1265 | 1082 | 1540 | 95 | 1329 | 1439 | |||
| domInteractive | 71 | 27 | 203 | 42 | 99 | 148 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 50 | 17 | 178 | 33 | 51 | 126 | |||
| firstReactRender | 27 | 19 | 82 | 9 | 30 | 39 | |||
| getState | 17 | 7 | 143 | 23 | 14 | 68 | |||
| initialActions | 1 | 0 | 5 | 1 | 2 | 2 | |||
| loadScripts | 1235 | 1068 | 1519 | 89 | 1293 | 1404 | |||
| setupStore | 13 | 5 | 88 | 13 | 13 | 46 | |||
| numNetworkReqs | 12 | 5 | 67 | 16 | 7 | 62 | |||
| Webpack | Power User Home | uiStartup | 3234 | 2181 | 6375 | 982 | 4098 | 5027 | |
| load | 1602 | 1097 | 2814 | 520 | 2088 | 2649 | |||
| domContentLoaded | 1601 | 1097 | 2814 | 520 | 2088 | 2649 | |||
| domInteractive | 133 | 27 | 1071 | 212 | 98 | 969 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 236 | 28 | 1316 | 332 | 208 | 1114 | |||
| firstReactRender | 68 | 38 | 289 | 45 | 65 | 142 | |||
| getState | 325 | 82 | 1363 | 302 | 505 | 983 | |||
| initialActions | 3 | 0 | 72 | 8 | 2 | 7 | |||
| loadScripts | 1485 | 1073 | 2641 | 448 | 1484 | 2565 | |||
| setupStore | 126 | 5 | 1090 | 215 | 92 | 624 | |||
| numNetworkReqs | 76 | 54 | 137 | 22 | 75 | 125 |
📊 Page Load Benchmark Results
Current Commit: 805f210 | Date: 12/4/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.03s (±40ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
- domContentLoaded-> current mean value: 717ms (±38ms) 🟢 | historical mean value: 726ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 75ms (±12ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.03s | 40ms | 1.01s | 1.34s | 1.06s | 1.34s |
| domContentLoaded | 717ms | 38ms | 696ms | 1.00s | 736ms | 1.00s |
| firstPaint | 75ms | 12ms | 60ms | 176ms | 88ms | 176ms |
| firstContentfulPaint | 75ms | 12ms | 60ms | 176ms | 88ms | 176ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Builds ready [4570699]
- builds: chrome, firefox
- builds (beta): chrome, firefox
- builds (flask): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- bundle size: Bundle Size Stats
- user-actions-benchmark: User Actions Stats
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
UI Startup Metrics (1256 ± 87 ms)
| Platform | BuildType | Page | Metric | Mean (ms) | Min (ms) | Max (ms) | Std Dev (ms) | P 75 (ms) | P 95 (ms) |
|---|---|---|---|---|---|---|---|---|---|
| Chrome | Browserify | Standard Home | uiStartup | 1256 | 1044 | 1450 | 87 | 1325 | 1402 |
| load | 1049 | 861 | 1248 | 81 | 1092 | 1212 | |||
| domContentLoaded | 1043 | 855 | 1240 | 81 | 1087 | 1205 | |||
| domInteractive | 29 | 15 | 164 | 26 | 23 | 94 | |||
| firstPaint | 558 | 95 | 1248 | 408 | 1036 | 1185 | |||
| backgroundConnect | 220 | 201 | 271 | 13 | 226 | 244 | |||
| firstReactRender | 30 | 20 | 69 | 9 | 34 | 47 | |||
| getState | 37 | 16 | 126 | 18 | 44 | 67 | |||
| initialActions | 1 | 0 | 7 | 1 | 1 | 2 | |||
| loadScripts | 829 | 658 | 1030 | 81 | 877 | 992 | |||
| setupStore | 13 | 6 | 40 | 7 | 15 | 31 | |||
| numNetworkReqs | 10 | 5 | 67 | 15 | 5 | 60 | |||
| Browserify | Power User Home | uiStartup | 2078 | 1772 | 2712 | 224 | 2197 | 2525 | |
| load | 1052 | 909 | 1392 | 121 | 1091 | 1337 | |||
| domContentLoaded | 1040 | 903 | 1386 | 121 | 1079 | 1326 | |||
| domInteractive | 33 | 18 | 144 | 23 | 32 | 107 | |||
| firstPaint | 547 | 99 | 1358 | 403 | 981 | 1305 | |||
| backgroundConnect | 282 | 207 | 796 | 136 | 246 | 655 | |||
| firstReactRender | 57 | 43 | 90 | 8 | 61 | 69 | |||
| getState | 187 | 149 | 305 | 28 | 201 | 241 | |||
| initialActions | 1 | 0 | 14 | 1 | 1 | 2 | |||
| loadScripts | 821 | 694 | 1156 | 118 | 848 | 1098 | |||
| setupStore | 17 | 10 | 49 | 7 | 16 | 38 | |||
| numNetworkReqs | 80 | 64 | 233 | 29 | 74 | 152 | |||
| Webpack | Standard Home | uiStartup | 809 | 696 | 1040 | 67 | 830 | 953 | |
| load | 627 | 563 | 818 | 60 | 649 | 773 | |||
| domContentLoaded | 623 | 555 | 811 | 59 | 643 | 767 | |||
| domInteractive | 25 | 15 | 86 | 18 | 23 | 82 | |||
| firstPaint | 206 | 76 | 741 | 120 | 211 | 590 | |||
| backgroundConnect | 10 | 6 | 45 | 5 | 10 | 17 | |||
| firstReactRender | 27 | 18 | 42 | 6 | 31 | 39 | |||
| getState | 27 | 13 | 57 | 11 | 36 | 46 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 1 | |||
| loadScripts | 620 | 553 | 802 | 58 | 641 | 757 | |||
| setupStore | 10 | 6 | 30 | 4 | 13 | 16 | |||
| numNetworkReqs | 10 | 5 | 72 | 16 | 5 | 59 | |||
| Webpack | Power User Home | uiStartup | 1454 | 1182 | 2078 | 222 | 1554 | 1969 | |
| load | 627 | 548 | 1051 | 90 | 643 | 862 | |||
| domContentLoaded | 619 | 542 | 1045 | 91 | 635 | 856 | |||
| domInteractive | 30 | 15 | 202 | 28 | 27 | 99 | |||
| firstPaint | 278 | 103 | 826 | 188 | 314 | 646 | |||
| backgroundConnect | 52 | 7 | 557 | 133 | 15 | 533 | |||
| firstReactRender | 54 | 44 | 93 | 9 | 59 | 73 | |||
| getState | 172 | 143 | 246 | 20 | 179 | 222 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 617 | 541 | 1037 | 89 | 633 | 850 | |||
| setupStore | 14 | 5 | 36 | 7 | 13 | 36 | |||
| numNetworkReqs | 117 | 62 | 299 | 58 | 149 | 231 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1397 | 1140 | 1820 | 149 | 1485 | 1730 |
| load | 1132 | 964 | 1487 | 108 | 1191 | 1400 | |||
| domContentLoaded | 1132 | 964 | 1487 | 108 | 1188 | 1400 | |||
| domInteractive | 66 | 32 | 201 | 36 | 85 | 161 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 57 | 18 | 203 | 35 | 76 | 133 | |||
| firstReactRender | 24 | 19 | 46 | 5 | 25 | 37 | |||
| getState | 14 | 7 | 134 | 16 | 12 | 26 | |||
| initialActions | 1 | 0 | 2 | 1 | 2 | 2 | |||
| loadScripts | 1098 | 943 | 1425 | 97 | 1144 | 1315 | |||
| setupStore | 19 | 6 | 236 | 33 | 12 | 65 | |||
| numNetworkReqs | 12 | 5 | 66 | 16 | 7 | 60 | |||
| Browserify | Power User Home | uiStartup | 3099 | 2159 | 5291 | 910 | 4092 | 4728 | |
| load | 1371 | 956 | 2589 | 500 | 1371 | 2486 | |||
| domContentLoaded | 1370 | 956 | 2588 | 500 | 1370 | 2485 | |||
| domInteractive | 104 | 32 | 1008 | 110 | 99 | 269 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 300 | 27 | 2170 | 409 | 432 | 1173 | |||
| firstReactRender | 63 | 36 | 152 | 27 | 66 | 134 | |||
| getState | 367 | 84 | 1913 | 344 | 494 | 1158 | |||
| initialActions | 3 | 0 | 73 | 9 | 2 | 3 | |||
| loadScripts | 1209 | 941 | 2491 | 335 | 1231 | 2213 | |||
| setupStore | 159 | 5 | 1788 | 289 | 127 | 762 | |||
| numNetworkReqs | 77 | 50 | 142 | 22 | 73 | 124 | |||
| Webpack | Standard Home | uiStartup | 1495 | 1269 | 2185 | 169 | 1525 | 1878 | |
| load | 1239 | 1093 | 1587 | 108 | 1288 | 1449 | |||
| domContentLoaded | 1238 | 1093 | 1586 | 108 | 1288 | 1449 | |||
| domInteractive | 62 | 25 | 194 | 35 | 83 | 129 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 48 | 20 | 227 | 36 | 44 | 122 | |||
| firstReactRender | 27 | 20 | 65 | 6 | 28 | 35 | |||
| getState | 13 | 6 | 180 | 19 | 13 | 22 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1210 | 1062 | 1559 | 99 | 1261 | 1411 | |||
| setupStore | 17 | 6 | 227 | 33 | 12 | 69 | |||
| numNetworkReqs | 12 | 5 | 68 | 17 | 7 | 63 | |||
| Webpack | Power User Home | uiStartup | 3412 | 2420 | 5746 | 925 | 4388 | 5127 | |
| load | 1694 | 1202 | 3111 | 549 | 1736 | 2948 | |||
| domContentLoaded | 1693 | 1202 | 3111 | 549 | 1736 | 2948 | |||
| domInteractive | 109 | 31 | 362 | 83 | 105 | 342 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 300 | 27 | 1322 | 376 | 412 | 1248 | |||
| firstReactRender | 77 | 45 | 284 | 40 | 78 | 157 | |||
| getState | 318 | 79 | 1528 | 260 | 408 | 848 | |||
| initialActions | 3 | 1 | 104 | 10 | 2 | 6 | |||
| loadScripts | 1542 | 1153 | 2917 | 409 | 1652 | 2530 | |||
| setupStore | 124 | 9 | 762 | 173 | 119 | 595 | |||
| numNetworkReqs | 78 | 51 | 146 | 24 | 73 | 132 |
📊 Page Load Benchmark Results
Current Commit: 4570699 | Date: 12/4/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.04s (±63ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
- domContentLoaded-> current mean value: 731ms (±76ms) 🟢 | historical mean value: 725ms ⬆️ (historical data)
- firstContentfulPaint-> current mean value: 88ms (±126ms) 🟢 | historical mean value: 79ms ⬆️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.04s | 63ms | 1.01s | 1.37s | 1.24s | 1.37s |
| domContentLoaded | 731ms | 76ms | 699ms | 1.28s | 926ms | 1.28s |
| firstPaint | 88ms | 126ms | 56ms | 1.34s | 92ms | 1.34s |
| firstContentfulPaint | 88ms | 126ms | 56ms | 1.34s | 92ms | 1.34s |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Builds ready [026d725]
- builds: chrome, firefox
- builds (beta): chrome, firefox
- builds (flask): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- bundle size: Bundle Size Stats
- user-actions-benchmark: User Actions Stats
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
UI Startup Metrics (1263 ± 102 ms)
| Platform | BuildType | Page | Metric | Mean (ms) | Min (ms) | Max (ms) | Std Dev (ms) | P 75 (ms) | P 95 (ms) |
|---|---|---|---|---|---|---|---|---|---|
| Chrome | Browserify | Standard Home | uiStartup | 1263 | 1041 | 1574 | 102 | 1322 | 1439 |
| load | 1054 | 878 | 1337 | 89 | 1109 | 1225 | |||
| domContentLoaded | 1048 | 872 | 1322 | 88 | 1106 | 1217 | |||
| domInteractive | 26 | 15 | 106 | 21 | 23 | 95 | |||
| firstPaint | 579 | 107 | 1339 | 425 | 1055 | 1227 | |||
| backgroundConnect | 220 | 192 | 242 | 10 | 228 | 236 | |||
| firstReactRender | 29 | 20 | 72 | 9 | 32 | 49 | |||
| getState | 38 | 16 | 160 | 24 | 40 | 97 | |||
| initialActions | 1 | 0 | 7 | 1 | 1 | 2 | |||
| loadScripts | 834 | 669 | 1100 | 85 | 881 | 1002 | |||
| setupStore | 11 | 7 | 24 | 4 | 12 | 21 | |||
| numNetworkReqs | 11 | 5 | 70 | 17 | 5 | 65 | |||
| Browserify | Power User Home | uiStartup | 2016 | 1690 | 2773 | 223 | 2155 | 2388 | |
| load | 1025 | 894 | 1677 | 133 | 1060 | 1325 | |||
| domContentLoaded | 1014 | 888 | 1668 | 133 | 1053 | 1296 | |||
| domInteractive | 31 | 16 | 112 | 21 | 29 | 92 | |||
| firstPaint | 512 | 98 | 1368 | 402 | 969 | 1274 | |||
| backgroundConnect | 270 | 199 | 837 | 130 | 239 | 587 | |||
| firstReactRender | 52 | 39 | 114 | 9 | 57 | 66 | |||
| getState | 196 | 143 | 693 | 77 | 203 | 262 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 801 | 684 | 1393 | 128 | 829 | 1090 | |||
| setupStore | 17 | 7 | 43 | 8 | 16 | 37 | |||
| numNetworkReqs | 79 | 64 | 225 | 26 | 75 | 150 | |||
| Webpack | Standard Home | uiStartup | 805 | 690 | 1072 | 79 | 834 | 990 | |
| load | 626 | 556 | 931 | 71 | 650 | 803 | |||
| domContentLoaded | 622 | 552 | 925 | 71 | 645 | 791 | |||
| domInteractive | 25 | 14 | 96 | 19 | 22 | 79 | |||
| firstPaint | 229 | 94 | 810 | 167 | 196 | 660 | |||
| backgroundConnect | 9 | 5 | 30 | 5 | 11 | 20 | |||
| firstReactRender | 28 | 19 | 156 | 14 | 31 | 37 | |||
| getState | 27 | 13 | 70 | 10 | 34 | 44 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 619 | 550 | 910 | 69 | 643 | 783 | |||
| setupStore | 11 | 6 | 40 | 5 | 12 | 21 | |||
| numNetworkReqs | 11 | 5 | 71 | 16 | 5 | 61 | |||
| Webpack | Power User Home | uiStartup | 1661 | 1255 | 2379 | 270 | 1891 | 2181 | |
| load | 688 | 587 | 1166 | 102 | 711 | 920 | |||
| domContentLoaded | 680 | 582 | 1157 | 102 | 703 | 910 | |||
| domInteractive | 35 | 18 | 177 | 28 | 31 | 110 | |||
| firstPaint | 285 | 110 | 889 | 201 | 313 | 736 | |||
| backgroundConnect | 133 | 8 | 674 | 220 | 115 | 591 | |||
| firstReactRender | 59 | 47 | 119 | 10 | 64 | 76 | |||
| getState | 179 | 142 | 261 | 23 | 187 | 229 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 677 | 580 | 1148 | 100 | 701 | 907 | |||
| setupStore | 17 | 10 | 61 | 10 | 15 | 43 | |||
| numNetworkReqs | 78 | 62 | 171 | 24 | 73 | 148 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1313 | 1087 | 1878 | 154 | 1373 | 1652 |
| load | 1075 | 942 | 1393 | 88 | 1128 | 1252 | |||
| domContentLoaded | 1075 | 942 | 1392 | 88 | 1127 | 1252 | |||
| domInteractive | 58 | 31 | 248 | 33 | 81 | 112 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 49 | 21 | 171 | 33 | 61 | 136 | |||
| firstReactRender | 24 | 18 | 40 | 6 | 25 | 36 | |||
| getState | 18 | 6 | 189 | 31 | 12 | 77 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 1046 | 926 | 1369 | 79 | 1092 | 1195 | |||
| setupStore | 18 | 5 | 190 | 28 | 14 | 58 | |||
| numNetworkReqs | 11 | 5 | 65 | 16 | 6 | 62 | |||
| Browserify | Power User Home | uiStartup | 3037 | 1942 | 5116 | 895 | 3961 | 4628 | |
| load | 1393 | 1001 | 2791 | 482 | 1468 | 2543 | |||
| domContentLoaded | 1393 | 1001 | 2791 | 481 | 1468 | 2543 | |||
| domInteractive | 102 | 33 | 339 | 71 | 103 | 282 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 304 | 29 | 1975 | 419 | 360 | 1201 | |||
| firstReactRender | 59 | 36 | 210 | 25 | 61 | 96 | |||
| getState | 311 | 88 | 1278 | 262 | 423 | 861 | |||
| initialActions | 3 | 1 | 67 | 8 | 2 | 3 | |||
| loadScripts | 1263 | 977 | 2611 | 327 | 1374 | 2118 | |||
| setupStore | 129 | 7 | 789 | 177 | 136 | 653 | |||
| numNetworkReqs | 79 | 56 | 142 | 23 | 75 | 126 | |||
| Webpack | Standard Home | uiStartup | 1486 | 1280 | 1993 | 150 | 1578 | 1778 | |
| load | 1225 | 1071 | 1538 | 106 | 1298 | 1449 | |||
| domContentLoaded | 1225 | 1070 | 1537 | 106 | 1297 | 1449 | |||
| domInteractive | 62 | 26 | 197 | 37 | 84 | 126 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 44 | 17 | 167 | 25 | 45 | 96 | |||
| firstReactRender | 27 | 20 | 81 | 9 | 28 | 37 | |||
| getState | 15 | 6 | 188 | 23 | 13 | 45 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 1199 | 1047 | 1510 | 99 | 1272 | 1391 | |||
| setupStore | 14 | 5 | 96 | 14 | 12 | 48 | |||
| numNetworkReqs | 12 | 5 | 68 | 17 | 7 | 63 | |||
| Webpack | Power User Home | uiStartup | 3243 | 2373 | 5658 | 879 | 4199 | 4780 | |
| load | 1560 | 1133 | 2897 | 455 | 1569 | 2764 | |||
| domContentLoaded | 1559 | 1132 | 2897 | 456 | 1569 | 2763 | |||
| domInteractive | 114 | 30 | 954 | 122 | 101 | 347 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 252 | 28 | 1203 | 337 | 217 | 1145 | |||
| firstReactRender | 72 | 40 | 389 | 52 | 65 | 157 | |||
| getState | 315 | 81 | 1133 | 264 | 440 | 885 | |||
| initialActions | 2 | 0 | 8 | 1 | 2 | 3 | |||
| loadScripts | 1452 | 1107 | 2713 | 340 | 1527 | 2477 | |||
| setupStore | 142 | 7 | 1104 | 228 | 120 | 709 | |||
| numNetworkReqs | 79 | 57 | 146 | 24 | 74 | 133 |
📊 Page Load Benchmark Results
Current Commit: 026d725 | Date: 12/4/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.05s (±42ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
- domContentLoaded-> current mean value: 736ms (±39ms) 🟢 | historical mean value: 729ms ⬆️ (historical data)
- firstContentfulPaint-> current mean value: 79ms (±13ms) 🟢 | historical mean value: 80ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.05s | 42ms | 1.03s | 1.37s | 1.09s | 1.37s |
| domContentLoaded | 736ms | 39ms | 713ms | 1.03s | 765ms | 1.03s |
| firstPaint | 79ms | 13ms | 60ms | 200ms | 88ms | 200ms |
| firstContentfulPaint | 79ms | 13ms | 60ms | 200ms | 88ms | 200ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Builds ready [bc7f02b]
- builds: chrome, firefox
- builds (beta): chrome, firefox
- builds (flask): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- bundle size: Bundle Size Stats
- user-actions-benchmark: User Actions Stats
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
UI Startup Metrics (1289 ± 111 ms)
| Platform | BuildType | Page | Metric | Mean (ms) | Min (ms) | Max (ms) | Std Dev (ms) | P 75 (ms) | P 95 (ms) |
|---|---|---|---|---|---|---|---|---|---|
| Chrome | Browserify | Standard Home | uiStartup | 1289 | 1060 | 1760 | 111 | 1354 | 1462 |
| load | 1079 | 891 | 1551 | 102 | 1134 | 1266 | |||
| domContentLoaded | 1072 | 885 | 1546 | 100 | 1127 | 1259 | |||
| domInteractive | 31 | 16 | 233 | 32 | 23 | 97 | |||
| firstPaint | 522 | 85 | 1573 | 420 | 1020 | 1202 | |||
| backgroundConnect | 230 | 203 | 268 | 13 | 238 | 254 | |||
| firstReactRender | 32 | 21 | 79 | 11 | 35 | 58 | |||
| getState | 39 | 16 | 126 | 21 | 44 | 97 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 850 | 674 | 1307 | 98 | 901 | 1023 | |||
| setupStore | 12 | 7 | 37 | 5 | 13 | 25 | |||
| numNetworkReqs | 11 | 5 | 70 | 17 | 5 | 61 | |||
| Browserify | Power User Home | uiStartup | 2064 | 1788 | 2720 | 203 | 2179 | 2478 | |
| load | 1025 | 907 | 1541 | 125 | 1033 | 1367 | |||
| domContentLoaded | 1010 | 895 | 1522 | 125 | 1018 | 1354 | |||
| domInteractive | 36 | 18 | 182 | 27 | 35 | 92 | |||
| firstPaint | 622 | 105 | 1563 | 416 | 993 | 1365 | |||
| backgroundConnect | 255 | 202 | 742 | 103 | 232 | 560 | |||
| firstReactRender | 56 | 38 | 107 | 13 | 60 | 90 | |||
| getState | 190 | 144 | 662 | 55 | 199 | 243 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 2 | |||
| loadScripts | 801 | 688 | 1256 | 120 | 801 | 1139 | |||
| setupStore | 20 | 8 | 53 | 9 | 25 | 47 | |||
| numNetworkReqs | 158 | 68 | 274 | 55 | 208 | 252 | |||
| Webpack | Standard Home | uiStartup | 822 | 700 | 992 | 68 | 854 | 980 | |
| load | 639 | 561 | 804 | 66 | 678 | 793 | |||
| domContentLoaded | 634 | 557 | 799 | 66 | 674 | 788 | |||
| domInteractive | 26 | 15 | 110 | 20 | 22 | 87 | |||
| firstPaint | 223 | 90 | 814 | 163 | 201 | 696 | |||
| backgroundConnect | 10 | 6 | 69 | 9 | 9 | 25 | |||
| firstReactRender | 28 | 20 | 87 | 8 | 32 | 38 | |||
| getState | 26 | 13 | 92 | 12 | 34 | 44 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 2 | |||
| loadScripts | 631 | 554 | 790 | 64 | 672 | 780 | |||
| setupStore | 10 | 5 | 18 | 3 | 12 | 16 | |||
| numNetworkReqs | 10 | 5 | 69 | 16 | 5 | 61 | |||
| Webpack | Power User Home | uiStartup | 1591 | 1272 | 2328 | 222 | 1698 | 2025 | |
| load | 688 | 584 | 1369 | 108 | 701 | 894 | |||
| domContentLoaded | 678 | 579 | 1349 | 108 | 689 | 887 | |||
| domInteractive | 36 | 18 | 218 | 30 | 37 | 108 | |||
| firstPaint | 309 | 98 | 958 | 217 | 345 | 732 | |||
| backgroundConnect | 71 | 7 | 637 | 160 | 19 | 574 | |||
| firstReactRender | 60 | 45 | 96 | 9 | 66 | 76 | |||
| getState | 176 | 133 | 222 | 19 | 186 | 216 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 675 | 577 | 1340 | 106 | 687 | 878 | |||
| setupStore | 19 | 9 | 55 | 10 | 21 | 47 | |||
| numNetworkReqs | 167 | 65 | 405 | 66 | 212 | 300 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1330 | 1074 | 1926 | 159 | 1419 | 1641 |
| load | 1098 | 917 | 1482 | 99 | 1154 | 1237 | |||
| domContentLoaded | 1098 | 912 | 1482 | 99 | 1153 | 1229 | |||
| domInteractive | 62 | 31 | 243 | 37 | 84 | 127 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 50 | 21 | 226 | 37 | 49 | 139 | |||
| firstReactRender | 22 | 18 | 39 | 4 | 23 | 35 | |||
| getState | 11 | 6 | 87 | 9 | 10 | 22 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 1069 | 900 | 1459 | 89 | 1127 | 1197 | |||
| setupStore | 13 | 6 | 138 | 17 | 11 | 38 | |||
| numNetworkReqs | 11 | 5 | 64 | 16 | 6 | 60 | |||
| Browserify | Power User Home | uiStartup | 2650 | 2120 | 3807 | 280 | 2797 | 3053 | |
| load | 1229 | 1052 | 1771 | 156 | 1253 | 1618 | |||
| domContentLoaded | 1228 | 1052 | 1771 | 156 | 1253 | 1617 | |||
| domInteractive | 130 | 44 | 489 | 101 | 119 | 420 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 148 | 38 | 1131 | 155 | 146 | 435 | |||
| firstReactRender | 65 | 41 | 146 | 18 | 68 | 105 | |||
| getState | 312 | 36 | 1241 | 241 | 384 | 852 | |||
| initialActions | 2 | 1 | 8 | 2 | 2 | 7 | |||
| loadScripts | 1187 | 1003 | 1743 | 149 | 1193 | 1573 | |||
| setupStore | 200 | 14 | 831 | 223 | 278 | 745 | |||
| numNetworkReqs | 82 | 60 | 261 | 30 | 79 | 149 | |||
| Webpack | Standard Home | uiStartup | 1481 | 1274 | 2025 | 141 | 1559 | 1800 | |
| load | 1219 | 1064 | 1614 | 100 | 1281 | 1433 | |||
| domContentLoaded | 1219 | 1064 | 1613 | 100 | 1281 | 1433 | |||
| domInteractive | 57 | 26 | 182 | 34 | 78 | 134 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 47 | 20 | 180 | 32 | 49 | 129 | |||
| firstReactRender | 27 | 20 | 83 | 9 | 28 | 39 | |||
| getState | 17 | 7 | 193 | 27 | 12 | 76 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1191 | 1034 | 1587 | 93 | 1257 | 1369 | |||
| setupStore | 12 | 5 | 39 | 8 | 12 | 34 | |||
| numNetworkReqs | 12 | 5 | 67 | 16 | 7 | 63 | |||
| Webpack | Power User Home | uiStartup | 3031 | 2218 | 8313 | 921 | 2935 | 4840 | |
| load | 1562 | 1163 | 6429 | 673 | 1573 | 2836 | |||
| domContentLoaded | 1561 | 1163 | 6428 | 673 | 1573 | 2836 | |||
| domInteractive | 196 | 32 | 4529 | 480 | 112 | 965 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 173 | 22 | 1967 | 254 | 155 | 491 | |||
| firstReactRender | 62 | 39 | 194 | 23 | 60 | 107 | |||
| getState | 272 | 62 | 1096 | 233 | 322 | 836 | |||
| initialActions | 2 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1492 | 1123 | 6406 | 642 | 1509 | 2755 | |||
| setupStore | 148 | 5 | 785 | 204 | 154 | 688 | |||
| numNetworkReqs | 82 | 60 | 218 | 25 | 79 | 137 |
📊 Page Load Benchmark Results
Current Commit: bc7f02b | Date: 12/5/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.04s (±71ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
- domContentLoaded-> current mean value: 731ms (±69ms) 🟢 | historical mean value: 724ms ⬆️ (historical data)
- firstContentfulPaint-> current mean value: 75ms (±11ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.04s | 71ms | 1.00s | 1.32s | 1.26s | 1.32s |
| domContentLoaded | 731ms | 69ms | 698ms | 1.00s | 942ms | 1.00s |
| firstPaint | 75ms | 11ms | 60ms | 164ms | 88ms | 164ms |
| firstContentfulPaint | 75ms | 11ms | 60ms | 164ms | 88ms | 164ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Builds ready [09986f3]
- builds: chrome, firefox
- builds (beta): chrome, firefox
- builds (flask): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- bundle size: Bundle Size Stats
- user-actions-benchmark: User Actions Stats
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
UI Startup Metrics (1234 ± 102 ms)
| Platform | BuildType | Page | Metric | Mean (ms) | Min (ms) | Max (ms) | Std Dev (ms) | P 75 (ms) | P 95 (ms) |
|---|---|---|---|---|---|---|---|---|---|
| Chrome | Browserify | Standard Home | uiStartup | 1234 | 1033 | 1567 | 102 | 1304 | 1401 |
| load | 1022 | 892 | 1370 | 87 | 1072 | 1192 | |||
| domContentLoaded | 1017 | 887 | 1364 | 86 | 1067 | 1179 | |||
| domInteractive | 26 | 15 | 102 | 19 | 22 | 80 | |||
| firstPaint | 535 | 87 | 1211 | 398 | 984 | 1177 | |||
| backgroundConnect | 217 | 198 | 255 | 11 | 221 | 238 | |||
| firstReactRender | 30 | 19 | 157 | 15 | 32 | 51 | |||
| getState | 36 | 16 | 127 | 19 | 39 | 85 | |||
| initialActions | 1 | 0 | 6 | 1 | 1 | 4 | |||
| loadScripts | 806 | 675 | 1145 | 84 | 852 | 971 | |||
| setupStore | 11 | 7 | 34 | 5 | 12 | 21 | |||
| numNetworkReqs | 11 | 5 | 71 | 18 | 5 | 68 | |||
| Browserify | Power User Home | uiStartup | 1993 | 1649 | 2586 | 202 | 2086 | 2450 | |
| load | 1009 | 887 | 1614 | 129 | 1004 | 1336 | |||
| domContentLoaded | 994 | 878 | 1604 | 130 | 990 | 1325 | |||
| domInteractive | 33 | 16 | 134 | 23 | 32 | 93 | |||
| firstPaint | 569 | 99 | 1393 | 397 | 962 | 1296 | |||
| backgroundConnect | 254 | 203 | 696 | 105 | 227 | 576 | |||
| firstReactRender | 54 | 40 | 112 | 11 | 57 | 76 | |||
| getState | 184 | 128 | 708 | 58 | 195 | 230 | |||
| initialActions | 1 | 0 | 7 | 1 | 1 | 3 | |||
| loadScripts | 788 | 675 | 1360 | 125 | 782 | 1110 | |||
| setupStore | 20 | 10 | 45 | 8 | 23 | 42 | |||
| numNetworkReqs | 151 | 66 | 403 | 60 | 205 | 258 | |||
| Webpack | Standard Home | uiStartup | 831 | 705 | 1268 | 80 | 857 | 1004 | |
| load | 643 | 574 | 1004 | 72 | 665 | 810 | |||
| domContentLoaded | 638 | 568 | 998 | 72 | 660 | 805 | |||
| domInteractive | 26 | 16 | 138 | 20 | 22 | 82 | |||
| firstPaint | 233 | 83 | 857 | 169 | 223 | 645 | |||
| backgroundConnect | 11 | 6 | 63 | 8 | 12 | 26 | |||
| firstReactRender | 28 | 20 | 45 | 6 | 33 | 38 | |||
| getState | 26 | 13 | 64 | 10 | 35 | 46 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 3 | |||
| loadScripts | 636 | 566 | 990 | 71 | 658 | 798 | |||
| setupStore | 11 | 5 | 24 | 3 | 14 | 17 | |||
| numNetworkReqs | 10 | 5 | 75 | 16 | 5 | 57 | |||
| Webpack | Power User Home | uiStartup | 1702 | 1341 | 2354 | 236 | 1853 | 2177 | |
| load | 716 | 609 | 1003 | 90 | 726 | 933 | |||
| domContentLoaded | 706 | 603 | 996 | 90 | 715 | 926 | |||
| domInteractive | 39 | 19 | 152 | 29 | 38 | 129 | |||
| firstPaint | 307 | 121 | 968 | 200 | 350 | 741 | |||
| backgroundConnect | 63 | 7 | 697 | 151 | 20 | 573 | |||
| firstReactRender | 59 | 47 | 90 | 8 | 65 | 73 | |||
| getState | 209 | 145 | 793 | 102 | 205 | 250 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 703 | 601 | 987 | 89 | 713 | 918 | |||
| setupStore | 23 | 7 | 74 | 14 | 27 | 55 | |||
| numNetworkReqs | 161 | 67 | 304 | 59 | 216 | 278 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1326 | 1101 | 1774 | 151 | 1413 | 1622 |
| load | 1091 | 948 | 1480 | 99 | 1143 | 1296 | |||
| domContentLoaded | 1090 | 948 | 1479 | 99 | 1143 | 1296 | |||
| domInteractive | 61 | 30 | 153 | 31 | 83 | 130 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 51 | 22 | 288 | 40 | 59 | 135 | |||
| firstReactRender | 22 | 18 | 38 | 4 | 23 | 35 | |||
| getState | 15 | 7 | 203 | 25 | 10 | 29 | |||
| initialActions | 1 | 0 | 9 | 1 | 1 | 2 | |||
| loadScripts | 1060 | 909 | 1453 | 89 | 1112 | 1233 | |||
| setupStore | 15 | 5 | 195 | 25 | 10 | 32 | |||
| numNetworkReqs | 11 | 5 | 65 | 16 | 6 | 60 | |||
| Browserify | Power User Home | uiStartup | 2631 | 1979 | 4774 | 612 | 2644 | 4321 | |
| load | 1183 | 942 | 2740 | 301 | 1172 | 1473 | |||
| domContentLoaded | 1183 | 942 | 2740 | 302 | 1171 | 1473 | |||
| domInteractive | 114 | 30 | 409 | 82 | 110 | 310 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 132 | 33 | 1153 | 154 | 134 | 425 | |||
| firstReactRender | 58 | 38 | 131 | 15 | 62 | 89 | |||
| getState | 278 | 78 | 979 | 205 | 377 | 717 | |||
| initialActions | 3 | 1 | 36 | 5 | 2 | 3 | |||
| loadScripts | 1140 | 923 | 2566 | 246 | 1132 | 1452 | |||
| setupStore | 176 | 7 | 846 | 213 | 191 | 695 | |||
| numNetworkReqs | 81 | 57 | 162 | 25 | 79 | 152 | |||
| Webpack | Standard Home | uiStartup | 1567 | 1246 | 2184 | 176 | 1645 | 1939 | |
| load | 1283 | 1091 | 1583 | 106 | 1355 | 1459 | |||
| domContentLoaded | 1283 | 1091 | 1582 | 106 | 1354 | 1458 | |||
| domInteractive | 61 | 27 | 161 | 34 | 82 | 130 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 59 | 22 | 329 | 50 | 64 | 167 | |||
| firstReactRender | 29 | 21 | 77 | 10 | 30 | 42 | |||
| getState | 19 | 6 | 203 | 29 | 14 | 82 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1249 | 1061 | 1466 | 95 | 1319 | 1429 | |||
| setupStore | 17 | 5 | 190 | 27 | 11 | 47 | |||
| numNetworkReqs | 12 | 5 | 67 | 17 | 7 | 63 | |||
| Webpack | Power User Home | uiStartup | 2953 | 2172 | 5130 | 713 | 3132 | 4416 | |
| load | 1497 | 1101 | 2900 | 451 | 1526 | 2705 | |||
| domContentLoaded | 1496 | 1101 | 2900 | 451 | 1526 | 2705 | |||
| domInteractive | 145 | 29 | 1057 | 178 | 131 | 436 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 199 | 24 | 1164 | 276 | 180 | 1018 | |||
| firstReactRender | 64 | 39 | 297 | 33 | 62 | 124 | |||
| getState | 258 | 69 | 933 | 223 | 375 | 826 | |||
| initialActions | 2 | 1 | 35 | 3 | 2 | 3 | |||
| loadScripts | 1398 | 1087 | 2688 | 324 | 1477 | 2270 | |||
| setupStore | 136 | 6 | 731 | 190 | 146 | 648 | |||
| numNetworkReqs | 83 | 59 | 162 | 24 | 84 | 142 |
📊 Page Load Benchmark Results
Current Commit: 09986f3 | Date: 12/5/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.03s (±38ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
- domContentLoaded-> current mean value: 721ms (±36ms) 🟢 | historical mean value: 725ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 76ms (±10ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.03s | 38ms | 1.01s | 1.33s | 1.05s | 1.33s |
| domContentLoaded | 721ms | 36ms | 702ms | 1.00s | 734ms | 1.00s |
| firstPaint | 76ms | 10ms | 56ms | 148ms | 88ms | 148ms |
| firstContentfulPaint | 76ms | 10ms | 56ms | 148ms | 88ms | 148ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Builds ready [94420da]
- builds: chrome, firefox
- builds (beta): chrome, firefox
- builds (flask): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- bundle size: Bundle Size Stats
- user-actions-benchmark: User Actions Stats
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
UI Startup Metrics (1251 ± 103 ms)
| Platform | BuildType | Page | Metric | Mean (ms) | Min (ms) | Max (ms) | Std Dev (ms) | P 75 (ms) | P 95 (ms) |
|---|---|---|---|---|---|---|---|---|---|
| Chrome | Browserify | Standard Home | uiStartup | 1251 | 1042 | 1499 | 103 | 1336 | 1437 |
| load | 1041 | 878 | 1286 | 94 | 1095 | 1200 | |||
| domContentLoaded | 1035 | 870 | 1280 | 94 | 1089 | 1191 | |||
| domInteractive | 26 | 15 | 99 | 19 | 22 | 83 | |||
| firstPaint | 480 | 89 | 1294 | 404 | 965 | 1194 | |||
| backgroundConnect | 215 | 198 | 251 | 13 | 224 | 241 | |||
| firstReactRender | 30 | 20 | 76 | 9 | 32 | 48 | |||
| getState | 34 | 14 | 141 | 15 | 39 | 59 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 3 | |||
| loadScripts | 828 | 672 | 1087 | 90 | 885 | 987 | |||
| setupStore | 12 | 6 | 27 | 5 | 14 | 23 | |||
| numNetworkReqs | 10 | 5 | 69 | 16 | 5 | 61 | |||
| Browserify | Power User Home | uiStartup | 2009 | 1736 | 2618 | 144 | 2043 | 2356 | |
| load | 1029 | 907 | 1381 | 102 | 1064 | 1286 | |||
| domContentLoaded | 1015 | 896 | 1373 | 103 | 1044 | 1279 | |||
| domInteractive | 34 | 17 | 136 | 24 | 34 | 105 | |||
| firstPaint | 560 | 99 | 1386 | 388 | 982 | 1171 | |||
| backgroundConnect | 281 | 208 | 765 | 134 | 238 | 652 | |||
| firstReactRender | 60 | 40 | 111 | 14 | 65 | 95 | |||
| getState | 186 | 135 | 282 | 29 | 207 | 233 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 801 | 696 | 1156 | 99 | 814 | 1045 | |||
| setupStore | 20 | 10 | 62 | 8 | 24 | 39 | |||
| numNetworkReqs | 91 | 65 | 221 | 23 | 94 | 135 | |||
| Webpack | Standard Home | uiStartup | 768 | 665 | 965 | 65 | 801 | 900 | |
| load | 597 | 539 | 804 | 60 | 618 | 756 | |||
| domContentLoaded | 592 | 532 | 800 | 60 | 615 | 751 | |||
| domInteractive | 24 | 14 | 110 | 22 | 19 | 88 | |||
| firstPaint | 211 | 75 | 763 | 147 | 188 | 580 | |||
| backgroundConnect | 9 | 5 | 35 | 5 | 10 | 25 | |||
| firstReactRender | 26 | 19 | 44 | 6 | 31 | 36 | |||
| getState | 24 | 12 | 46 | 9 | 32 | 41 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 1 | |||
| loadScripts | 590 | 530 | 793 | 59 | 613 | 745 | |||
| setupStore | 10 | 6 | 25 | 4 | 12 | 17 | |||
| numNetworkReqs | 11 | 5 | 69 | 17 | 5 | 62 | |||
| Webpack | Power User Home | uiStartup | 1558 | 1267 | 2161 | 184 | 1631 | 1969 | |
| load | 688 | 585 | 966 | 82 | 711 | 877 | |||
| domContentLoaded | 677 | 574 | 950 | 83 | 700 | 871 | |||
| domInteractive | 36 | 19 | 124 | 25 | 34 | 113 | |||
| firstPaint | 299 | 101 | 957 | 196 | 294 | 722 | |||
| backgroundConnect | 53 | 7 | 642 | 129 | 20 | 524 | |||
| firstReactRender | 59 | 47 | 80 | 7 | 63 | 77 | |||
| getState | 175 | 135 | 232 | 19 | 184 | 217 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 674 | 572 | 947 | 81 | 698 | 860 | |||
| setupStore | 21 | 7 | 58 | 10 | 25 | 43 | |||
| numNetworkReqs | 160 | 62 | 379 | 61 | 205 | 274 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1305 | 1083 | 1901 | 160 | 1393 | 1620 |
| load | 1074 | 939 | 1406 | 99 | 1136 | 1265 | |||
| domContentLoaded | 1073 | 939 | 1405 | 99 | 1136 | 1265 | |||
| domInteractive | 60 | 32 | 315 | 40 | 81 | 119 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 48 | 21 | 275 | 43 | 42 | 149 | |||
| firstReactRender | 23 | 19 | 37 | 4 | 23 | 34 | |||
| getState | 11 | 6 | 86 | 11 | 10 | 20 | |||
| initialActions | 1 | 0 | 2 | 0 | 1 | 2 | |||
| loadScripts | 1048 | 924 | 1296 | 90 | 1103 | 1216 | |||
| setupStore | 14 | 5 | 197 | 27 | 10 | 22 | |||
| numNetworkReqs | 12 | 5 | 66 | 17 | 6 | 63 | |||
| Browserify | Power User Home | uiStartup | 2633 | 1909 | 5173 | 641 | 2674 | 4295 | |
| load | 1224 | 926 | 2712 | 362 | 1183 | 2530 | |||
| domContentLoaded | 1224 | 926 | 2711 | 362 | 1183 | 2530 | |||
| domInteractive | 127 | 32 | 1560 | 163 | 112 | 341 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 157 | 23 | 1164 | 239 | 124 | 966 | |||
| firstReactRender | 59 | 38 | 123 | 19 | 60 | 101 | |||
| getState | 322 | 76 | 981 | 237 | 448 | 851 | |||
| initialActions | 2 | 0 | 16 | 2 | 2 | 7 | |||
| loadScripts | 1161 | 910 | 2670 | 261 | 1145 | 1589 | |||
| setupStore | 139 | 6 | 802 | 188 | 148 | 673 | |||
| numNetworkReqs | 85 | 51 | 249 | 35 | 80 | 154 | |||
| Webpack | Standard Home | uiStartup | 1513 | 1244 | 2176 | 154 | 1596 | 1804 | |
| load | 1248 | 1059 | 1494 | 105 | 1334 | 1425 | |||
| domContentLoaded | 1248 | 1058 | 1494 | 105 | 1334 | 1425 | |||
| domInteractive | 61 | 26 | 200 | 40 | 89 | 142 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 49 | 17 | 232 | 34 | 47 | 122 | |||
| firstReactRender | 27 | 20 | 88 | 9 | 29 | 37 | |||
| getState | 15 | 7 | 194 | 21 | 13 | 47 | |||
| initialActions | 1 | 0 | 2 | 1 | 2 | 2 | |||
| loadScripts | 1221 | 1045 | 1451 | 101 | 1308 | 1391 | |||
| setupStore | 13 | 6 | 58 | 10 | 13 | 39 | |||
| numNetworkReqs | 12 | 5 | 64 | 16 | 7 | 63 | |||
| Webpack | Power User Home | uiStartup | 2926 | 2081 | 8290 | 889 | 2945 | 4812 | |
| load | 1521 | 1166 | 6537 | 657 | 1538 | 2671 | |||
| domContentLoaded | 1520 | 1166 | 6537 | 657 | 1538 | 2670 | |||
| domInteractive | 129 | 31 | 1034 | 168 | 109 | 359 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 166 | 30 | 1521 | 227 | 139 | 575 | |||
| firstReactRender | 60 | 41 | 203 | 25 | 61 | 96 | |||
| getState | 271 | 34 | 1162 | 243 | 266 | 818 | |||
| initialActions | 2 | 0 | 7 | 1 | 2 | 6 | |||
| loadScripts | 1449 | 1119 | 6439 | 607 | 1500 | 2511 | |||
| setupStore | 171 | 7 | 985 | 224 | 268 | 674 | |||
| numNetworkReqs | 83 | 55 | 242 | 30 | 79 | 150 |
📊 Page Load Benchmark Results
Current Commit: 94420da | Date: 12/10/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.08s (±69ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
- domContentLoaded-> current mean value: 758ms (±65ms) 🟢 | historical mean value: 718ms ⬆️ (historical data)
- firstContentfulPaint-> current mean value: 80ms (±11ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.08s | 69ms | 1.03s | 1.42s | 1.30s | 1.42s |
| domContentLoaded | 758ms | 65ms | 716ms | 1.06s | 977ms | 1.06s |
| firstPaint | 80ms | 11ms | 72ms | 184ms | 88ms | 184ms |
| firstContentfulPaint | 80ms | 11ms | 72ms | 184ms | 88ms | 184ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Builds ready [95774ef]
- builds: chrome, firefox
- builds (beta): chrome, firefox
- builds (flask): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- bundle size: Bundle Size Stats
- user-actions-benchmark: User Actions Stats
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
UI Startup Metrics (1289 ± 107 ms)
| Platform | BuildType | Page | Metric | Mean (ms) | Min (ms) | Max (ms) | Std Dev (ms) | P 75 (ms) | P 95 (ms) |
|---|---|---|---|---|---|---|---|---|---|
| Chrome | Browserify | Standard Home | uiStartup | 1289 | 1024 | 1543 | 107 | 1361 | 1466 |
| load | 1049 | 866 | 1243 | 87 | 1107 | 1190 | |||
| domContentLoaded | 1043 | 863 | 1235 | 87 | 1102 | 1183 | |||
| domInteractive | 26 | 16 | 108 | 20 | 22 | 78 | |||
| firstPaint | 478 | 82 | 1217 | 388 | 1034 | 1132 | |||
| backgroundConnect | 220 | 194 | 294 | 14 | 228 | 244 | |||
| firstReactRender | 44 | 32 | 89 | 12 | 46 | 72 | |||
| getState | 37 | 17 | 130 | 16 | 42 | 68 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 830 | 670 | 1003 | 81 | 885 | 972 | |||
| setupStore | 11 | 6 | 36 | 4 | 12 | 19 | |||
| numNetworkReqs | 13 | 6 | 83 | 19 | 6 | 70 | |||
| Browserify | Power User Home | uiStartup | 1897 | 1589 | 2292 | 143 | 1985 | 2141 | |
| load | 1072 | 872 | 1376 | 131 | 1186 | 1281 | |||
| domContentLoaded | 1062 | 867 | 1370 | 131 | 1179 | 1271 | |||
| domInteractive | 30 | 17 | 139 | 25 | 25 | 92 | |||
| firstPaint | 568 | 105 | 1346 | 410 | 982 | 1243 | |||
| backgroundConnect | 262 | 197 | 645 | 115 | 231 | 582 | |||
| firstReactRender | 46 | 37 | 61 | 4 | 47 | 54 | |||
| getState | 195 | 145 | 692 | 78 | 201 | 290 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 853 | 674 | 1165 | 130 | 965 | 1066 | |||
| setupStore | 15 | 7 | 47 | 7 | 14 | 36 | |||
| numNetworkReqs | 71 | 57 | 142 | 19 | 70 | 129 | |||
| Webpack | Standard Home | uiStartup | 848 | 700 | 1159 | 81 | 892 | 971 | |
| load | 680 | 591 | 945 | 73 | 732 | 812 | |||
| domContentLoaded | 675 | 586 | 936 | 72 | 727 | 806 | |||
| domInteractive | 28 | 16 | 100 | 21 | 23 | 91 | |||
| firstPaint | 241 | 101 | 769 | 164 | 230 | 719 | |||
| backgroundConnect | 13 | 6 | 93 | 11 | 14 | 32 | |||
| firstReactRender | 57 | 33 | 197 | 36 | 64 | 151 | |||
| getState | 31 | 15 | 101 | 14 | 39 | 53 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 672 | 584 | 926 | 71 | 724 | 797 | |||
| setupStore | 12 | 7 | 41 | 6 | 13 | 24 | |||
| numNetworkReqs | 13 | 6 | 78 | 19 | 6 | 70 | |||
| Webpack | Power User Home | uiStartup | 1481 | 1120 | 2059 | 221 | 1666 | 1894 | |
| load | 763 | 601 | 1135 | 116 | 890 | 950 | |||
| domContentLoaded | 755 | 594 | 1124 | 116 | 881 | 945 | |||
| domInteractive | 33 | 18 | 136 | 28 | 27 | 115 | |||
| firstPaint | 335 | 89 | 1140 | 253 | 450 | 890 | |||
| backgroundConnect | 74 | 8 | 754 | 157 | 63 | 613 | |||
| firstReactRender | 53 | 44 | 116 | 8 | 54 | 67 | |||
| getState | 207 | 151 | 694 | 82 | 203 | 334 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 751 | 592 | 1112 | 114 | 878 | 937 | |||
| setupStore | 16 | 7 | 58 | 9 | 14 | 39 | |||
| numNetworkReqs | 71 | 57 | 144 | 22 | 67 | 136 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1354 | 1098 | 2274 | 217 | 1441 | 1794 |
| load | 1085 | 917 | 1501 | 118 | 1145 | 1300 | |||
| domContentLoaded | 1085 | 911 | 1501 | 119 | 1145 | 1300 | |||
| domInteractive | 64 | 32 | 169 | 35 | 87 | 135 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 54 | 22 | 212 | 46 | 54 | 187 | |||
| firstReactRender | 39 | 32 | 107 | 11 | 38 | 66 | |||
| getState | 15 | 7 | 160 | 22 | 11 | 39 | |||
| initialActions | 1 | 0 | 2 | 1 | 2 | 2 | |||
| loadScripts | 1057 | 900 | 1399 | 104 | 1117 | 1243 | |||
| setupStore | 17 | 6 | 160 | 25 | 12 | 63 | |||
| numNetworkReqs | 15 | 6 | 83 | 21 | 8 | 78 | |||
| Browserify | Power User Home | uiStartup | 2580 | 1603 | 3501 | 506 | 2998 | 3302 | |
| load | 1553 | 969 | 2493 | 472 | 1971 | 2315 | |||
| domContentLoaded | 1553 | 968 | 2493 | 472 | 1971 | 2315 | |||
| domInteractive | 131 | 31 | 987 | 222 | 82 | 939 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 220 | 26 | 1123 | 283 | 194 | 1069 | |||
| firstReactRender | 53 | 36 | 173 | 16 | 57 | 75 | |||
| getState | 148 | 70 | 1361 | 130 | 168 | 232 | |||
| initialActions | 3 | 1 | 49 | 6 | 2 | 7 | |||
| loadScripts | 1453 | 949 | 2322 | 429 | 1850 | 2228 | |||
| setupStore | 45 | 4 | 293 | 65 | 51 | 241 | |||
| numNetworkReqs | 74 | 58 | 136 | 21 | 89 | 124 | |||
| Webpack | Standard Home | uiStartup | 1503 | 1242 | 1969 | 149 | 1561 | 1855 | |
| load | 1246 | 1065 | 1512 | 92 | 1292 | 1431 | |||
| domContentLoaded | 1245 | 1065 | 1512 | 92 | 1291 | 1430 | |||
| domInteractive | 72 | 28 | 171 | 35 | 95 | 130 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 49 | 18 | 159 | 29 | 56 | 107 | |||
| firstReactRender | 41 | 32 | 90 | 9 | 45 | 53 | |||
| getState | 16 | 6 | 157 | 23 | 14 | 47 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1218 | 1051 | 1453 | 86 | 1265 | 1412 | |||
| setupStore | 17 | 5 | 207 | 25 | 12 | 72 | |||
| numNetworkReqs | 15 | 6 | 83 | 21 | 8 | 75 | |||
| Webpack | Power User Home | uiStartup | 2773 | 1850 | 3751 | 521 | 3209 | 3562 | |
| load | 1909 | 1197 | 2849 | 502 | 2349 | 2624 | |||
| domContentLoaded | 1908 | 1197 | 2849 | 502 | 2348 | 2623 | |||
| domInteractive | 221 | 31 | 1038 | 319 | 156 | 972 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 168 | 27 | 1136 | 208 | 201 | 933 | |||
| firstReactRender | 58 | 38 | 109 | 13 | 63 | 90 | |||
| getState | 146 | 75 | 1059 | 130 | 162 | 246 | |||
| initialActions | 3 | 0 | 71 | 9 | 2 | 6 | |||
| loadScripts | 1819 | 1179 | 2823 | 470 | 2255 | 2546 | |||
| setupStore | 31 | 4 | 350 | 53 | 28 | 82 | |||
| numNetworkReqs | 74 | 50 | 139 | 22 | 77 | 126 |
📊 Page Load Benchmark Results
Current Commit: 95774ef | Date: 12/11/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.03s (±42ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
- domContentLoaded-> current mean value: 716ms (±40ms) 🟢 | historical mean value: 724ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 76ms (±13ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.03s | 42ms | 1.00s | 1.36s | 1.05s | 1.36s |
| domContentLoaded | 716ms | 40ms | 695ms | 1.04s | 739ms | 1.04s |
| firstPaint | 76ms | 13ms | 60ms | 188ms | 88ms | 188ms |
| firstContentfulPaint | 76ms | 13ms | 60ms | 188ms | 88ms | 188ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 58 Bytes (0%)
- ui: 0 Bytes (0%)
- common: 166 Bytes (0%)
Builds ready [e1347ab]
- builds: chrome, firefox
- builds (beta): chrome, firefox
- builds (flask): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- bundle size: Bundle Size Stats
- user-actions-benchmark: User Actions Stats
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
UI Startup Metrics (1279 ± 118 ms)
| Platform | BuildType | Page | Metric | Mean (ms) | Min (ms) | Max (ms) | Std Dev (ms) | P 75 (ms) | P 95 (ms) |
|---|---|---|---|---|---|---|---|---|---|
| Chrome | Browserify | Standard Home | uiStartup | 1279 | 1053 | 1671 | 118 | 1349 | 1480 |
| load | 1048 | 865 | 1336 | 98 | 1107 | 1213 | |||
| domContentLoaded | 1041 | 860 | 1329 | 97 | 1096 | 1203 | |||
| domInteractive | 26 | 16 | 97 | 18 | 22 | 77 | |||
| firstPaint | 539 | 82 | 1350 | 421 | 1051 | 1161 | |||
| backgroundConnect | 215 | 195 | 260 | 13 | 221 | 241 | |||
| firstReactRender | 50 | 31 | 243 | 23 | 57 | 80 | |||
| getState | 38 | 16 | 128 | 19 | 45 | 62 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 3 | |||
| loadScripts | 834 | 660 | 1107 | 93 | 880 | 1000 | |||
| setupStore | 13 | 7 | 41 | 5 | 14 | 23 | |||
| numNetworkReqs | 13 | 6 | 79 | 19 | 6 | 68 | |||
| Browserify | Power User Home | uiStartup | 1994 | 1641 | 2702 | 190 | 2065 | 2348 | |
| load | 1132 | 902 | 1715 | 139 | 1219 | 1377 | |||
| domContentLoaded | 1122 | 893 | 1652 | 137 | 1211 | 1363 | |||
| domInteractive | 37 | 19 | 266 | 43 | 28 | 125 | |||
| firstPaint | 621 | 100 | 1450 | 429 | 1057 | 1251 | |||
| backgroundConnect | 239 | 203 | 574 | 61 | 233 | 364 | |||
| firstReactRender | 51 | 42 | 87 | 7 | 52 | 65 | |||
| getState | 224 | 150 | 763 | 121 | 221 | 709 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 905 | 694 | 1355 | 131 | 997 | 1144 | |||
| setupStore | 15 | 8 | 39 | 5 | 15 | 27 | |||
| numNetworkReqs | 70 | 56 | 139 | 19 | 67 | 129 | |||
| Webpack | Standard Home | uiStartup | 856 | 697 | 1163 | 92 | 920 | 994 | |
| load | 685 | 583 | 999 | 86 | 742 | 855 | |||
| domContentLoaded | 679 | 577 | 992 | 86 | 736 | 848 | |||
| domInteractive | 28 | 17 | 125 | 21 | 24 | 88 | |||
| firstPaint | 257 | 108 | 872 | 181 | 245 | 700 | |||
| backgroundConnect | 12 | 6 | 59 | 7 | 13 | 29 | |||
| firstReactRender | 58 | 35 | 304 | 42 | 53 | 143 | |||
| getState | 29 | 15 | 62 | 12 | 38 | 51 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 2 | |||
| loadScripts | 676 | 574 | 989 | 85 | 734 | 842 | |||
| setupStore | 11 | 7 | 35 | 5 | 13 | 22 | |||
| numNetworkReqs | 13 | 6 | 79 | 19 | 6 | 70 | |||
| Webpack | Power User Home | uiStartup | 1410 | 1110 | 1831 | 184 | 1539 | 1793 | |
| load | 714 | 592 | 969 | 95 | 742 | 920 | |||
| domContentLoaded | 708 | 585 | 959 | 94 | 737 | 905 | |||
| domInteractive | 29 | 17 | 113 | 22 | 25 | 95 | |||
| firstPaint | 292 | 91 | 898 | 222 | 283 | 838 | |||
| backgroundConnect | 78 | 8 | 622 | 135 | 97 | 550 | |||
| firstReactRender | 50 | 41 | 66 | 5 | 53 | 60 | |||
| getState | 181 | 84 | 719 | 63 | 182 | 260 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 705 | 583 | 956 | 94 | 735 | 902 | |||
| setupStore | 16 | 8 | 38 | 9 | 14 | 38 | |||
| numNetworkReqs | 69 | 57 | 141 | 20 | 66 | 126 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1331 | 1088 | 1957 | 177 | 1419 | 1702 |
| load | 1064 | 908 | 1533 | 109 | 1127 | 1251 | |||
| domContentLoaded | 1064 | 903 | 1533 | 109 | 1127 | 1250 | |||
| domInteractive | 66 | 31 | 160 | 35 | 86 | 135 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 53 | 20 | 272 | 45 | 60 | 153 | |||
| firstReactRender | 39 | 31 | 69 | 8 | 39 | 56 | |||
| getState | 15 | 7 | 220 | 24 | 12 | 31 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 1035 | 892 | 1508 | 99 | 1085 | 1174 | |||
| setupStore | 14 | 5 | 227 | 23 | 11 | 40 | |||
| numNetworkReqs | 15 | 6 | 86 | 22 | 8 | 78 | |||
| Browserify | Power User Home | uiStartup | 2606 | 1607 | 4091 | 548 | 3002 | 3313 | |
| load | 1579 | 986 | 3174 | 507 | 2075 | 2332 | |||
| domContentLoaded | 1578 | 986 | 3173 | 507 | 2075 | 2332 | |||
| domInteractive | 171 | 32 | 1885 | 306 | 101 | 991 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 228 | 21 | 1160 | 287 | 231 | 1039 | |||
| firstReactRender | 57 | 37 | 177 | 18 | 61 | 89 | |||
| getState | 136 | 71 | 350 | 48 | 159 | 231 | |||
| initialActions | 2 | 0 | 52 | 5 | 2 | 3 | |||
| loadScripts | 1494 | 967 | 3155 | 478 | 1916 | 2294 | |||
| setupStore | 30 | 5 | 327 | 46 | 26 | 107 | |||
| numNetworkReqs | 74 | 54 | 135 | 21 | 81 | 119 | |||
| Webpack | Standard Home | uiStartup | 1577 | 1349 | 2038 | 150 | 1659 | 1855 | |
| load | 1283 | 1113 | 1555 | 92 | 1322 | 1504 | |||
| domContentLoaded | 1283 | 1113 | 1555 | 92 | 1322 | 1504 | |||
| domInteractive | 76 | 28 | 176 | 34 | 91 | 131 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 57 | 22 | 191 | 35 | 72 | 131 | |||
| firstReactRender | 44 | 33 | 159 | 15 | 45 | 56 | |||
| getState | 19 | 7 | 196 | 27 | 15 | 61 | |||
| initialActions | 1 | 0 | 3 | 0 | 1 | 2 | |||
| loadScripts | 1255 | 1099 | 1531 | 88 | 1298 | 1415 | |||
| setupStore | 20 | 5 | 210 | 29 | 16 | 69 | |||
| numNetworkReqs | 15 | 6 | 83 | 21 | 8 | 75 | |||
| Webpack | Power User Home | uiStartup | 2623 | 1809 | 3801 | 519 | 3053 | 3402 | |
| load | 1822 | 1193 | 2690 | 475 | 2263 | 2534 | |||
| domContentLoaded | 1822 | 1192 | 2690 | 475 | 2263 | 2534 | |||
| domInteractive | 226 | 30 | 1042 | 335 | 286 | 964 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 155 | 26 | 1110 | 190 | 197 | 452 | |||
| firstReactRender | 57 | 39 | 185 | 19 | 59 | 94 | |||
| getState | 132 | 77 | 275 | 47 | 169 | 237 | |||
| initialActions | 2 | 1 | 8 | 1 | 2 | 3 | |||
| loadScripts | 1747 | 1170 | 2517 | 445 | 2202 | 2429 | |||
| setupStore | 33 | 5 | 355 | 57 | 26 | 108 | |||
| numNetworkReqs | 75 | 56 | 134 | 23 | 83 | 129 |
📊 Page Load Benchmark Results
Current Commit: e1347ab | Date: 12/12/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.04s (±141ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
- domContentLoaded-> current mean value: 733ms (±167ms) 🟢 | historical mean value: 727ms ⬆️ (historical data)
- firstContentfulPaint-> current mean value: 91ms (±151ms) 🟢 | historical mean value: 82ms ⬆️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.04s | 141ms | 1.01s | 2.42s | 1.07s | 2.42s |
| domContentLoaded | 733ms | 167ms | 697ms | 2.37s | 744ms | 2.37s |
| firstPaint | 91ms | 151ms | 60ms | 1.59s | 88ms | 1.59s |
| firstContentfulPaint | 91ms | 151ms | 60ms | 1.59s | 88ms | 1.59s |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚀 Bundle size reduced!]
- background: -189 Bytes (0%)
- ui: 2.03 KiB (0.03%)
- common: -1005 Bytes (-0.01%)
Builds ready [c457420]
- builds: chrome, firefox
- builds (beta): chrome, firefox
- builds (flask): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- bundle size: Bundle Size Stats
- user-actions-benchmark: User Actions Stats
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
UI Startup Metrics (1277 ± 114 ms)
| Platform | BuildType | Page | Metric | Mean (ms) | Min (ms) | Max (ms) | Std Dev (ms) | P 75 (ms) | P 95 (ms) |
|---|---|---|---|---|---|---|---|---|---|
| Chrome | Browserify | Standard Home | uiStartup | 1277 | 1010 | 1629 | 114 | 1329 | 1450 |
| load | 1059 | 856 | 1316 | 100 | 1113 | 1220 | |||
| domContentLoaded | 1052 | 852 | 1301 | 99 | 1106 | 1215 | |||
| domInteractive | 26 | 15 | 99 | 19 | 22 | 80 | |||
| firstPaint | 560 | 89 | 1338 | 440 | 1064 | 1197 | |||
| backgroundConnect | 209 | 192 | 239 | 10 | 213 | 235 | |||
| firstReactRender | 46 | 33 | 82 | 12 | 48 | 76 | |||
| getState | 38 | 17 | 97 | 14 | 44 | 71 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 850 | 655 | 1094 | 100 | 905 | 1015 | |||
| setupStore | 11 | 6 | 23 | 3 | 12 | 21 | |||
| numNetworkReqs | 17 | 11 | 76 | 17 | 11 | 68 | |||
| Browserify | Power User Home | uiStartup | 1924 | 1598 | 2299 | 143 | 2026 | 2175 | |
| load | 1109 | 908 | 1507 | 123 | 1200 | 1306 | |||
| domContentLoaded | 1098 | 902 | 1487 | 123 | 1187 | 1295 | |||
| domInteractive | 31 | 16 | 122 | 24 | 28 | 105 | |||
| firstPaint | 593 | 101 | 1507 | 437 | 1085 | 1284 | |||
| backgroundConnect | 249 | 203 | 679 | 83 | 240 | 526 | |||
| firstReactRender | 51 | 42 | 104 | 9 | 53 | 65 | |||
| getState | 199 | 154 | 735 | 62 | 211 | 266 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 881 | 703 | 1266 | 120 | 969 | 1080 | |||
| setupStore | 15 | 7 | 45 | 7 | 15 | 33 | |||
| numNetworkReqs | 67 | 55 | 136 | 19 | 64 | 124 | |||
| Webpack | Standard Home | uiStartup | 855 | 678 | 1195 | 92 | 922 | 1032 | |
| load | 668 | 567 | 899 | 83 | 732 | 821 | |||
| domContentLoaded | 662 | 562 | 892 | 83 | 728 | 816 | |||
| domInteractive | 25 | 16 | 114 | 20 | 22 | 87 | |||
| firstPaint | 229 | 84 | 790 | 163 | 220 | 675 | |||
| backgroundConnect | 24 | 6 | 160 | 28 | 29 | 86 | |||
| firstReactRender | 60 | 35 | 213 | 39 | 52 | 165 | |||
| getState | 32 | 15 | 137 | 18 | 41 | 57 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 659 | 560 | 888 | 82 | 725 | 814 | |||
| setupStore | 11 | 6 | 36 | 6 | 11 | 25 | |||
| numNetworkReqs | 18 | 11 | 86 | 19 | 11 | 75 | |||
| Webpack | Power User Home | uiStartup | 1393 | 1073 | 1906 | 193 | 1525 | 1741 | |
| load | 713 | 589 | 992 | 95 | 750 | 891 | |||
| domContentLoaded | 706 | 579 | 985 | 95 | 744 | 886 | |||
| domInteractive | 30 | 17 | 136 | 25 | 24 | 100 | |||
| firstPaint | 292 | 103 | 877 | 220 | 339 | 819 | |||
| backgroundConnect | 85 | 7 | 640 | 158 | 77 | 577 | |||
| firstReactRender | 50 | 41 | 76 | 5 | 51 | 59 | |||
| getState | 186 | 142 | 702 | 77 | 186 | 267 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 703 | 577 | 982 | 94 | 741 | 880 | |||
| setupStore | 15 | 7 | 49 | 8 | 14 | 36 | |||
| numNetworkReqs | 68 | 53 | 211 | 24 | 63 | 126 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1469 | 1113 | 2030 | 167 | 1549 | 1844 |
| load | 1140 | 917 | 1703 | 129 | 1207 | 1376 | |||
| domContentLoaded | 1139 | 912 | 1703 | 129 | 1206 | 1376 | |||
| domInteractive | 78 | 31 | 238 | 37 | 98 | 136 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 67 | 22 | 305 | 51 | 104 | 158 | |||
| firstReactRender | 41 | 32 | 77 | 8 | 42 | 64 | |||
| getState | 14 | 6 | 212 | 21 | 13 | 34 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1103 | 901 | 1630 | 111 | 1158 | 1305 | |||
| setupStore | 14 | 5 | 139 | 17 | 11 | 36 | |||
| numNetworkReqs | 19 | 9 | 87 | 19 | 14 | 73 | |||
| Browserify | Power User Home | uiStartup | 2631 | 1713 | 3675 | 588 | 3184 | 3443 | |
| load | 1608 | 977 | 2507 | 520 | 2113 | 2399 | |||
| domContentLoaded | 1608 | 977 | 2507 | 520 | 2113 | 2399 | |||
| domInteractive | 216 | 34 | 998 | 320 | 252 | 967 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 170 | 27 | 992 | 172 | 211 | 413 | |||
| firstReactRender | 56 | 39 | 185 | 16 | 61 | 75 | |||
| getState | 144 | 73 | 314 | 51 | 173 | 243 | |||
| initialActions | 3 | 0 | 37 | 7 | 3 | 8 | |||
| loadScripts | 1547 | 959 | 2397 | 499 | 2047 | 2336 | |||
| setupStore | 67 | 5 | 1102 | 131 | 81 | 284 | |||
| numNetworkReqs | 71 | 43 | 139 | 24 | 65 | 134 | |||
| Webpack | Standard Home | uiStartup | 1716 | 1362 | 3204 | 260 | 1784 | 2156 | |
| load | 1388 | 1111 | 2867 | 206 | 1432 | 1573 | |||
| domContentLoaded | 1388 | 1111 | 2867 | 206 | 1432 | 1573 | |||
| domInteractive | 85 | 30 | 233 | 47 | 120 | 182 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 72 | 23 | 369 | 56 | 98 | 186 | |||
| firstReactRender | 45 | 36 | 99 | 9 | 46 | 57 | |||
| getState | 20 | 7 | 178 | 27 | 17 | 77 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1353 | 1095 | 2838 | 202 | 1395 | 1514 | |||
| setupStore | 19 | 6 | 165 | 25 | 16 | 58 | |||
| numNetworkReqs | 19 | 9 | 82 | 18 | 13 | 73 | |||
| Webpack | Power User Home | uiStartup | 2656 | 1789 | 3725 | 482 | 3024 | 3354 | |
| load | 1901 | 1211 | 2514 | 453 | 2290 | 2470 | |||
| domContentLoaded | 1900 | 1211 | 2514 | 453 | 2289 | 2470 | |||
| domInteractive | 260 | 28 | 1073 | 366 | 211 | 992 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 149 | 25 | 1027 | 184 | 175 | 495 | |||
| firstReactRender | 54 | 36 | 137 | 13 | 58 | 68 | |||
| getState | 124 | 72 | 279 | 42 | 149 | 214 | |||
| initialActions | 2 | 0 | 7 | 1 | 2 | 3 | |||
| loadScripts | 1814 | 1176 | 2475 | 446 | 2242 | 2423 | |||
| setupStore | 33 | 4 | 275 | 50 | 32 | 169 | |||
| numNetworkReqs | 68 | 43 | 126 | 20 | 76 | 113 |
📊 Page Load Benchmark Results
Current Commit: c457420 | Date: 12/15/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.03s (±46ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
- domContentLoaded-> current mean value: 719ms (±42ms) 🟢 | historical mean value: 732ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 76ms (±14ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.03s | 46ms | 1.01s | 1.42s | 1.07s | 1.42s |
| domContentLoaded | 719ms | 42ms | 699ms | 1.07s | 747ms | 1.07s |
| firstPaint | 76ms | 14ms | 60ms | 200ms | 84ms | 200ms |
| firstContentfulPaint | 76ms | 14ms | 60ms | 200ms | 84ms | 200ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 58 Bytes (0%)
- ui: 0 Bytes (0%)
- common: 242 Bytes (0%)
Builds ready [8451f07]
- builds: chrome, firefox
- builds (beta): chrome, firefox
- builds (flask): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- bundle size: Bundle Size Stats
- user-actions-benchmark: User Actions Stats
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
UI Startup Metrics (1274 ± 106 ms)
| Platform | BuildType | Page | Metric | Mean (ms) | Min (ms) | Max (ms) | Std Dev (ms) | P 75 (ms) | P 95 (ms) |
|---|---|---|---|---|---|---|---|---|---|
| Chrome | Browserify | Standard Home | uiStartup | 1274 | 1032 | 1647 | 106 | 1331 | 1454 |
| load | 1064 | 875 | 1368 | 96 | 1121 | 1203 | |||
| domContentLoaded | 1057 | 869 | 1360 | 95 | 1114 | 1196 | |||
| domInteractive | 26 | 15 | 104 | 21 | 21 | 85 | |||
| firstPaint | 558 | 75 | 1402 | 425 | 1053 | 1195 | |||
| backgroundConnect | 213 | 193 | 250 | 11 | 218 | 238 | |||
| firstReactRender | 15 | 9 | 37 | 5 | 16 | 27 | |||
| getState | 40 | 18 | 136 | 17 | 46 | 68 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 851 | 671 | 1131 | 94 | 909 | 993 | |||
| setupStore | 13 | 7 | 28 | 4 | 14 | 20 | |||
| numNetworkReqs | 18 | 11 | 80 | 17 | 11 | 67 | |||
| Browserify | Power User Home | uiStartup | 1798 | 1448 | 2406 | 165 | 1888 | 2092 | |
| load | 1062 | 877 | 1340 | 118 | 1147 | 1290 | |||
| domContentLoaded | 1052 | 871 | 1334 | 117 | 1131 | 1283 | |||
| domInteractive | 30 | 17 | 153 | 22 | 27 | 95 | |||
| firstPaint | 410 | 92 | 1332 | 366 | 341 | 1225 | |||
| backgroundConnect | 254 | 197 | 622 | 97 | 241 | 571 | |||
| firstReactRender | 14 | 11 | 22 | 2 | 15 | 18 | |||
| getState | 190 | 145 | 320 | 31 | 207 | 240 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 839 | 678 | 1129 | 115 | 907 | 1070 | |||
| setupStore | 16 | 7 | 43 | 8 | 15 | 37 | |||
| numNetworkReqs | 66 | 52 | 195 | 21 | 62 | 125 | |||
| Webpack | Standard Home | uiStartup | 792 | 646 | 1224 | 85 | 833 | 982 | |
| load | 642 | 576 | 941 | 66 | 676 | 778 | |||
| domContentLoaded | 637 | 570 | 934 | 66 | 671 | 773 | |||
| domInteractive | 26 | 16 | 104 | 19 | 23 | 83 | |||
| firstPaint | 228 | 88 | 692 | 146 | 209 | 603 | |||
| backgroundConnect | 27 | 6 | 142 | 29 | 37 | 92 | |||
| firstReactRender | 15 | 11 | 27 | 4 | 17 | 25 | |||
| getState | 32 | 13 | 145 | 19 | 39 | 62 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 633 | 568 | 923 | 64 | 668 | 765 | |||
| setupStore | 13 | 5 | 42 | 8 | 16 | 35 | |||
| numNetworkReqs | 18 | 11 | 79 | 18 | 11 | 71 | |||
| Webpack | Power User Home | uiStartup | 1183 | 925 | 2061 | 180 | 1265 | 1553 | |
| load | 671 | 561 | 1275 | 93 | 679 | 838 | |||
| domContentLoaded | 665 | 555 | 1265 | 93 | 673 | 829 | |||
| domInteractive | 28 | 15 | 123 | 23 | 25 | 95 | |||
| firstPaint | 335 | 81 | 869 | 235 | 623 | 809 | |||
| backgroundConnect | 69 | 5 | 527 | 107 | 84 | 368 | |||
| firstReactRender | 15 | 12 | 23 | 2 | 16 | 19 | |||
| getState | 163 | 121 | 271 | 21 | 170 | 207 | |||
| initialActions | 1 | 0 | 3 | 0 | 1 | 1 | |||
| loadScripts | 662 | 553 | 1256 | 92 | 671 | 827 | |||
| setupStore | 12 | 8 | 35 | 5 | 12 | 31 | |||
| numNetworkReqs | 65 | 51 | 215 | 24 | 61 | 126 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1366 | 1061 | 2126 | 194 | 1453 | 1697 |
| load | 1092 | 909 | 1638 | 117 | 1142 | 1306 | |||
| domContentLoaded | 1091 | 909 | 1637 | 118 | 1142 | 1305 | |||
| domInteractive | 68 | 31 | 234 | 44 | 87 | 166 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 62 | 19 | 851 | 94 | 56 | 171 | |||
| firstReactRender | 13 | 9 | 43 | 5 | 13 | 22 | |||
| getState | 14 | 6 | 133 | 19 | 11 | 38 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1059 | 893 | 1493 | 102 | 1115 | 1244 | |||
| setupStore | 16 | 5 | 200 | 24 | 12 | 51 | |||
| numNetworkReqs | 19 | 9 | 79 | 19 | 13 | 75 | |||
| Browserify | Power User Home | uiStartup | 2627 | 1541 | 3591 | 572 | 3109 | 3355 | |
| load | 1762 | 978 | 2693 | 566 | 2275 | 2581 | |||
| domContentLoaded | 1762 | 978 | 2693 | 566 | 2274 | 2581 | |||
| domInteractive | 111 | 31 | 1005 | 153 | 94 | 381 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 426 | 25 | 1288 | 425 | 1042 | 1149 | |||
| firstReactRender | 22 | 12 | 163 | 15 | 24 | 28 | |||
| getState | 130 | 64 | 1281 | 119 | 143 | 184 | |||
| initialActions | 3 | 0 | 43 | 4 | 2 | 7 | |||
| loadScripts | 1424 | 960 | 2527 | 437 | 1480 | 2307 | |||
| setupStore | 59 | 5 | 1048 | 164 | 39 | 217 | |||
| numNetworkReqs | 69 | 49 | 134 | 21 | 87 | 109 | |||
| Webpack | Standard Home | uiStartup | 1556 | 1310 | 2221 | 176 | 1656 | 1930 | |
| load | 1308 | 1093 | 1858 | 128 | 1401 | 1536 | |||
| domContentLoaded | 1307 | 1092 | 1858 | 129 | 1400 | 1536 | |||
| domInteractive | 73 | 26 | 199 | 40 | 97 | 141 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 68 | 17 | 229 | 53 | 96 | 190 | |||
| firstReactRender | 16 | 11 | 64 | 7 | 16 | 26 | |||
| getState | 14 | 5 | 170 | 19 | 14 | 26 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1266 | 1079 | 1748 | 114 | 1325 | 1484 | |||
| setupStore | 20 | 5 | 204 | 33 | 16 | 71 | |||
| numNetworkReqs | 19 | 9 | 95 | 20 | 13 | 73 | |||
| Webpack | Power User Home | uiStartup | 2508 | 1600 | 3516 | 505 | 2947 | 3154 | |
| load | 1874 | 1104 | 2885 | 490 | 2330 | 2468 | |||
| domContentLoaded | 1873 | 1103 | 2885 | 490 | 2328 | 2468 | |||
| domInteractive | 77 | 31 | 980 | 104 | 88 | 183 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 228 | 25 | 1145 | 261 | 272 | 998 | |||
| firstReactRender | 20 | 13 | 44 | 6 | 22 | 30 | |||
| getState | 102 | 68 | 402 | 43 | 121 | 152 | |||
| initialActions | 3 | 1 | 36 | 4 | 2 | 7 | |||
| loadScripts | 1702 | 1080 | 2682 | 421 | 2093 | 2294 | |||
| setupStore | 25 | 5 | 209 | 33 | 26 | 91 | |||
| numNetworkReqs | 65 | 42 | 123 | 22 | 84 | 111 |
📊 Page Load Benchmark Results
Current Commit: 8451f07 | Date: 12/16/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.05s (±40ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
- domContentLoaded-> current mean value: 732ms (±37ms) 🟢 | historical mean value: 721ms ⬆️ (historical data)
- firstContentfulPaint-> current mean value: 77ms (±10ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.05s | 40ms | 1.02s | 1.33s | 1.09s | 1.33s |
| domContentLoaded | 732ms | 37ms | 710ms | 1.00s | 762ms | 1.00s |
| firstPaint | 77ms | 10ms | 60ms | 168ms | 84ms | 168ms |
| firstContentfulPaint | 77ms | 10ms | 60ms | 168ms | 84ms | 168ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚀 Bundle size reduced!]
- background: -19.93 KiB (-0.39%)
- ui: 5.69 KiB (0.07%)
- common: 3.63 KiB (0.04%)
Builds ready [dea4a0d]
- builds: chrome, firefox
- builds (beta): chrome, firefox
- builds (flask): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- bundle size: Bundle Size Stats
- user-actions-benchmark: User Actions Stats
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
UI Startup Metrics (1298 ± 104 ms)
| Platform | BuildType | Page | Metric | Mean (ms) | Min (ms) | Max (ms) | Std Dev (ms) | P 75 (ms) | P 95 (ms) |
|---|---|---|---|---|---|---|---|---|---|
| Chrome | Browserify | Standard Home | uiStartup | 1298 | 1010 | 1538 | 104 | 1353 | 1478 |
| load | 1091 | 856 | 1341 | 101 | 1141 | 1268 | |||
| domContentLoaded | 1084 | 851 | 1331 | 100 | 1137 | 1262 | |||
| domInteractive | 25 | 16 | 101 | 18 | 22 | 78 | |||
| firstPaint | 627 | 93 | 1325 | 448 | 1118 | 1216 | |||
| backgroundConnect | 218 | 196 | 282 | 13 | 225 | 237 | |||
| firstReactRender | 14 | 9 | 33 | 5 | 15 | 24 | |||
| getState | 37 | 14 | 68 | 11 | 42 | 64 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 2 | |||
| loadScripts | 873 | 652 | 1134 | 100 | 930 | 1044 | |||
| setupStore | 12 | 6 | 30 | 4 | 13 | 22 | |||
| numNetworkReqs | 17 | 11 | 78 | 15 | 11 | 63 | |||
| Browserify | Power User Home | uiStartup | 1764 | 1442 | 2467 | 181 | 1826 | 2135 | |
| load | 1047 | 877 | 1558 | 117 | 1101 | 1247 | |||
| domContentLoaded | 1037 | 874 | 1551 | 116 | 1089 | 1240 | |||
| domInteractive | 29 | 17 | 127 | 22 | 26 | 95 | |||
| firstPaint | 436 | 96 | 1370 | 355 | 587 | 1140 | |||
| backgroundConnect | 249 | 200 | 595 | 83 | 239 | 507 | |||
| firstReactRender | 14 | 9 | 29 | 3 | 15 | 21 | |||
| getState | 180 | 141 | 264 | 24 | 190 | 230 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 825 | 671 | 1311 | 113 | 878 | 1022 | |||
| setupStore | 16 | 7 | 44 | 9 | 17 | 40 | |||
| numNetworkReqs | 67 | 53 | 224 | 23 | 63 | 122 | |||
| Webpack | Standard Home | uiStartup | 808 | 662 | 1074 | 80 | 861 | 964 | |
| load | 647 | 580 | 834 | 66 | 658 | 797 | |||
| domContentLoaded | 642 | 575 | 829 | 65 | 653 | 792 | |||
| domInteractive | 26 | 16 | 96 | 19 | 22 | 85 | |||
| firstPaint | 248 | 86 | 788 | 180 | 220 | 755 | |||
| backgroundConnect | 27 | 6 | 128 | 29 | 38 | 94 | |||
| firstReactRender | 16 | 10 | 39 | 5 | 18 | 27 | |||
| getState | 36 | 15 | 141 | 22 | 43 | 81 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 639 | 572 | 819 | 64 | 650 | 783 | |||
| setupStore | 13 | 5 | 49 | 7 | 15 | 27 | |||
| numNetworkReqs | 17 | 11 | 76 | 17 | 11 | 70 | |||
| Webpack | Power User Home | uiStartup | 1233 | 949 | 1800 | 190 | 1308 | 1688 | |
| load | 712 | 584 | 1016 | 96 | 771 | 888 | |||
| domContentLoaded | 706 | 579 | 1011 | 95 | 766 | 881 | |||
| domInteractive | 30 | 18 | 144 | 25 | 25 | 98 | |||
| firstPaint | 286 | 89 | 903 | 222 | 294 | 833 | |||
| backgroundConnect | 57 | 7 | 575 | 100 | 66 | 256 | |||
| firstReactRender | 15 | 12 | 23 | 2 | 16 | 18 | |||
| getState | 163 | 139 | 755 | 62 | 162 | 200 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 1 | |||
| loadScripts | 703 | 577 | 1002 | 94 | 758 | 878 | |||
| setupStore | 14 | 9 | 55 | 8 | 13 | 34 | |||
| numNetworkReqs | 66 | 48 | 213 | 24 | 62 | 123 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1397 | 1067 | 1855 | 179 | 1494 | 1812 |
| load | 1108 | 910 | 1646 | 131 | 1185 | 1301 | |||
| domContentLoaded | 1108 | 910 | 1646 | 131 | 1185 | 1297 | |||
| domInteractive | 70 | 31 | 290 | 45 | 88 | 152 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 54 | 20 | 213 | 43 | 63 | 158 | |||
| firstReactRender | 13 | 10 | 34 | 4 | 13 | 19 | |||
| getState | 15 | 6 | 232 | 26 | 11 | 31 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1075 | 895 | 1620 | 124 | 1129 | 1285 | |||
| setupStore | 15 | 5 | 136 | 21 | 11 | 65 | |||
| numNetworkReqs | 20 | 9 | 85 | 19 | 13 | 75 | |||
| Browserify | Power User Home | uiStartup | 2658 | 1543 | 4360 | 658 | 3131 | 3593 | |
| load | 1745 | 993 | 2593 | 573 | 2310 | 2568 | |||
| domContentLoaded | 1744 | 992 | 2593 | 573 | 2310 | 2567 | |||
| domInteractive | 95 | 32 | 939 | 114 | 94 | 318 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 372 | 21 | 1404 | 404 | 432 | 1154 | |||
| firstReactRender | 19 | 12 | 63 | 6 | 21 | 27 | |||
| getState | 114 | 68 | 232 | 29 | 122 | 171 | |||
| initialActions | 4 | 1 | 65 | 9 | 2 | 7 | |||
| loadScripts | 1465 | 974 | 2409 | 481 | 2005 | 2363 | |||
| setupStore | 52 | 5 | 1028 | 141 | 41 | 200 | |||
| numNetworkReqs | 71 | 52 | 160 | 22 | 89 | 111 | |||
| Webpack | Standard Home | uiStartup | 1531 | 1212 | 2221 | 189 | 1609 | 1963 | |
| load | 1288 | 1109 | 1608 | 120 | 1356 | 1524 | |||
| domContentLoaded | 1288 | 1106 | 1608 | 120 | 1356 | 1524 | |||
| domInteractive | 73 | 28 | 216 | 38 | 88 | 141 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 59 | 19 | 238 | 44 | 78 | 150 | |||
| firstReactRender | 15 | 11 | 46 | 4 | 15 | 22 | |||
| getState | 17 | 5 | 194 | 25 | 14 | 46 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 1251 | 1089 | 1554 | 107 | 1304 | 1494 | |||
| setupStore | 14 | 4 | 166 | 19 | 12 | 37 | |||
| numNetworkReqs | 20 | 9 | 90 | 20 | 13 | 78 | |||
| Webpack | Power User Home | uiStartup | 2769 | 1645 | 5302 | 643 | 3185 | 3678 | |
| load | 2073 | 1159 | 4517 | 580 | 2467 | 2835 | |||
| domContentLoaded | 2073 | 1159 | 4517 | 580 | 2466 | 2835 | |||
| domInteractive | 116 | 28 | 3144 | 318 | 80 | 374 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 344 | 25 | 1438 | 374 | 373 | 1151 | |||
| firstReactRender | 19 | 13 | 29 | 4 | 21 | 27 | |||
| getState | 120 | 72 | 343 | 48 | 141 | 234 | |||
| initialActions | 3 | 1 | 77 | 8 | 2 | 7 | |||
| loadScripts | 1806 | 1138 | 4495 | 549 | 2237 | 2538 | |||
| setupStore | 37 | 5 | 1133 | 117 | 21 | 135 | |||
| numNetworkReqs | 71 | 52 | 136 | 22 | 81 | 120 |
📊 Page Load Benchmark Results
Current Commit: dea4a0d | Date: 12/16/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.03s (±39ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
- domContentLoaded-> current mean value: 716ms (±35ms) 🟢 | historical mean value: 722ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 74ms (±11ms) 🟢 | historical mean value: 77ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.03s | 39ms | 1.01s | 1.30s | 1.06s | 1.30s |
| domContentLoaded | 716ms | 35ms | 698ms | 978ms | 742ms | 978ms |
| firstPaint | 74ms | 11ms | 56ms | 160ms | 84ms | 160ms |
| firstContentfulPaint | 74ms | 11ms | 56ms | 160ms | 84ms | 160ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚀 Bundle size reduced!]
- background: -19.93 KiB (-0.39%)
- ui: 5.69 KiB (0.07%)
- common: 3.63 KiB (0.04%)