chore: INFRA-3187: Added workflow to auto-merge old release branches into ne…
…w one
Description
Adds a workflow and script to automatically merge all older release/X.Y.Z branches into a newly created release branch, favoring the destination on conflicts.
CI/CD: New workflow /.github/workflows/merge-previous-releases.yml: Triggers via workflow_call or workflow_dispatch with new-release-branch input. Checks out repo and metamask/github-tools, configures git user, and runs merge script. New script /.github/scripts/merge-previous-releases.sh: Parses release/X.Y.Z branches, filters/sorts older versions, and merges them into NEW_RELEASE_BRANCH. Uses -X ours to resolve conflicts favoring destination; skips already merged branches; pushes only if merges occurred. Logs actions and summarizes merged vs skipped branches.
Testing: https://github.com/consensys-test/metamask-mobile-test-workflow/pull/59
- Multiple branches, one already merged: https://github.com/consensys-test/metamask-mobile-test-workflow/actions/runs/20072233678
- Multiple branches, neither merged: https://github.com/consensys-test/metamask-mobile-test-workflow/actions/runs/20073029520
- Multiple branches, with merge conflicts: https://github.com/consensys-test/metamask-mobile-test-workflow/actions/runs/20073136324
Changelog
CHANGELOG entry: null
Related issues
Fixes:
Manual testing steps
- Go to this page...
Screenshots/Recordings
Before
After
Pre-merge author checklist
- [ ] I've followed MetaMask Contributor Docs and MetaMask Extension Coding Standards.
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using JSDoc format if applicable
- [ ] 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 GitHub Actions workflow that, upon creating a
release/X.Y.Zbranch, validates the name and auto-merges older release branches into it via a reusable action.
- CI/CD:
- New workflow
/.github/workflows/merge-previous-release-branches.ymltriggered on branch creation.
- Validates branch name matches
release/X.Y.Z.- If valid, runs
metamask/github-toolsaction to merge older release branches into the new one using provided token.Written by Cursor Bugbot for commit d8de752c5721275f5e4a1d29e499afa52443a7b7. 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 [b0393d6]
- 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 (1307 ± 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 | 1307 | 1067 | 1678 | 107 | 1375 | 1459 |
| load | 1066 | 886 | 1241 | 88 | 1138 | 1204 | |||
| domContentLoaded | 1059 | 877 | 1234 | 87 | 1134 | 1197 | |||
| domInteractive | 29 | 15 | 121 | 24 | 23 | 94 | |||
| firstPaint | 530 | 82 | 1251 | 423 | 1043 | 1195 | |||
| backgroundConnect | 225 | 203 | 274 | 13 | 232 | 250 | |||
| firstReactRender | 50 | 33 | 181 | 20 | 51 | 85 | |||
| getState | 43 | 17 | 126 | 20 | 53 | 78 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 3 | |||
| loadScripts | 841 | 667 | 1002 | 84 | 909 | 974 | |||
| setupStore | 13 | 6 | 28 | 5 | 14 | 24 | |||
| numNetworkReqs | 14 | 6 | 81 | 20 | 6 | 71 | |||
| Browserify | Power User Home | uiStartup | 1886 | 1527 | 2411 | 166 | 1968 | 2203 | |
| load | 1059 | 888 | 1320 | 116 | 1142 | 1277 | |||
| domContentLoaded | 1050 | 880 | 1307 | 116 | 1132 | 1263 | |||
| domInteractive | 29 | 17 | 129 | 21 | 25 | 85 | |||
| firstPaint | 528 | 104 | 1361 | 404 | 939 | 1264 | |||
| backgroundConnect | 250 | 195 | 619 | 99 | 228 | 573 | |||
| firstReactRender | 46 | 38 | 71 | 6 | 48 | 62 | |||
| getState | 190 | 144 | 769 | 64 | 203 | 234 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 841 | 676 | 1087 | 113 | 917 | 1056 | |||
| setupStore | 16 | 6 | 54 | 8 | 15 | 33 | |||
| numNetworkReqs | 71 | 53 | 201 | 21 | 68 | 128 | |||
| Webpack | Standard Home | uiStartup | 828 | 673 | 1575 | 114 | 867 | 1008 | |
| load | 658 | 574 | 851 | 75 | 709 | 818 | |||
| domContentLoaded | 652 | 570 | 846 | 75 | 698 | 810 | |||
| domInteractive | 26 | 15 | 144 | 22 | 21 | 82 | |||
| firstPaint | 209 | 73 | 817 | 137 | 217 | 592 | |||
| backgroundConnect | 12 | 6 | 82 | 12 | 12 | 29 | |||
| firstReactRender | 56 | 32 | 282 | 40 | 56 | 136 | |||
| getState | 29 | 14 | 89 | 12 | 37 | 49 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 1 | |||
| loadScripts | 649 | 566 | 842 | 74 | 696 | 803 | |||
| setupStore | 11 | 6 | 29 | 4 | 13 | 19 | |||
| numNetworkReqs | 14 | 6 | 75 | 19 | 6 | 71 | |||
| Webpack | Power User Home | uiStartup | 1352 | 1052 | 1840 | 186 | 1464 | 1710 | |
| load | 712 | 592 | 1019 | 98 | 780 | 921 | |||
| domContentLoaded | 706 | 586 | 1007 | 97 | 763 | 907 | |||
| domInteractive | 29 | 16 | 123 | 23 | 25 | 100 | |||
| firstPaint | 303 | 112 | 920 | 222 | 360 | 781 | |||
| backgroundConnect | 65 | 7 | 651 | 125 | 75 | 517 | |||
| firstReactRender | 48 | 38 | 67 | 5 | 50 | 60 | |||
| getState | 174 | 146 | 268 | 25 | 183 | 237 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 703 | 583 | 1005 | 96 | 759 | 904 | |||
| setupStore | 15 | 6 | 45 | 8 | 14 | 38 | |||
| numNetworkReqs | 69 | 23 | 152 | 20 | 68 | 126 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1404 | 1128 | 2508 | 235 | 1517 | 1824 |
| load | 1104 | 929 | 2303 | 154 | 1171 | 1267 | |||
| domContentLoaded | 1103 | 929 | 2303 | 154 | 1170 | 1266 | |||
| domInteractive | 77 | 32 | 1321 | 130 | 93 | 139 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 51 | 21 | 205 | 41 | 54 | 171 | |||
| firstReactRender | 40 | 30 | 72 | 9 | 42 | 60 | |||
| getState | 23 | 7 | 797 | 79 | 15 | 47 | |||
| initialActions | 1 | 0 | 2 | 1 | 2 | 2 | |||
| loadScripts | 1077 | 912 | 2285 | 151 | 1129 | 1223 | |||
| setupStore | 14 | 6 | 105 | 15 | 11 | 47 | |||
| numNetworkReqs | 16 | 6 | 83 | 22 | 7 | 77 | |||
| Browserify | Power User Home | uiStartup | 2620 | 1603 | 3847 | 552 | 3029 | 3429 | |
| load | 1652 | 967 | 2583 | 501 | 2067 | 2403 | |||
| domContentLoaded | 1652 | 967 | 2583 | 502 | 2067 | 2403 | |||
| domInteractive | 151 | 32 | 1001 | 249 | 93 | 956 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 184 | 25 | 1094 | 201 | 214 | 908 | |||
| firstReactRender | 56 | 34 | 107 | 14 | 60 | 96 | |||
| getState | 137 | 65 | 393 | 51 | 162 | 236 | |||
| initialActions | 3 | 0 | 40 | 7 | 2 | 8 | |||
| loadScripts | 1551 | 949 | 2509 | 458 | 1944 | 2344 | |||
| setupStore | 69 | 5 | 1048 | 159 | 58 | 346 | |||
| numNetworkReqs | 75 | 58 | 127 | 20 | 85 | 121 | |||
| Webpack | Standard Home | uiStartup | 1553 | 1309 | 2028 | 170 | 1622 | 1944 | |
| load | 1285 | 1111 | 1715 | 117 | 1360 | 1482 | |||
| domContentLoaded | 1285 | 1111 | 1714 | 117 | 1359 | 1482 | |||
| domInteractive | 67 | 27 | 157 | 34 | 85 | 129 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 59 | 17 | 206 | 40 | 69 | 144 | |||
| firstReactRender | 42 | 33 | 84 | 9 | 44 | 58 | |||
| getState | 15 | 5 | 152 | 20 | 14 | 39 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 1257 | 1073 | 1679 | 110 | 1331 | 1439 | |||
| setupStore | 20 | 5 | 194 | 30 | 12 | 92 | |||
| numNetworkReqs | 16 | 6 | 91 | 22 | 8 | 77 | |||
| Webpack | Power User Home | uiStartup | 2645 | 1717 | 3674 | 529 | 3090 | 3388 | |
| load | 1851 | 1158 | 2603 | 458 | 2258 | 2476 | |||
| domContentLoaded | 1850 | 1158 | 2603 | 458 | 2257 | 2476 | |||
| domInteractive | 187 | 29 | 992 | 289 | 155 | 958 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 151 | 26 | 1019 | 149 | 203 | 381 | |||
| firstReactRender | 53 | 35 | 100 | 11 | 59 | 69 | |||
| getState | 139 | 73 | 1023 | 97 | 158 | 212 | |||
| initialActions | 2 | 0 | 32 | 3 | 2 | 6 | |||
| loadScripts | 1791 | 1133 | 2481 | 439 | 2187 | 2438 | |||
| setupStore | 31 | 4 | 341 | 47 | 29 | 107 | |||
| numNetworkReqs | 75 | 58 | 144 | 21 | 83 | 127 |
📊 Page Load Benchmark Results
Current Commit: b0393d6 | Date: 12/9/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.04s (±39ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
- domContentLoaded-> current mean value: 725ms (±37ms) 🟢 | historical mean value: 730ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 76ms (±11ms) 🟢 | historical mean value: 82ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.04s | 39ms | 1.01s | 1.32s | 1.07s | 1.32s |
| domContentLoaded | 725ms | 37ms | 701ms | 996ms | 755ms | 996ms |
| firstPaint | 76ms | 11ms | 60ms | 164ms | 88ms | 164ms |
| firstContentfulPaint | 76ms | 11ms | 60ms | 164ms | 88ms | 164ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 58 Bytes (0%)
- ui: 0 Bytes (0%)
- common: 20 Bytes (0%)
Builds ready [67e59b2]
- 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 (1313 ± 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 | 1313 | 1060 | 1714 | 106 | 1379 | 1441 |
| load | 1076 | 881 | 1344 | 90 | 1127 | 1214 | |||
| domContentLoaded | 1069 | 875 | 1333 | 89 | 1120 | 1205 | |||
| domInteractive | 28 | 16 | 91 | 19 | 24 | 85 | |||
| firstPaint | 594 | 95 | 1328 | 429 | 1083 | 1200 | |||
| backgroundConnect | 227 | 201 | 271 | 14 | 234 | 255 | |||
| firstReactRender | 48 | 33 | 99 | 14 | 52 | 81 | |||
| getState | 43 | 18 | 153 | 21 | 52 | 86 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 3 | |||
| loadScripts | 850 | 673 | 1115 | 88 | 900 | 988 | |||
| setupStore | 13 | 7 | 33 | 6 | 16 | 26 | |||
| numNetworkReqs | 13 | 6 | 80 | 20 | 6 | 74 | |||
| Browserify | Power User Home | uiStartup | 1904 | 1566 | 2539 | 164 | 1961 | 2215 | |
| load | 1068 | 874 | 1607 | 126 | 1167 | 1265 | |||
| domContentLoaded | 1059 | 866 | 1598 | 126 | 1157 | 1259 | |||
| domInteractive | 30 | 17 | 134 | 25 | 26 | 103 | |||
| firstPaint | 583 | 75 | 1612 | 424 | 1026 | 1223 | |||
| backgroundConnect | 262 | 197 | 801 | 114 | 239 | 520 | |||
| firstReactRender | 48 | 37 | 89 | 9 | 50 | 76 | |||
| getState | 194 | 146 | 649 | 71 | 205 | 245 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 846 | 670 | 1354 | 124 | 950 | 1049 | |||
| setupStore | 16 | 8 | 70 | 9 | 15 | 35 | |||
| numNetworkReqs | 72 | 59 | 153 | 20 | 68 | 127 | |||
| Webpack | Standard Home | uiStartup | 812 | 681 | 1310 | 97 | 865 | 1004 | |
| load | 649 | 570 | 833 | 70 | 688 | 810 | |||
| domContentLoaded | 643 | 564 | 824 | 69 | 684 | 802 | |||
| domInteractive | 26 | 16 | 107 | 20 | 23 | 84 | |||
| firstPaint | 233 | 82 | 832 | 162 | 216 | 637 | |||
| backgroundConnect | 11 | 5 | 71 | 8 | 12 | 28 | |||
| firstReactRender | 55 | 32 | 213 | 32 | 65 | 123 | |||
| getState | 30 | 14 | 122 | 16 | 39 | 55 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 640 | 562 | 821 | 68 | 682 | 794 | |||
| setupStore | 11 | 6 | 32 | 5 | 13 | 28 | |||
| numNetworkReqs | 13 | 6 | 84 | 20 | 6 | 73 | |||
| Webpack | Power User Home | uiStartup | 1429 | 1101 | 2121 | 201 | 1577 | 1778 | |
| load | 745 | 599 | 1040 | 111 | 848 | 936 | |||
| domContentLoaded | 738 | 591 | 1034 | 110 | 841 | 928 | |||
| domInteractive | 32 | 18 | 141 | 29 | 26 | 118 | |||
| firstPaint | 316 | 97 | 971 | 242 | 345 | 856 | |||
| backgroundConnect | 70 | 7 | 611 | 136 | 51 | 555 | |||
| firstReactRender | 50 | 43 | 63 | 4 | 52 | 57 | |||
| getState | 201 | 133 | 680 | 90 | 192 | 320 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 734 | 589 | 1025 | 109 | 833 | 919 | |||
| setupStore | 16 | 8 | 46 | 9 | 16 | 36 | |||
| numNetworkReqs | 73 | 58 | 231 | 28 | 67 | 134 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1314 | 1068 | 1919 | 192 | 1399 | 1680 |
| load | 1053 | 909 | 1314 | 100 | 1121 | 1253 | |||
| domContentLoaded | 1052 | 906 | 1314 | 101 | 1121 | 1253 | |||
| domInteractive | 62 | 31 | 230 | 40 | 84 | 138 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 51 | 19 | 299 | 49 | 55 | 171 | |||
| firstReactRender | 38 | 30 | 73 | 9 | 38 | 61 | |||
| getState | 13 | 6 | 135 | 14 | 12 | 32 | |||
| initialActions | 1 | 0 | 3 | 0 | 1 | 2 | |||
| loadScripts | 1029 | 887 | 1266 | 93 | 1099 | 1216 | |||
| setupStore | 17 | 5 | 176 | 29 | 12 | 103 | |||
| numNetworkReqs | 15 | 6 | 83 | 22 | 8 | 77 | |||
| Browserify | Power User Home | uiStartup | 2601 | 1593 | 3686 | 561 | 3061 | 3457 | |
| load | 1649 | 974 | 2651 | 514 | 2089 | 2408 | |||
| domContentLoaded | 1649 | 966 | 2651 | 515 | 2089 | 2408 | |||
| domInteractive | 145 | 31 | 1032 | 246 | 90 | 968 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 164 | 24 | 1167 | 186 | 190 | 432 | |||
| firstReactRender | 55 | 36 | 104 | 12 | 59 | 84 | |||
| getState | 137 | 73 | 370 | 55 | 164 | 260 | |||
| initialActions | 3 | 1 | 38 | 5 | 2 | 3 | |||
| loadScripts | 1568 | 954 | 2503 | 479 | 1962 | 2331 | |||
| setupStore | 44 | 5 | 371 | 67 | 47 | 236 | |||
| numNetworkReqs | 75 | 60 | 137 | 21 | 79 | 121 | |||
| Webpack | Standard Home | uiStartup | 1545 | 1308 | 1994 | 165 | 1657 | 1842 | |
| load | 1282 | 1104 | 1770 | 122 | 1349 | 1495 | |||
| domContentLoaded | 1282 | 1104 | 1770 | 122 | 1348 | 1495 | |||
| domInteractive | 74 | 26 | 232 | 45 | 112 | 142 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 57 | 21 | 177 | 38 | 65 | 165 | |||
| firstReactRender | 40 | 32 | 88 | 8 | 42 | 55 | |||
| getState | 14 | 7 | 60 | 11 | 15 | 42 | |||
| initialActions | 1 | 0 | 2 | 0 | 1 | 2 | |||
| loadScripts | 1252 | 1084 | 1704 | 114 | 1313 | 1446 | |||
| setupStore | 14 | 5 | 92 | 14 | 12 | 48 | |||
| numNetworkReqs | 15 | 6 | 85 | 21 | 8 | 78 | |||
| Webpack | Power User Home | uiStartup | 2685 | 1754 | 3601 | 473 | 3079 | 3376 | |
| load | 1815 | 1098 | 2768 | 463 | 2251 | 2503 | |||
| domContentLoaded | 1814 | 1098 | 2768 | 464 | 2251 | 2503 | |||
| domInteractive | 116 | 30 | 992 | 167 | 97 | 342 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 176 | 31 | 1153 | 208 | 210 | 884 | |||
| firstReactRender | 55 | 37 | 155 | 16 | 57 | 89 | |||
| getState | 156 | 45 | 1104 | 155 | 169 | 232 | |||
| initialActions | 2 | 1 | 6 | 1 | 2 | 3 | |||
| loadScripts | 1720 | 1079 | 2745 | 428 | 2084 | 2426 | |||
| setupStore | 39 | 4 | 343 | 62 | 40 | 182 | |||
| numNetworkReqs | 71 | 49 | 132 | 20 | 79 | 116 |
📊 Page Load Benchmark Results
Current Commit: 67e59b2 | Date: 12/9/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.05s (±57ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
- domContentLoaded-> current mean value: 734ms (±53ms) 🟢 | historical mean value: 727ms ⬆️ (historical data)
- firstContentfulPaint-> current mean value: 79ms (±11ms) 🟢 | historical mean value: 83ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.05s | 57ms | 1.02s | 1.35s | 1.10s | 1.35s |
| domContentLoaded | 734ms | 53ms | 705ms | 1.02s | 762ms | 1.02s |
| firstPaint | 79ms | 11ms | 64ms | 176ms | 84ms | 176ms |
| firstContentfulPaint | 79ms | 11ms | 64ms | 176ms | 84ms | 176ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 79 Bytes (0%)
- ui: 120 Bytes (0%)
- common: 44 Bytes (0%)
Builds ready [d8de752]
- 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 (1249 ± 109 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 | 1249 | 1014 | 1533 | 109 | 1327 | 1441 |
| load | 1021 | 851 | 1250 | 91 | 1082 | 1194 | |||
| domContentLoaded | 1015 | 845 | 1244 | 90 | 1073 | 1181 | |||
| domInteractive | 26 | 14 | 94 | 18 | 22 | 82 | |||
| firstPaint | 522 | 95 | 1238 | 394 | 1002 | 1133 | |||
| backgroundConnect | 212 | 193 | 251 | 11 | 218 | 235 | |||
| firstReactRender | 43 | 30 | 82 | 11 | 48 | 67 | |||
| getState | 36 | 18 | 92 | 15 | 42 | 68 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 3 | |||
| loadScripts | 809 | 648 | 1050 | 87 | 857 | 955 | |||
| setupStore | 11 | 4 | 40 | 5 | 13 | 25 | |||
| numNetworkReqs | 13 | 6 | 79 | 19 | 6 | 74 | |||
| Browserify | Power User Home | uiStartup | 1905 | 1583 | 2346 | 156 | 1987 | 2195 | |
| load | 1060 | 875 | 1400 | 119 | 1149 | 1250 | |||
| domContentLoaded | 1050 | 869 | 1392 | 119 | 1140 | 1238 | |||
| domInteractive | 30 | 17 | 140 | 24 | 26 | 95 | |||
| firstPaint | 551 | 102 | 1286 | 413 | 1003 | 1240 | |||
| backgroundConnect | 249 | 195 | 745 | 99 | 231 | 564 | |||
| firstReactRender | 47 | 38 | 75 | 7 | 49 | 62 | |||
| getState | 202 | 140 | 767 | 94 | 210 | 281 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 1 | |||
| loadScripts | 841 | 672 | 1180 | 116 | 923 | 1040 | |||
| setupStore | 15 | 8 | 49 | 6 | 15 | 32 | |||
| numNetworkReqs | 71 | 59 | 140 | 19 | 68 | 127 | |||
| Webpack | Standard Home | uiStartup | 789 | 660 | 1017 | 79 | 839 | 916 | |
| load | 641 | 545 | 807 | 75 | 709 | 793 | |||
| domContentLoaded | 635 | 540 | 797 | 74 | 699 | 785 | |||
| domInteractive | 25 | 15 | 89 | 18 | 21 | 82 | |||
| firstPaint | 272 | 97 | 805 | 185 | 265 | 686 | |||
| backgroundConnect | 11 | 6 | 29 | 5 | 12 | 26 | |||
| firstReactRender | 47 | 32 | 143 | 23 | 45 | 101 | |||
| getState | 27 | 13 | 58 | 11 | 35 | 48 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 632 | 537 | 794 | 73 | 695 | 783 | |||
| setupStore | 10 | 6 | 33 | 5 | 12 | 20 | |||
| numNetworkReqs | 14 | 6 | 83 | 21 | 6 | 75 | |||
| Webpack | Power User Home | uiStartup | 1428 | 1089 | 2049 | 197 | 1577 | 1775 | |
| load | 726 | 587 | 971 | 100 | 812 | 918 | |||
| domContentLoaded | 719 | 578 | 965 | 100 | 804 | 904 | |||
| domInteractive | 31 | 17 | 130 | 26 | 26 | 103 | |||
| firstPaint | 302 | 91 | 932 | 220 | 315 | 847 | |||
| backgroundConnect | 100 | 8 | 723 | 185 | 104 | 636 | |||
| firstReactRender | 50 | 40 | 85 | 7 | 51 | 67 | |||
| getState | 186 | 141 | 730 | 61 | 193 | 256 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 716 | 576 | 956 | 99 | 801 | 896 | |||
| setupStore | 15 | 6 | 42 | 8 | 14 | 37 | |||
| numNetworkReqs | 71 | 57 | 158 | 22 | 68 | 137 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1398 | 1096 | 2696 | 209 | 1498 | 1687 |
| load | 1106 | 934 | 2048 | 139 | 1161 | 1305 | |||
| domContentLoaded | 1105 | 931 | 2047 | 139 | 1160 | 1305 | |||
| domInteractive | 80 | 32 | 919 | 90 | 89 | 137 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 58 | 22 | 231 | 43 | 75 | 143 | |||
| firstReactRender | 39 | 30 | 83 | 9 | 39 | 58 | |||
| getState | 15 | 6 | 93 | 15 | 13 | 46 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 1073 | 911 | 1981 | 128 | 1128 | 1235 | |||
| setupStore | 13 | 5 | 116 | 15 | 11 | 36 | |||
| numNetworkReqs | 15 | 6 | 78 | 20 | 8 | 74 | |||
| Browserify | Power User Home | uiStartup | 2635 | 1500 | 3993 | 564 | 3062 | 3267 | |
| load | 1684 | 926 | 2946 | 497 | 2056 | 2320 | |||
| domContentLoaded | 1684 | 926 | 2946 | 497 | 2056 | 2320 | |||
| domInteractive | 148 | 31 | 1556 | 272 | 78 | 980 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 216 | 23 | 1184 | 268 | 197 | 998 | |||
| firstReactRender | 55 | 36 | 185 | 17 | 60 | 83 | |||
| getState | 140 | 64 | 1003 | 98 | 160 | 235 | |||
| initialActions | 3 | 1 | 41 | 5 | 2 | 8 | |||
| loadScripts | 1577 | 911 | 2928 | 471 | 1908 | 2284 | |||
| setupStore | 34 | 4 | 336 | 56 | 31 | 110 | |||
| numNetworkReqs | 74 | 58 | 129 | 19 | 84 | 118 | |||
| Webpack | Standard Home | uiStartup | 1529 | 1246 | 2331 | 183 | 1586 | 1893 | |
| load | 1268 | 1087 | 1920 | 116 | 1327 | 1483 | |||
| domContentLoaded | 1267 | 1087 | 1919 | 116 | 1327 | 1483 | |||
| domInteractive | 66 | 28 | 170 | 34 | 90 | 130 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 53 | 18 | 274 | 38 | 53 | 128 | |||
| firstReactRender | 41 | 33 | 86 | 7 | 44 | 53 | |||
| getState | 14 | 7 | 157 | 16 | 13 | 38 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1239 | 1071 | 1893 | 112 | 1304 | 1410 | |||
| setupStore | 20 | 6 | 251 | 36 | 15 | 100 | |||
| numNetworkReqs | 16 | 6 | 86 | 22 | 8 | 77 | |||
| Webpack | Power User Home | uiStartup | 2786 | 1805 | 4452 | 564 | 3159 | 3705 | |
| load | 1924 | 1141 | 3363 | 504 | 2353 | 2602 | |||
| domContentLoaded | 1924 | 1141 | 3363 | 504 | 2353 | 2602 | |||
| domInteractive | 261 | 30 | 1180 | 358 | 355 | 981 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 191 | 27 | 1254 | 256 | 205 | 990 | |||
| firstReactRender | 57 | 36 | 93 | 10 | 62 | 70 | |||
| getState | 149 | 80 | 1406 | 138 | 170 | 254 | |||
| initialActions | 2 | 1 | 7 | 1 | 2 | 3 | |||
| loadScripts | 1817 | 1124 | 2618 | 457 | 2265 | 2455 | |||
| setupStore | 32 | 5 | 277 | 46 | 30 | 132 | |||
| numNetworkReqs | 75 | 58 | 136 | 24 | 68 | 128 |
📊 Page Load Benchmark Results
Current Commit: d8de752 | Date: 12/10/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.03s (±38ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
- domContentLoaded-> current mean value: 719ms (±36ms) 🟢 | historical mean value: 720ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 77ms (±11ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.03s | 38ms | 1.01s | 1.31s | 1.06s | 1.31s |
| domContentLoaded | 719ms | 36ms | 697ms | 986ms | 743ms | 986ms |
| firstPaint | 77ms | 11ms | 56ms | 164ms | 88ms | 164ms |
| firstContentfulPaint | 77ms | 11ms | 56ms | 164ms | 88ms | 164ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 3.35 KiB (0.06%)
- ui: 6.76 KiB (0.09%)
- common: -297 Bytes (0%)
Builds ready [f2bcd4e]
- 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 (1301 ± 105 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 | 1301 | 1023 | 1536 | 105 | 1379 | 1466 |
| load | 1081 | 861 | 1313 | 100 | 1156 | 1240 | |||
| domContentLoaded | 1074 | 855 | 1302 | 99 | 1148 | 1234 | |||
| domInteractive | 27 | 15 | 103 | 20 | 22 | 85 | |||
| firstPaint | 528 | 86 | 1273 | 419 | 1068 | 1176 | |||
| backgroundConnect | 212 | 192 | 264 | 11 | 215 | 233 | |||
| firstReactRender | 44 | 33 | 82 | 11 | 45 | 76 | |||
| getState | 39 | 20 | 98 | 12 | 45 | 61 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 870 | 660 | 1094 | 100 | 939 | 1037 | |||
| setupStore | 12 | 7 | 53 | 5 | 13 | 19 | |||
| numNetworkReqs | 18 | 11 | 79 | 18 | 11 | 70 | |||
| Browserify | Power User Home | uiStartup | 1922 | 1612 | 2409 | 151 | 1998 | 2213 | |
| load | 1119 | 911 | 1424 | 120 | 1217 | 1329 | |||
| domContentLoaded | 1110 | 905 | 1406 | 120 | 1204 | 1317 | |||
| domInteractive | 35 | 18 | 257 | 36 | 28 | 116 | |||
| firstPaint | 556 | 103 | 1421 | 425 | 1040 | 1235 | |||
| backgroundConnect | 252 | 206 | 608 | 82 | 242 | 547 | |||
| firstReactRender | 50 | 42 | 68 | 5 | 52 | 59 | |||
| getState | 208 | 148 | 722 | 79 | 217 | 300 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 889 | 695 | 1184 | 119 | 983 | 1103 | |||
| setupStore | 15 | 11 | 57 | 6 | 14 | 27 | |||
| numNetworkReqs | 67 | 55 | 129 | 17 | 64 | 115 | |||
| Webpack | Standard Home | uiStartup | 862 | 687 | 1079 | 93 | 910 | 1038 | |
| load | 673 | 575 | 920 | 87 | 725 | 861 | |||
| domContentLoaded | 667 | 570 | 912 | 87 | 721 | 856 | |||
| domInteractive | 27 | 16 | 111 | 22 | 22 | 92 | |||
| firstPaint | 248 | 77 | 877 | 186 | 234 | 716 | |||
| backgroundConnect | 23 | 6 | 104 | 22 | 33 | 93 | |||
| firstReactRender | 56 | 36 | 243 | 35 | 54 | 134 | |||
| getState | 33 | 15 | 146 | 20 | 40 | 59 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 2 | |||
| loadScripts | 664 | 568 | 909 | 86 | 718 | 853 | |||
| setupStore | 12 | 5 | 45 | 7 | 12 | 29 | |||
| numNetworkReqs | 18 | 11 | 77 | 17 | 11 | 69 | |||
| Webpack | Power User Home | uiStartup | 1378 | 1089 | 1837 | 181 | 1504 | 1681 | |
| load | 720 | 592 | 1015 | 101 | 817 | 892 | |||
| domContentLoaded | 713 | 586 | 1006 | 100 | 811 | 887 | |||
| domInteractive | 30 | 17 | 134 | 23 | 26 | 100 | |||
| firstPaint | 275 | 93 | 915 | 215 | 260 | 855 | |||
| backgroundConnect | 87 | 8 | 634 | 157 | 93 | 563 | |||
| firstReactRender | 50 | 40 | 75 | 6 | 52 | 63 | |||
| getState | 184 | 142 | 662 | 73 | 185 | 253 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 1 | |||
| loadScripts | 710 | 583 | 997 | 99 | 806 | 878 | |||
| setupStore | 13 | 6 | 39 | 7 | 13 | 34 | |||
| numNetworkReqs | 67 | 51 | 226 | 23 | 63 | 125 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1453 | 1158 | 2389 | 186 | 1545 | 1793 |
| load | 1117 | 949 | 1530 | 106 | 1189 | 1334 | |||
| domContentLoaded | 1117 | 948 | 1530 | 106 | 1189 | 1333 | |||
| domInteractive | 73 | 32 | 216 | 38 | 90 | 135 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 69 | 24 | 818 | 92 | 74 | 203 | |||
| firstReactRender | 43 | 32 | 88 | 10 | 47 | 62 | |||
| getState | 13 | 7 | 167 | 17 | 12 | 26 | |||
| initialActions | 1 | 0 | 2 | 1 | 2 | 2 | |||
| loadScripts | 1088 | 933 | 1464 | 96 | 1152 | 1259 | |||
| setupStore | 17 | 6 | 185 | 25 | 13 | 49 | |||
| numNetworkReqs | 19 | 10 | 76 | 19 | 13 | 75 | |||
| Browserify | Power User Home | uiStartup | 2775 | 1732 | 3874 | 576 | 3260 | 3500 | |
| load | 1733 | 1055 | 2736 | 523 | 2166 | 2436 | |||
| domContentLoaded | 1733 | 1055 | 2735 | 523 | 2165 | 2435 | |||
| domInteractive | 164 | 34 | 1296 | 263 | 95 | 959 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 151 | 30 | 481 | 103 | 207 | 378 | |||
| firstReactRender | 61 | 42 | 200 | 19 | 66 | 89 | |||
| getState | 154 | 80 | 1082 | 108 | 170 | 293 | |||
| initialActions | 3 | 1 | 35 | 3 | 2 | 6 | |||
| loadScripts | 1663 | 1023 | 2656 | 494 | 2089 | 2365 | |||
| setupStore | 63 | 4 | 1051 | 126 | 69 | 263 | |||
| numNetworkReqs | 72 | 54 | 153 | 26 | 64 | 140 | |||
| Webpack | Standard Home | uiStartup | 1554 | 1307 | 1995 | 137 | 1617 | 1813 | |
| load | 1276 | 1065 | 1603 | 98 | 1329 | 1461 | |||
| domContentLoaded | 1275 | 1065 | 1603 | 98 | 1329 | 1460 | |||
| domInteractive | 76 | 27 | 248 | 42 | 100 | 130 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 58 | 15 | 211 | 39 | 80 | 144 | |||
| firstReactRender | 42 | 32 | 112 | 14 | 43 | 84 | |||
| getState | 13 | 7 | 148 | 15 | 13 | 26 | |||
| initialActions | 1 | 0 | 4 | 1 | 2 | 2 | |||
| loadScripts | 1246 | 1050 | 1536 | 89 | 1299 | 1416 | |||
| setupStore | 14 | 5 | 149 | 18 | 12 | 55 | |||
| numNetworkReqs | 19 | 9 | 84 | 19 | 13 | 77 | |||
| Webpack | Power User Home | uiStartup | 2679 | 1721 | 3950 | 507 | 3058 | 3507 | |
| load | 1856 | 1103 | 2948 | 494 | 2276 | 2550 | |||
| domContentLoaded | 1856 | 1103 | 2948 | 494 | 2276 | 2547 | |||
| domInteractive | 237 | 29 | 1023 | 346 | 194 | 985 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 151 | 29 | 1062 | 200 | 178 | 924 | |||
| firstReactRender | 53 | 36 | 99 | 10 | 58 | 68 | |||
| getState | 136 | 79 | 422 | 55 | 167 | 230 | |||
| initialActions | 2 | 1 | 40 | 4 | 2 | 7 | |||
| loadScripts | 1772 | 1083 | 2843 | 470 | 2211 | 2467 | |||
| setupStore | 51 | 4 | 1052 | 123 | 41 | 260 | |||
| numNetworkReqs | 67 | 43 | 132 | 21 | 72 | 111 |
📊 Page Load Benchmark Results
Current Commit: f2bcd4e | Date: 12/15/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.02s (±40ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
- domContentLoaded-> current mean value: 712ms (±37ms) 🟢 | historical mean value: 727ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 75ms (±12ms) 🟢 | historical mean value: 77ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.02s | 40ms | 998ms | 1.35s | 1.04s | 1.35s |
| domContentLoaded | 712ms | 37ms | 690ms | 1.01s | 723ms | 1.01s |
| firstPaint | 75ms | 12ms | 56ms | 176ms | 84ms | 176ms |
| firstContentfulPaint | 75ms | 12ms | 56ms | 176ms | 84ms | 176ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚀 Bundle size reduced!]
- background: -147.8 KiB (-2.8%)
- ui: 17.82 KiB (0.23%)
- common: 1.18 KiB (0.01%)
Builds ready [f2bcd4e]
- 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 (1301 ± 105 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 | 1301 | 1023 | 1536 | 105 | 1379 | 1466 |
| load | 1081 | 861 | 1313 | 100 | 1156 | 1240 | |||
| domContentLoaded | 1074 | 855 | 1302 | 99 | 1148 | 1234 | |||
| domInteractive | 27 | 15 | 103 | 20 | 22 | 85 | |||
| firstPaint | 528 | 86 | 1273 | 419 | 1068 | 1176 | |||
| backgroundConnect | 212 | 192 | 264 | 11 | 215 | 233 | |||
| firstReactRender | 44 | 33 | 82 | 11 | 45 | 76 | |||
| getState | 39 | 20 | 98 | 12 | 45 | 61 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 870 | 660 | 1094 | 100 | 939 | 1037 | |||
| setupStore | 12 | 7 | 53 | 5 | 13 | 19 | |||
| numNetworkReqs | 18 | 11 | 79 | 18 | 11 | 70 | |||
| Browserify | Power User Home | uiStartup | 1922 | 1612 | 2409 | 151 | 1998 | 2213 | |
| load | 1119 | 911 | 1424 | 120 | 1217 | 1329 | |||
| domContentLoaded | 1110 | 905 | 1406 | 120 | 1204 | 1317 | |||
| domInteractive | 35 | 18 | 257 | 36 | 28 | 116 | |||
| firstPaint | 556 | 103 | 1421 | 425 | 1040 | 1235 | |||
| backgroundConnect | 252 | 206 | 608 | 82 | 242 | 547 | |||
| firstReactRender | 50 | 42 | 68 | 5 | 52 | 59 | |||
| getState | 208 | 148 | 722 | 79 | 217 | 300 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 889 | 695 | 1184 | 119 | 983 | 1103 | |||
| setupStore | 15 | 11 | 57 | 6 | 14 | 27 | |||
| numNetworkReqs | 67 | 55 | 129 | 17 | 64 | 115 | |||
| Webpack | Standard Home | uiStartup | 862 | 687 | 1079 | 93 | 910 | 1038 | |
| load | 673 | 575 | 920 | 87 | 725 | 861 | |||
| domContentLoaded | 667 | 570 | 912 | 87 | 721 | 856 | |||
| domInteractive | 27 | 16 | 111 | 22 | 22 | 92 | |||
| firstPaint | 248 | 77 | 877 | 186 | 234 | 716 | |||
| backgroundConnect | 23 | 6 | 104 | 22 | 33 | 93 | |||
| firstReactRender | 56 | 36 | 243 | 35 | 54 | 134 | |||
| getState | 33 | 15 | 146 | 20 | 40 | 59 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 2 | |||
| loadScripts | 664 | 568 | 909 | 86 | 718 | 853 | |||
| setupStore | 12 | 5 | 45 | 7 | 12 | 29 | |||
| numNetworkReqs | 18 | 11 | 77 | 17 | 11 | 69 | |||
| Webpack | Power User Home | uiStartup | 1378 | 1089 | 1837 | 181 | 1504 | 1681 | |
| load | 720 | 592 | 1015 | 101 | 817 | 892 | |||
| domContentLoaded | 713 | 586 | 1006 | 100 | 811 | 887 | |||
| domInteractive | 30 | 17 | 134 | 23 | 26 | 100 | |||
| firstPaint | 275 | 93 | 915 | 215 | 260 | 855 | |||
| backgroundConnect | 87 | 8 | 634 | 157 | 93 | 563 | |||
| firstReactRender | 50 | 40 | 75 | 6 | 52 | 63 | |||
| getState | 184 | 142 | 662 | 73 | 185 | 253 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 1 | |||
| loadScripts | 710 | 583 | 997 | 99 | 806 | 878 | |||
| setupStore | 13 | 6 | 39 | 7 | 13 | 34 | |||
| numNetworkReqs | 67 | 51 | 226 | 23 | 63 | 125 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1453 | 1158 | 2389 | 186 | 1545 | 1793 |
| load | 1117 | 949 | 1530 | 106 | 1189 | 1334 | |||
| domContentLoaded | 1117 | 948 | 1530 | 106 | 1189 | 1333 | |||
| domInteractive | 73 | 32 | 216 | 38 | 90 | 135 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 69 | 24 | 818 | 92 | 74 | 203 | |||
| firstReactRender | 43 | 32 | 88 | 10 | 47 | 62 | |||
| getState | 13 | 7 | 167 | 17 | 12 | 26 | |||
| initialActions | 1 | 0 | 2 | 1 | 2 | 2 | |||
| loadScripts | 1088 | 933 | 1464 | 96 | 1152 | 1259 | |||
| setupStore | 17 | 6 | 185 | 25 | 13 | 49 | |||
| numNetworkReqs | 19 | 10 | 76 | 19 | 13 | 75 | |||
| Browserify | Power User Home | uiStartup | 2775 | 1732 | 3874 | 576 | 3260 | 3500 | |
| load | 1733 | 1055 | 2736 | 523 | 2166 | 2436 | |||
| domContentLoaded | 1733 | 1055 | 2735 | 523 | 2165 | 2435 | |||
| domInteractive | 164 | 34 | 1296 | 263 | 95 | 959 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 151 | 30 | 481 | 103 | 207 | 378 | |||
| firstReactRender | 61 | 42 | 200 | 19 | 66 | 89 | |||
| getState | 154 | 80 | 1082 | 108 | 170 | 293 | |||
| initialActions | 3 | 1 | 35 | 3 | 2 | 6 | |||
| loadScripts | 1663 | 1023 | 2656 | 494 | 2089 | 2365 | |||
| setupStore | 63 | 4 | 1051 | 126 | 69 | 263 | |||
| numNetworkReqs | 72 | 54 | 153 | 26 | 64 | 140 | |||
| Webpack | Standard Home | uiStartup | 1554 | 1307 | 1995 | 137 | 1617 | 1813 | |
| load | 1276 | 1065 | 1603 | 98 | 1329 | 1461 | |||
| domContentLoaded | 1275 | 1065 | 1603 | 98 | 1329 | 1460 | |||
| domInteractive | 76 | 27 | 248 | 42 | 100 | 130 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 58 | 15 | 211 | 39 | 80 | 144 | |||
| firstReactRender | 42 | 32 | 112 | 14 | 43 | 84 | |||
| getState | 13 | 7 | 148 | 15 | 13 | 26 | |||
| initialActions | 1 | 0 | 4 | 1 | 2 | 2 | |||
| loadScripts | 1246 | 1050 | 1536 | 89 | 1299 | 1416 | |||
| setupStore | 14 | 5 | 149 | 18 | 12 | 55 | |||
| numNetworkReqs | 19 | 9 | 84 | 19 | 13 | 77 | |||
| Webpack | Power User Home | uiStartup | 2679 | 1721 | 3950 | 507 | 3058 | 3507 | |
| load | 1856 | 1103 | 2948 | 494 | 2276 | 2550 | |||
| domContentLoaded | 1856 | 1103 | 2948 | 494 | 2276 | 2547 | |||
| domInteractive | 237 | 29 | 1023 | 346 | 194 | 985 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 151 | 29 | 1062 | 200 | 178 | 924 | |||
| firstReactRender | 53 | 36 | 99 | 10 | 58 | 68 | |||
| getState | 136 | 79 | 422 | 55 | 167 | 230 | |||
| initialActions | 2 | 1 | 40 | 4 | 2 | 7 | |||
| loadScripts | 1772 | 1083 | 2843 | 470 | 2211 | 2467 | |||
| setupStore | 51 | 4 | 1052 | 123 | 41 | 260 | |||
| numNetworkReqs | 67 | 43 | 132 | 21 | 72 | 111 |
📊 Page Load Benchmark Results
Current Commit: f2bcd4e | Date: 12/15/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.02s (±40ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
- domContentLoaded-> current mean value: 712ms (±37ms) 🟢 | historical mean value: 727ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 75ms (±12ms) 🟢 | historical mean value: 77ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.02s | 40ms | 998ms | 1.35s | 1.04s | 1.35s |
| domContentLoaded | 712ms | 37ms | 690ms | 1.01s | 723ms | 1.01s |
| firstPaint | 75ms | 12ms | 56ms | 176ms | 84ms | 176ms |
| firstContentfulPaint | 75ms | 12ms | 56ms | 176ms | 84ms | 176ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚀 Bundle size reduced!]
- background: -147.8 KiB (-2.8%)
- ui: 17.82 KiB (0.23%)
- common: 1.18 KiB (0.01%)