feat: block any RPC request (except from preinstalled snaps) while serving`wallet_requestExecutionPermissions` request
Description
WHY: When serving a wallet_requestExecutionPermissions request, multiple confirmations are shown to the user (Permission Picker, [maybe] Upgrade Account, Sign Permission). It's possible for a malicious actor to request a signature immediately after requesting a permission, which results in the signature confirmation being queued after the Permission Picker. To the user, it may appear that this signature is related to the permission being granted, so may unintentionally sign a malicious request.
In order to mitigate the above risk, while serving a wallet_requestExecutionPermissions RPC, no other RPC requests will be served, with the exception of requests originating from pre-installed snaps.
Note: this is included only in builds that include gator-permissions feature - presently only flask.
Changelog
CHANGELOG entry: Block concurrent RPCs while serving wallet_requestExecutionPermissions.
Manual testing steps
-
Request
wallet_requestExecutionPermissions -
Any time during the lifecycle of this request, request any other RPC, from the same origin, or another Expect the subsequent request to be declined with
Cannot process requests while a wallet_requestExecutionPermissions request is in process -
Request
wallet_requestExecutionPermissions -
Accept or decline the permission - sign the permission if required
-
Make any other RPC, from the same origin, or another Expect the subsequent request to be served normally
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] Blocks RPC requests during the EIP-7715 permissions flow (except from preinstalled snaps) via new middleware, and adds before/after hooks to
forwardRequestToSnapto toggle the block.
- Middleware / Engine
- RPC Blocking: Add
app/scripts/lib/rpcBlockingMiddleware.tsto gate requests whenisBlockedis true; allows origins that are preinstalled snaps viaisSnapPreinstalled.- Integration: In
app/scripts/metamask-controller.js, create and pusheip7715BlockingMiddlewareinto both EIP-1193 and Multichain engines (guarded byONLY_INCLUDE_IF(gator-permissions)), with a custom error message:Cannot process requests while a wallet_requestExecutionPermissions request is in process.- Snap request flow
- Hooks: Update
app/scripts/lib/forwardRequestToSnap.tsto accept optionalonBeforeRequestandonAfterRequestcallbacks; invoke in try/finally to ensureonAfterRequestruns on success or error.- Usage: Wire hooks in
metamask-controllerto toggle the blocking state aroundprocessRequestExecutionPermissions(set true before, false after).- Tests
- Add
app/scripts/lib/rpcBlockingMiddleware.test.tscovering pass-through, blocked errors, preinstalled snap bypass, and toggle behavior.- Extend
app/scripts/lib/forwardRequestToSnap.test.tsto verify before/after hook ordering, error handling, and early abort on pre-hook error.Written by Cursor Bugbot for commit 8bdb5f8a21eacf65551fb40169471672ad340970. 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.
📊 Page Load Benchmark Results
Current Commit: 10535a4 | Date: 10/31/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.04s (±46ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
- domContentLoaded-> current mean value: 726ms (±64ms) 🟢 | historical mean value: 724ms ⬆️ (historical data)
- firstContentfulPaint-> current mean value: 80ms (±43ms) 🟢 | historical mean value: 76ms ⬆️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.04s | 46ms | 1.01s | 1.35s | 1.08s | 1.35s |
| domContentLoaded | 726ms | 64ms | 699ms | 1.29s | 762ms | 1.29s |
| firstPaint | 80ms | 43ms | 60ms | 504ms | 84ms | 504ms |
| firstContentfulPaint | 80ms | 43ms | 60ms | 504ms | 84ms | 504ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Results generated automatically by MetaMask CI
Builds ready [10535a4]
- 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 (1288 ± 79 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 | 1288 | 1138 | 1455 | 79 | 1348 | 1420 |
| load | 1097 | 960 | 1253 | 73 | 1150 | 1219 | |||
| domContentLoaded | 1091 | 954 | 1243 | 72 | 1144 | 1210 | |||
| domInteractive | 22 | 15 | 73 | 12 | 19 | 56 | |||
| firstPaint | 660 | 91 | 1254 | 450 | 1129 | 1233 | |||
| backgroundConnect | 235 | 220 | 264 | 8 | 239 | 251 | |||
| firstReactRender | 31 | 19 | 54 | 9 | 36 | 47 | |||
| getState | 22 | 8 | 98 | 10 | 26 | 34 | |||
| initialActions | 8 | 1 | 64 | 9 | 8 | 25 | |||
| loadScripts | 862 | 740 | 1006 | 71 | 916 | 976 | |||
| setupStore | 11 | 7 | 23 | 3 | 11 | 15 | |||
| numNetworkReqs | 9 | 6 | 33 | 7 | 6 | 31 | |||
| Browserify | Power User Home | uiStartup | 2261 | 1800 | 3737 | 674 | 3098 | 3737 | |
| load | 1180 | 926 | 2057 | 363 | 1701 | 2057 | |||
| domContentLoaded | 1173 | 919 | 2048 | 362 | 1687 | 2048 | |||
| domInteractive | 29 | 15 | 76 | 18 | 50 | 76 | |||
| firstPaint | 518 | 87 | 1704 | 443 | 961 | 1704 | |||
| backgroundConnect | 281 | 221 | 907 | 163 | 258 | 907 | |||
| firstReactRender | 27 | 23 | 42 | 4 | 27 | 42 | |||
| getState | 179 | 148 | 228 | 17 | 191 | 228 | |||
| initialActions | 4 | 3 | 9 | 2 | 5 | 9 | |||
| loadScripts | 929 | 705 | 1561 | 318 | 1440 | 1561 | |||
| setupStore | 13 | 9 | 34 | 7 | 11 | 34 | |||
| numNetworkReqs | 332 | 168 | 689 | 205 | 684 | 689 | |||
| Webpack | Standard Home | uiStartup | 860 | 729 | 1180 | 79 | 879 | 1049 | |
| load | 641 | 581 | 978 | 69 | 648 | 816 | |||
| domContentLoaded | 633 | 574 | 962 | 68 | 641 | 801 | |||
| domInteractive | 15 | 11 | 50 | 8 | 14 | 40 | |||
| firstPaint | 206 | 56 | 949 | 204 | 206 | 664 | |||
| backgroundConnect | 23 | 11 | 67 | 9 | 27 | 42 | |||
| firstReactRender | 28 | 17 | 89 | 11 | 33 | 51 | |||
| getState | 12 | 5 | 23 | 4 | 15 | 19 | |||
| initialActions | 3 | 0 | 16 | 3 | 4 | 9 | |||
| loadScripts | 630 | 572 | 952 | 66 | 639 | 789 | |||
| setupStore | 10 | 5 | 25 | 3 | 12 | 14 | |||
| numNetworkReqs | 9 | 6 | 33 | 8 | 8 | 33 | |||
| Webpack | Power User Home | uiStartup | 1654 | 1220 | 2544 | 422 | 1656 | 2544 | |
| load | 755 | 617 | 1349 | 202 | 782 | 1349 | |||
| domContentLoaded | 715 | 609 | 1178 | 154 | 764 | 1178 | |||
| domInteractive | 18 | 12 | 38 | 8 | 22 | 38 | |||
| firstPaint | 372 | 72 | 1183 | 371 | 683 | 1183 | |||
| backgroundConnect | 127 | 12 | 509 | 168 | 95 | 509 | |||
| firstReactRender | 25 | 22 | 33 | 2 | 25 | 33 | |||
| getState | 145 | 111 | 160 | 14 | 154 | 160 | |||
| initialActions | 5 | 1 | 21 | 6 | 6 | 21 | |||
| loadScripts | 710 | 607 | 1168 | 151 | 753 | 1168 | |||
| setupStore | 15 | 6 | 42 | 10 | 24 | 42 | |||
| numNetworkReqs | 333 | 193 | 703 | 180 | 558 | 703 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1468 | 1281 | 1876 | 108 | 1506 | 1756 |
| load | 1254 | 1096 | 1523 | 81 | 1300 | 1414 | |||
| domContentLoaded | 1254 | 1095 | 1522 | 82 | 1300 | 1414 | |||
| domInteractive | 118 | 37 | 401 | 48 | 126 | 210 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 42 | 24 | 121 | 17 | 48 | 67 | |||
| firstReactRender | 26 | 21 | 60 | 7 | 25 | 44 | |||
| getState | 7 | 4 | 43 | 5 | 7 | 15 | |||
| initialActions | 5 | 1 | 176 | 17 | 3 | 8 | |||
| loadScripts | 1229 | 1075 | 1502 | 77 | 1283 | 1386 | |||
| setupStore | 14 | 6 | 227 | 24 | 11 | 28 | |||
| numNetworkReqs | 9 | 6 | 35 | 7 | 7 | 28 | |||
| Browserify | Power User Home | uiStartup | 2721 | 2211 | 4029 | 463 | 2950 | 4029 | |
| load | 1430 | 1205 | 1986 | 187 | 1520 | 1986 | |||
| domContentLoaded | 1429 | 1205 | 1985 | 186 | 1520 | 1985 | |||
| domInteractive | 147 | 64 | 274 | 64 | 220 | 274 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 240 | 31 | 1216 | 281 | 310 | 1216 | |||
| firstReactRender | 41 | 31 | 51 | 5 | 46 | 51 | |||
| getState | 135 | 80 | 185 | 31 | 169 | 185 | |||
| initialActions | 9 | 1 | 77 | 18 | 7 | 77 | |||
| loadScripts | 1358 | 1165 | 1637 | 134 | 1484 | 1637 | |||
| setupStore | 21 | 6 | 54 | 14 | 23 | 54 | |||
| numNetworkReqs | 259 | 169 | 601 | 113 | 314 | 601 | |||
| Webpack | Standard Home | uiStartup | 1612 | 1423 | 2073 | 117 | 1682 | 1828 | |
| load | 1380 | 1211 | 1766 | 90 | 1421 | 1535 | |||
| domContentLoaded | 1380 | 1210 | 1765 | 90 | 1421 | 1534 | |||
| domInteractive | 102 | 32 | 547 | 55 | 106 | 202 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 47 | 24 | 130 | 21 | 53 | 105 | |||
| firstReactRender | 33 | 22 | 84 | 15 | 32 | 74 | |||
| getState | 8 | 4 | 67 | 6 | 8 | 13 | |||
| initialActions | 5 | 1 | 61 | 7 | 4 | 14 | |||
| loadScripts | 1352 | 1186 | 1742 | 88 | 1389 | 1508 | |||
| setupStore | 13 | 7 | 104 | 11 | 12 | 28 | |||
| numNetworkReqs | 9 | 6 | 34 | 7 | 7 | 31 | |||
| Webpack | Power User Home | uiStartup | 2760 | 2218 | 3910 | 512 | 3278 | 3910 | |
| load | 1574 | 1293 | 2042 | 226 | 1767 | 2042 | |||
| domContentLoaded | 1573 | 1292 | 2041 | 226 | 1766 | 2041 | |||
| domInteractive | 153 | 65 | 366 | 91 | 225 | 366 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 141 | 37 | 513 | 150 | 173 | 513 | |||
| firstReactRender | 38 | 30 | 55 | 9 | 49 | 55 | |||
| getState | 127 | 81 | 215 | 37 | 138 | 215 | |||
| initialActions | 15 | 1 | 139 | 33 | 9 | 139 | |||
| loadScripts | 1532 | 1267 | 1970 | 215 | 1722 | 1970 | |||
| setupStore | 55 | 6 | 230 | 65 | 101 | 230 | |||
| numNetworkReqs | 253 | 144 | 522 | 126 | 341 | 522 |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 991 Bytes (0.02%)
- ui: 146 Bytes (0%)
- common: 17 Bytes (0%)
📊 Page Load Benchmark Results
Current Commit: d8a2d91 | Date: 10/31/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.07s (±47ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
- domContentLoaded-> current mean value: 744ms (±42ms) 🟢 | historical mean value: 724ms ⬆️ (historical data)
- firstContentfulPaint-> current mean value: 79ms (±12ms) 🟢 | historical mean value: 76ms ⬆️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.07s | 47ms | 1.03s | 1.42s | 1.11s | 1.42s |
| domContentLoaded | 744ms | 42ms | 716ms | 1.08s | 779ms | 1.08s |
| firstPaint | 79ms | 12ms | 64ms | 188ms | 88ms | 188ms |
| firstContentfulPaint | 79ms | 12ms | 64ms | 188ms | 88ms | 188ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Results generated automatically by MetaMask CI
Builds ready [d8a2d91]
- 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 (1236 ± 79 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 | 1236 | 1088 | 1427 | 79 | 1285 | 1401 |
| load | 1058 | 943 | 1270 | 76 | 1103 | 1199 | |||
| domContentLoaded | 1052 | 939 | 1264 | 75 | 1095 | 1192 | |||
| domInteractive | 19 | 13 | 51 | 9 | 17 | 45 | |||
| firstPaint | 566 | 80 | 1251 | 418 | 1046 | 1147 | |||
| backgroundConnect | 225 | 211 | 251 | 6 | 229 | 236 | |||
| firstReactRender | 27 | 17 | 44 | 6 | 29 | 40 | |||
| getState | 21 | 8 | 76 | 9 | 26 | 36 | |||
| initialActions | 6 | 0 | 23 | 4 | 7 | 16 | |||
| loadScripts | 832 | 721 | 1045 | 74 | 876 | 974 | |||
| setupStore | 10 | 6 | 24 | 3 | 11 | 15 | |||
| numNetworkReqs | 9 | 6 | 32 | 7 | 6 | 31 | |||
| Browserify | Power User Home | uiStartup | 2259 | 1785 | 4008 | 676 | 2954 | 4008 | |
| load | 1178 | 942 | 2133 | 368 | 1637 | 2133 | |||
| domContentLoaded | 1171 | 935 | 2125 | 367 | 1626 | 2125 | |||
| domInteractive | 26 | 15 | 47 | 12 | 45 | 47 | |||
| firstPaint | 729 | 157 | 2133 | 555 | 991 | 2133 | |||
| backgroundConnect | 246 | 219 | 376 | 40 | 261 | 376 | |||
| firstReactRender | 25 | 22 | 30 | 2 | 26 | 30 | |||
| getState | 184 | 151 | 283 | 34 | 198 | 283 | |||
| initialActions | 7 | 2 | 35 | 8 | 7 | 35 | |||
| loadScripts | 936 | 718 | 1811 | 339 | 1366 | 1811 | |||
| setupStore | 11 | 8 | 33 | 6 | 11 | 33 | |||
| numNetworkReqs | 350 | 215 | 708 | 202 | 690 | 708 | |||
| Webpack | Standard Home | uiStartup | 853 | 733 | 1128 | 73 | 863 | 1054 | |
| load | 639 | 587 | 935 | 71 | 650 | 865 | |||
| domContentLoaded | 631 | 581 | 923 | 70 | 643 | 855 | |||
| domInteractive | 15 | 11 | 52 | 8 | 14 | 39 | |||
| firstPaint | 209 | 56 | 947 | 215 | 199 | 772 | |||
| backgroundConnect | 22 | 12 | 52 | 7 | 24 | 37 | |||
| firstReactRender | 28 | 17 | 154 | 15 | 32 | 34 | |||
| getState | 12 | 6 | 30 | 4 | 14 | 17 | |||
| initialActions | 3 | 0 | 14 | 3 | 4 | 10 | |||
| loadScripts | 628 | 578 | 912 | 67 | 641 | 844 | |||
| setupStore | 10 | 5 | 35 | 4 | 11 | 15 | |||
| numNetworkReqs | 9 | 6 | 36 | 8 | 8 | 32 | |||
| Webpack | Power User Home | uiStartup | 1723 | 1433 | 2659 | 380 | 1754 | 2659 | |
| load | 733 | 631 | 1148 | 126 | 758 | 1148 | |||
| domContentLoaded | 694 | 618 | 995 | 93 | 731 | 995 | |||
| domInteractive | 19 | 12 | 37 | 8 | 29 | 37 | |||
| firstPaint | 476 | 143 | 1096 | 286 | 685 | 1096 | |||
| backgroundConnect | 131 | 22 | 472 | 155 | 89 | 472 | |||
| firstReactRender | 26 | 23 | 30 | 2 | 27 | 30 | |||
| getState | 157 | 75 | 201 | 25 | 170 | 201 | |||
| initialActions | 14 | 1 | 116 | 31 | 6 | 116 | |||
| loadScripts | 690 | 615 | 984 | 90 | 720 | 984 | |||
| setupStore | 18 | 6 | 83 | 19 | 23 | 83 | |||
| numNetworkReqs | 343 | 209 | 715 | 190 | 586 | 715 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1469 | 1243 | 1863 | 107 | 1520 | 1716 |
| load | 1251 | 1080 | 1573 | 92 | 1300 | 1451 | |||
| domContentLoaded | 1251 | 1080 | 1572 | 92 | 1300 | 1450 | |||
| domInteractive | 121 | 36 | 344 | 48 | 133 | 208 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 47 | 26 | 164 | 24 | 52 | 94 | |||
| firstReactRender | 26 | 21 | 51 | 5 | 26 | 40 | |||
| getState | 8 | 4 | 106 | 11 | 8 | 16 | |||
| initialActions | 3 | 1 | 13 | 2 | 4 | 6 | |||
| loadScripts | 1222 | 1064 | 1539 | 91 | 1274 | 1421 | |||
| setupStore | 11 | 6 | 60 | 6 | 11 | 16 | |||
| numNetworkReqs | 9 | 6 | 31 | 6 | 7 | 27 | |||
| Browserify | Power User Home | uiStartup | 2741 | 2249 | 4094 | 500 | 3166 | 4094 | |
| load | 1431 | 1255 | 1830 | 122 | 1482 | 1830 | |||
| domContentLoaded | 1430 | 1254 | 1830 | 122 | 1482 | 1830 | |||
| domInteractive | 190 | 69 | 647 | 131 | 241 | 647 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 177 | 33 | 536 | 165 | 238 | 536 | |||
| firstReactRender | 40 | 30 | 57 | 8 | 49 | 57 | |||
| getState | 148 | 61 | 371 | 67 | 174 | 371 | |||
| initialActions | 22 | 1 | 199 | 49 | 12 | 199 | |||
| loadScripts | 1388 | 1236 | 1802 | 129 | 1444 | 1802 | |||
| setupStore | 33 | 7 | 120 | 37 | 31 | 120 | |||
| numNetworkReqs | 252 | 165 | 457 | 99 | 364 | 457 | |||
| Webpack | Standard Home | uiStartup | 1720 | 1541 | 2289 | 129 | 1767 | 1980 | |
| load | 1468 | 1273 | 1796 | 98 | 1524 | 1627 | |||
| domContentLoaded | 1467 | 1273 | 1796 | 98 | 1524 | 1627 | |||
| domInteractive | 116 | 31 | 399 | 64 | 123 | 289 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 52 | 28 | 249 | 27 | 56 | 98 | |||
| firstReactRender | 34 | 23 | 83 | 16 | 32 | 80 | |||
| getState | 9 | 4 | 71 | 8 | 10 | 15 | |||
| initialActions | 9 | 2 | 202 | 26 | 4 | 41 | |||
| loadScripts | 1436 | 1252 | 1775 | 92 | 1493 | 1598 | |||
| setupStore | 14 | 8 | 99 | 9 | 14 | 20 | |||
| numNetworkReqs | 9 | 6 | 34 | 7 | 7 | 29 | |||
| Webpack | Power User Home | uiStartup | 2805 | 2321 | 3604 | 434 | 3206 | 3604 | |
| load | 1623 | 1322 | 1936 | 209 | 1869 | 1936 | |||
| domContentLoaded | 1623 | 1322 | 1936 | 209 | 1869 | 1936 | |||
| domInteractive | 160 | 66 | 417 | 93 | 226 | 417 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 191 | 51 | 716 | 212 | 254 | 716 | |||
| firstReactRender | 39 | 30 | 57 | 9 | 49 | 57 | |||
| getState | 136 | 74 | 219 | 39 | 180 | 219 | |||
| initialActions | 6 | 1 | 18 | 5 | 8 | 18 | |||
| loadScripts | 1575 | 1289 | 1848 | 196 | 1787 | 1848 | |||
| setupStore | 31 | 10 | 81 | 21 | 37 | 81 | |||
| numNetworkReqs | 284 | 143 | 558 | 138 | 386 | 558 |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 991 Bytes (0.02%)
- ui: 33 Bytes (0%)
- common: 69 Bytes (0%)
📊 Page Load Benchmark Results
Current Commit: 8dbd3d3 | Date: 10/31/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.03s (±41ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
- domContentLoaded-> current mean value: 719ms (±36ms) 🟢 | historical mean value: 724ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 76ms (±10ms) 🟢 | historical mean value: 76ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.03s | 41ms | 1.01s | 1.31s | 1.07s | 1.31s |
| domContentLoaded | 719ms | 36ms | 695ms | 983ms | 737ms | 983ms |
| firstPaint | 76ms | 10ms | 60ms | 160ms | 88ms | 160ms |
| firstContentfulPaint | 76ms | 10ms | 60ms | 160ms | 88ms | 160ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Results generated automatically by MetaMask CI
Builds ready [8dbd3d3]
- 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 ± 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 | 1277 | 1105 | 1454 | 87 | 1352 | 1416 |
| load | 1094 | 958 | 1267 | 82 | 1151 | 1234 | |||
| domContentLoaded | 1085 | 954 | 1257 | 79 | 1142 | 1224 | |||
| domInteractive | 20 | 14 | 78 | 10 | 20 | 46 | |||
| firstPaint | 639 | 71 | 1266 | 457 | 1099 | 1232 | |||
| backgroundConnect | 233 | 215 | 439 | 22 | 235 | 248 | |||
| firstReactRender | 29 | 19 | 108 | 11 | 32 | 47 | |||
| getState | 21 | 8 | 52 | 8 | 25 | 36 | |||
| initialActions | 6 | 0 | 40 | 5 | 7 | 17 | |||
| loadScripts | 861 | 730 | 1041 | 80 | 927 | 1003 | |||
| setupStore | 12 | 6 | 36 | 5 | 13 | 22 | |||
| numNetworkReqs | 9 | 6 | 32 | 7 | 6 | 30 | |||
| Browserify | Power User Home | uiStartup | 2261 | 1781 | 3780 | 689 | 3254 | 3780 | |
| load | 1176 | 928 | 2076 | 358 | 1610 | 2076 | |||
| domContentLoaded | 1169 | 922 | 2070 | 358 | 1605 | 2070 | |||
| domInteractive | 31 | 16 | 77 | 21 | 50 | 77 | |||
| firstPaint | 550 | 173 | 1139 | 364 | 979 | 1139 | |||
| backgroundConnect | 258 | 219 | 552 | 78 | 259 | 552 | |||
| firstReactRender | 26 | 24 | 33 | 2 | 26 | 33 | |||
| getState | 183 | 163 | 261 | 23 | 189 | 261 | |||
| initialActions | 5 | 1 | 8 | 2 | 7 | 8 | |||
| loadScripts | 933 | 698 | 1727 | 332 | 1352 | 1727 | |||
| setupStore | 11 | 8 | 25 | 4 | 11 | 25 | |||
| numNetworkReqs | 348 | 190 | 703 | 198 | 659 | 703 | |||
| Webpack | Standard Home | uiStartup | 848 | 730 | 1174 | 78 | 858 | 1019 | |
| load | 637 | 586 | 973 | 78 | 638 | 858 | |||
| domContentLoaded | 629 | 580 | 941 | 76 | 633 | 851 | |||
| domInteractive | 15 | 11 | 62 | 8 | 14 | 40 | |||
| firstPaint | 217 | 57 | 976 | 226 | 190 | 805 | |||
| backgroundConnect | 23 | 11 | 68 | 10 | 24 | 46 | |||
| firstReactRender | 27 | 17 | 123 | 12 | 32 | 33 | |||
| getState | 12 | 6 | 24 | 3 | 14 | 16 | |||
| initialActions | 3 | 1 | 13 | 2 | 4 | 7 | |||
| loadScripts | 626 | 577 | 931 | 74 | 631 | 840 | |||
| setupStore | 10 | 5 | 42 | 4 | 12 | 15 | |||
| numNetworkReqs | 9 | 6 | 33 | 8 | 8 | 32 | |||
| Webpack | Power User Home | uiStartup | 1783 | 1479 | 2525 | 367 | 2124 | 2525 | |
| load | 753 | 655 | 1206 | 166 | 777 | 1206 | |||
| domContentLoaded | 707 | 633 | 1029 | 112 | 749 | 1029 | |||
| domInteractive | 19 | 13 | 49 | 9 | 24 | 49 | |||
| firstPaint | 462 | 69 | 1032 | 334 | 783 | 1032 | |||
| backgroundConnect | 140 | 35 | 512 | 172 | 136 | 512 | |||
| firstReactRender | 25 | 23 | 35 | 3 | 26 | 35 | |||
| getState | 158 | 121 | 191 | 17 | 172 | 191 | |||
| initialActions | 18 | 1 | 217 | 52 | 8 | 217 | |||
| loadScripts | 703 | 631 | 1018 | 109 | 738 | 1018 | |||
| setupStore | 19 | 7 | 86 | 20 | 26 | 86 | |||
| numNetworkReqs | 403 | 222 | 729 | 176 | 567 | 729 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1434 | 1233 | 1800 | 107 | 1488 | 1701 |
| load | 1220 | 1070 | 1518 | 76 | 1268 | 1358 | |||
| domContentLoaded | 1220 | 1070 | 1518 | 76 | 1267 | 1358 | |||
| domInteractive | 113 | 34 | 277 | 43 | 127 | 214 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 41 | 25 | 115 | 16 | 45 | 87 | |||
| firstReactRender | 25 | 21 | 48 | 5 | 25 | 38 | |||
| getState | 7 | 4 | 89 | 8 | 7 | 10 | |||
| initialActions | 6 | 1 | 174 | 23 | 3 | 7 | |||
| loadScripts | 1195 | 1053 | 1488 | 73 | 1236 | 1333 | |||
| setupStore | 10 | 7 | 32 | 3 | 11 | 15 | |||
| numNetworkReqs | 9 | 6 | 31 | 6 | 7 | 26 | |||
| Browserify | Power User Home | uiStartup | 2753 | 2160 | 4135 | 689 | 3503 | 4135 | |
| load | 1354 | 1179 | 1864 | 169 | 1381 | 1864 | |||
| domContentLoaded | 1354 | 1179 | 1863 | 169 | 1380 | 1863 | |||
| domInteractive | 144 | 90 | 237 | 45 | 185 | 237 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 270 | 32 | 1003 | 314 | 510 | 1003 | |||
| firstReactRender | 37 | 27 | 48 | 7 | 43 | 48 | |||
| getState | 126 | 98 | 175 | 28 | 157 | 175 | |||
| initialActions | 10 | 2 | 48 | 12 | 11 | 48 | |||
| loadScripts | 1297 | 1151 | 1598 | 130 | 1345 | 1598 | |||
| setupStore | 34 | 8 | 158 | 37 | 42 | 158 | |||
| numNetworkReqs | 308 | 164 | 600 | 158 | 469 | 600 | |||
| Webpack | Standard Home | uiStartup | 1656 | 1481 | 2060 | 112 | 1706 | 1952 | |
| load | 1414 | 1249 | 1640 | 86 | 1455 | 1573 | |||
| domContentLoaded | 1414 | 1249 | 1640 | 86 | 1455 | 1573 | |||
| domInteractive | 108 | 35 | 416 | 55 | 109 | 212 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 47 | 27 | 127 | 16 | 54 | 74 | |||
| firstReactRender | 39 | 22 | 83 | 20 | 41 | 79 | |||
| getState | 9 | 4 | 71 | 8 | 9 | 16 | |||
| initialActions | 5 | 1 | 127 | 12 | 4 | 8 | |||
| loadScripts | 1385 | 1226 | 1610 | 83 | 1432 | 1549 | |||
| setupStore | 13 | 7 | 84 | 11 | 12 | 38 | |||
| numNetworkReqs | 9 | 6 | 32 | 7 | 8 | 29 | |||
| Webpack | Power User Home | uiStartup | 2872 | 2459 | 3529 | 359 | 3221 | 3529 | |
| load | 1650 | 1454 | 2021 | 177 | 1782 | 2021 | |||
| domContentLoaded | 1650 | 1453 | 2021 | 177 | 1782 | 2021 | |||
| domInteractive | 137 | 45 | 237 | 52 | 184 | 237 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 205 | 54 | 760 | 225 | 276 | 760 | |||
| firstReactRender | 45 | 30 | 100 | 16 | 51 | 100 | |||
| getState | 140 | 92 | 280 | 47 | 183 | 280 | |||
| initialActions | 9 | 1 | 49 | 11 | 11 | 49 | |||
| loadScripts | 1595 | 1425 | 1922 | 156 | 1747 | 1922 | |||
| setupStore | 34 | 7 | 116 | 32 | 32 | 116 | |||
| numNetworkReqs | 277 | 150 | 488 | 101 | 329 | 488 |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 991 Bytes (0.02%)
- ui: 146 Bytes (0%)
- common: 17 Bytes (0%)
Builds ready [cb0268b]
- 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 (1306 ± 98 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 | 1306 | 1131 | 1564 | 98 | 1381 | 1486 |
| load | 1121 | 964 | 1348 | 88 | 1195 | 1269 | |||
| domContentLoaded | 1115 | 962 | 1337 | 87 | 1184 | 1262 | |||
| domInteractive | 22 | 15 | 78 | 12 | 21 | 50 | |||
| firstPaint | 669 | 93 | 1313 | 446 | 1109 | 1237 | |||
| backgroundConnect | 235 | 220 | 265 | 9 | 240 | 256 | |||
| firstReactRender | 30 | 19 | 60 | 8 | 35 | 46 | |||
| getState | 22 | 8 | 72 | 9 | 25 | 38 | |||
| initialActions | 7 | 1 | 66 | 8 | 8 | 19 | |||
| loadScripts | 886 | 737 | 1094 | 85 | 956 | 1027 | |||
| setupStore | 11 | 6 | 27 | 4 | 11 | 19 | |||
| numNetworkReqs | 13 | 6 | 74 | 20 | 6 | 73 | |||
| Browserify | Power User Home | uiStartup | 2028 | 1771 | 3038 | 365 | 2429 | 3038 | |
| load | 1086 | 929 | 1757 | 239 | 1348 | 1757 | |||
| domContentLoaded | 1079 | 923 | 1739 | 237 | 1340 | 1739 | |||
| domInteractive | 33 | 15 | 167 | 38 | 48 | 167 | |||
| firstPaint | 485 | 146 | 1744 | 478 | 937 | 1744 | |||
| backgroundConnect | 241 | 221 | 293 | 18 | 256 | 293 | |||
| firstReactRender | 26 | 25 | 28 | 1 | 27 | 28 | |||
| getState | 182 | 164 | 251 | 23 | 200 | 251 | |||
| initialActions | 5 | 3 | 10 | 2 | 7 | 10 | |||
| loadScripts | 852 | 703 | 1465 | 228 | 1117 | 1465 | |||
| setupStore | 12 | 9 | 26 | 5 | 12 | 26 | |||
| numNetworkReqs | 160 | 103 | 317 | 85 | 293 | 317 | |||
| Webpack | Standard Home | uiStartup | 874 | 734 | 1201 | 99 | 879 | 1163 | |
| load | 650 | 592 | 993 | 89 | 646 | 925 | |||
| domContentLoaded | 642 | 585 | 942 | 85 | 640 | 908 | |||
| domInteractive | 15 | 12 | 44 | 7 | 14 | 35 | |||
| firstPaint | 209 | 58 | 993 | 223 | 190 | 860 | |||
| backgroundConnect | 27 | 12 | 91 | 17 | 29 | 77 | |||
| firstReactRender | 30 | 18 | 92 | 11 | 34 | 37 | |||
| getState | 12 | 7 | 20 | 3 | 15 | 18 | |||
| initialActions | 3 | 1 | 26 | 3 | 4 | 7 | |||
| loadScripts | 638 | 583 | 931 | 82 | 638 | 898 | |||
| setupStore | 11 | 5 | 32 | 4 | 12 | 17 | |||
| numNetworkReqs | 13 | 6 | 72 | 19 | 8 | 70 | |||
| Webpack | Power User Home | uiStartup | 1328 | 1184 | 1867 | 239 | 1453 | 1867 | |
| load | 661 | 596 | 908 | 90 | 754 | 908 | |||
| domContentLoaded | 646 | 586 | 869 | 82 | 712 | 869 | |||
| domInteractive | 20 | 12 | 52 | 13 | 31 | 52 | |||
| firstPaint | 373 | 59 | 872 | 272 | 602 | 872 | |||
| backgroundConnect | 64 | 19 | 200 | 65 | 121 | 200 | |||
| firstReactRender | 26 | 24 | 37 | 3 | 26 | 37 | |||
| getState | 143 | 99 | 168 | 18 | 154 | 168 | |||
| initialActions | 3 | 0 | 27 | 7 | 1 | 27 | |||
| loadScripts | 641 | 584 | 859 | 79 | 702 | 859 | |||
| setupStore | 10 | 6 | 27 | 7 | 11 | 27 | |||
| numNetworkReqs | 146 | 96 | 280 | 66 | 195 | 280 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1459 | 1247 | 1984 | 142 | 1559 | 1770 |
| load | 1240 | 1078 | 1548 | 102 | 1316 | 1444 | |||
| domContentLoaded | 1239 | 1078 | 1547 | 102 | 1316 | 1444 | |||
| domInteractive | 118 | 35 | 361 | 57 | 133 | 274 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 42 | 25 | 168 | 19 | 49 | 74 | |||
| firstReactRender | 26 | 21 | 48 | 5 | 27 | 41 | |||
| getState | 10 | 4 | 174 | 19 | 8 | 17 | |||
| initialActions | 4 | 1 | 19 | 3 | 4 | 10 | |||
| loadScripts | 1214 | 1062 | 1515 | 97 | 1283 | 1414 | |||
| setupStore | 13 | 6 | 101 | 11 | 13 | 30 | |||
| numNetworkReqs | 13 | 6 | 67 | 17 | 7 | 63 | |||
| Browserify | Power User Home | uiStartup | 2370 | 2158 | 2838 | 222 | 2566 | 2838 | |
| load | 1337 | 1172 | 1675 | 162 | 1564 | 1675 | |||
| domContentLoaded | 1337 | 1172 | 1675 | 161 | 1564 | 1675 | |||
| domInteractive | 205 | 59 | 522 | 159 | 413 | 522 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 95 | 32 | 453 | 104 | 126 | 453 | |||
| firstReactRender | 40 | 30 | 81 | 13 | 46 | 81 | |||
| getState | 136 | 89 | 304 | 49 | 138 | 304 | |||
| initialActions | 11 | 1 | 91 | 22 | 13 | 91 | |||
| loadScripts | 1307 | 1141 | 1647 | 158 | 1476 | 1647 | |||
| setupStore | 34 | 5 | 96 | 32 | 75 | 96 | |||
| numNetworkReqs | 137 | 68 | 332 | 82 | 226 | 332 | |||
| Webpack | Standard Home | uiStartup | 1758 | 1533 | 2413 | 177 | 1788 | 2221 | |
| load | 1477 | 1299 | 1865 | 118 | 1523 | 1770 | |||
| domContentLoaded | 1476 | 1299 | 1864 | 118 | 1522 | 1770 | |||
| domInteractive | 107 | 35 | 372 | 42 | 118 | 164 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 58 | 29 | 223 | 34 | 61 | 142 | |||
| firstReactRender | 38 | 24 | 87 | 17 | 37 | 84 | |||
| getState | 9 | 5 | 51 | 7 | 10 | 16 | |||
| initialActions | 7 | 2 | 167 | 17 | 5 | 22 | |||
| loadScripts | 1443 | 1273 | 1774 | 105 | 1485 | 1684 | |||
| setupStore | 21 | 8 | 200 | 24 | 16 | 62 | |||
| numNetworkReqs | 13 | 6 | 72 | 18 | 7 | 66 | |||
| Webpack | Power User Home | uiStartup | 2512 | 2177 | 3482 | 336 | 2717 | 3482 | |
| load | 1481 | 1220 | 1822 | 186 | 1730 | 1822 | |||
| domContentLoaded | 1481 | 1220 | 1822 | 186 | 1730 | 1822 | |||
| domInteractive | 161 | 58 | 470 | 129 | 236 | 470 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 86 | 33 | 282 | 70 | 114 | 282 | |||
| firstReactRender | 44 | 30 | 98 | 16 | 49 | 98 | |||
| getState | 151 | 73 | 268 | 46 | 192 | 268 | |||
| initialActions | 9 | 1 | 51 | 13 | 9 | 51 | |||
| loadScripts | 1445 | 1201 | 1783 | 175 | 1684 | 1783 | |||
| setupStore | 34 | 10 | 145 | 38 | 28 | 145 | |||
| numNetworkReqs | 132 | 58 | 324 | 100 | 227 | 324 |
📊 Page Load Benchmark Results
Current Commit: cb0268b | Date: 11/3/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.03s (±41ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
- domContentLoaded-> current mean value: 720ms (±37ms) 🟢 | historical mean value: 725ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 76ms (±14ms) 🟢 | historical mean value: 77ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.03s | 41ms | 1.01s | 1.32s | 1.10s | 1.32s |
| domContentLoaded | 720ms | 37ms | 698ms | 985ms | 762ms | 985ms |
| firstPaint | 76ms | 14ms | 60ms | 208ms | 88ms | 208ms |
| firstContentfulPaint | 76ms | 14ms | 60ms | 208ms | 88ms | 208ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 999 Bytes (0.02%)
- ui: -28 Bytes (0%)
- common: 20 Bytes (0%)
Builds ready [6b77aa4]
- 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 (1275 ± 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 | 1275 | 1113 | 1739 | 104 | 1340 | 1457 |
| load | 1090 | 949 | 1458 | 89 | 1158 | 1224 | |||
| domContentLoaded | 1085 | 944 | 1452 | 88 | 1147 | 1215 | |||
| domInteractive | 21 | 14 | 85 | 14 | 17 | 56 | |||
| firstPaint | 572 | 77 | 1228 | 447 | 1088 | 1208 | |||
| backgroundConnect | 228 | 215 | 250 | 7 | 232 | 241 | |||
| firstReactRender | 30 | 18 | 55 | 8 | 36 | 45 | |||
| getState | 22 | 8 | 96 | 14 | 24 | 43 | |||
| initialActions | 7 | 1 | 71 | 10 | 7 | 27 | |||
| loadScripts | 863 | 726 | 1209 | 87 | 929 | 995 | |||
| setupStore | 10 | 6 | 27 | 3 | 11 | 16 | |||
| numNetworkReqs | 13 | 6 | 75 | 20 | 6 | 74 | |||
| Browserify | Power User Home | uiStartup | 1995 | 1643 | 2602 | 288 | 2005 | 2602 | |
| load | 1078 | 950 | 1411 | 172 | 1274 | 1411 | |||
| domContentLoaded | 1066 | 943 | 1404 | 172 | 1245 | 1404 | |||
| domInteractive | 28 | 15 | 62 | 18 | 47 | 62 | |||
| firstPaint | 756 | 174 | 1401 | 406 | 1009 | 1401 | |||
| backgroundConnect | 242 | 219 | 259 | 12 | 256 | 259 | |||
| firstReactRender | 27 | 24 | 34 | 3 | 30 | 34 | |||
| getState | 173 | 57 | 205 | 34 | 196 | 205 | |||
| initialActions | 6 | 3 | 14 | 3 | 6 | 14 | |||
| loadScripts | 838 | 718 | 1165 | 164 | 1020 | 1165 | |||
| setupStore | 13 | 9 | 35 | 7 | 12 | 35 | |||
| numNetworkReqs | 158 | 100 | 316 | 79 | 198 | 316 | |||
| Webpack | Standard Home | uiStartup | 871 | 743 | 1195 | 93 | 878 | 1144 | |
| load | 647 | 591 | 997 | 84 | 648 | 896 | |||
| domContentLoaded | 639 | 586 | 966 | 80 | 642 | 878 | |||
| domInteractive | 16 | 11 | 45 | 8 | 15 | 38 | |||
| firstPaint | 240 | 61 | 997 | 234 | 223 | 664 | |||
| backgroundConnect | 28 | 13 | 100 | 16 | 31 | 58 | |||
| firstReactRender | 28 | 18 | 57 | 8 | 33 | 37 | |||
| getState | 13 | 6 | 29 | 4 | 15 | 19 | |||
| initialActions | 3 | 0 | 18 | 3 | 5 | 8 | |||
| loadScripts | 635 | 583 | 954 | 78 | 640 | 867 | |||
| setupStore | 10 | 5 | 23 | 4 | 12 | 18 | |||
| numNetworkReqs | 13 | 6 | 77 | 19 | 8 | 71 | |||
| Webpack | Power User Home | uiStartup | 1365 | 1182 | 1877 | 216 | 1567 | 1877 | |
| load | 700 | 604 | 928 | 105 | 839 | 928 | |||
| domContentLoaded | 675 | 592 | 886 | 86 | 740 | 886 | |||
| domInteractive | 30 | 13 | 116 | 31 | 37 | 116 | |||
| firstPaint | 399 | 71 | 889 | 281 | 640 | 889 | |||
| backgroundConnect | 75 | 13 | 300 | 92 | 185 | 300 | |||
| firstReactRender | 27 | 24 | 31 | 2 | 29 | 31 | |||
| getState | 153 | 110 | 190 | 19 | 162 | 190 | |||
| initialActions | 3 | 1 | 18 | 4 | 3 | 18 | |||
| loadScripts | 670 | 590 | 875 | 83 | 729 | 875 | |||
| setupStore | 9 | 6 | 23 | 4 | 10 | 23 | |||
| numNetworkReqs | 145 | 97 | 277 | 62 | 193 | 277 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1450 | 1258 | 1964 | 142 | 1523 | 1735 |
| load | 1231 | 1067 | 1493 | 95 | 1307 | 1406 | |||
| domContentLoaded | 1231 | 1066 | 1492 | 95 | 1307 | 1406 | |||
| domInteractive | 117 | 31 | 353 | 58 | 135 | 243 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 42 | 25 | 130 | 18 | 47 | 73 | |||
| firstReactRender | 25 | 21 | 47 | 5 | 25 | 38 | |||
| getState | 8 | 4 | 99 | 10 | 7 | 14 | |||
| initialActions | 4 | 1 | 16 | 3 | 3 | 12 | |||
| loadScripts | 1205 | 1049 | 1470 | 92 | 1277 | 1374 | |||
| setupStore | 15 | 7 | 204 | 22 | 12 | 30 | |||
| numNetworkReqs | 13 | 6 | 70 | 17 | 7 | 62 | |||
| Browserify | Power User Home | uiStartup | 2579 | 2260 | 3850 | 417 | 2738 | 3850 | |
| load | 1469 | 1216 | 2063 | 255 | 1762 | 2063 | |||
| domContentLoaded | 1469 | 1216 | 2063 | 255 | 1762 | 2063 | |||
| domInteractive | 243 | 90 | 634 | 183 | 396 | 634 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 97 | 34 | 318 | 90 | 101 | 318 | |||
| firstReactRender | 45 | 31 | 86 | 13 | 51 | 86 | |||
| getState | 145 | 111 | 284 | 42 | 152 | 284 | |||
| initialActions | 6 | 1 | 19 | 6 | 8 | 19 | |||
| loadScripts | 1432 | 1190 | 2021 | 243 | 1700 | 2021 | |||
| setupStore | 38 | 6 | 159 | 48 | 72 | 159 | |||
| numNetworkReqs | 137 | 68 | 336 | 82 | 223 | 336 | |||
| Webpack | Standard Home | uiStartup | 1678 | 1487 | 2204 | 165 | 1691 | 2115 | |
| load | 1416 | 1275 | 1861 | 114 | 1452 | 1677 | |||
| domContentLoaded | 1416 | 1274 | 1860 | 114 | 1450 | 1677 | |||
| domInteractive | 105 | 32 | 340 | 49 | 112 | 215 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 55 | 28 | 215 | 33 | 57 | 143 | |||
| firstReactRender | 37 | 24 | 80 | 17 | 35 | 78 | |||
| getState | 11 | 5 | 145 | 16 | 11 | 31 | |||
| initialActions | 5 | 1 | 70 | 8 | 4 | 18 | |||
| loadScripts | 1383 | 1226 | 1821 | 103 | 1423 | 1597 | |||
| setupStore | 16 | 7 | 217 | 22 | 14 | 37 | |||
| numNetworkReqs | 13 | 6 | 68 | 17 | 7 | 64 | |||
| Webpack | Power User Home | uiStartup | 2416 | 2027 | 3161 | 362 | 2569 | 3161 | |
| load | 1460 | 1228 | 1938 | 236 | 1645 | 1938 | |||
| domContentLoaded | 1460 | 1228 | 1937 | 235 | 1644 | 1937 | |||
| domInteractive | 134 | 41 | 387 | 106 | 185 | 387 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 91 | 33 | 416 | 98 | 96 | 416 | |||
| firstReactRender | 38 | 29 | 51 | 8 | 49 | 51 | |||
| getState | 121 | 69 | 226 | 39 | 137 | 226 | |||
| initialActions | 8 | 2 | 27 | 8 | 12 | 27 | |||
| loadScripts | 1423 | 1200 | 1880 | 220 | 1610 | 1880 | |||
| setupStore | 55 | 10 | 290 | 68 | 79 | 290 | |||
| numNetworkReqs | 158 | 65 | 382 | 108 | 211 | 382 |
📊 Page Load Benchmark Results
Current Commit: 6b77aa4 | Date: 11/3/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.04s (±42ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
- domContentLoaded-> current mean value: 724ms (±61ms) 🟢 | historical mean value: 725ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 87ms (±126ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.04s | 42ms | 1.01s | 1.35s | 1.06s | 1.35s |
| domContentLoaded | 724ms | 61ms | 701ms | 1.27s | 738ms | 1.27s |
| firstPaint | 87ms | 126ms | 60ms | 1.34s | 84ms | 1.34s |
| firstContentfulPaint | 87ms | 126ms | 60ms | 1.34s | 84ms | 1.34s |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 999 Bytes (0.02%)
- ui: -28 Bytes (0%)
- common: 20 Bytes (0%)
Builds ready [b5414b9]
- 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 (1225 ± 113 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 | 1225 | 1032 | 1699 | 113 | 1284 | 1424 |
| load | 1028 | 861 | 1466 | 98 | 1070 | 1228 | |||
| domContentLoaded | 1022 | 858 | 1441 | 96 | 1066 | 1222 | |||
| domInteractive | 26 | 15 | 115 | 21 | 21 | 89 | |||
| firstPaint | 533 | 86 | 1470 | 406 | 986 | 1202 | |||
| backgroundConnect | 215 | 196 | 259 | 13 | 222 | 238 | |||
| firstReactRender | 33 | 19 | 77 | 13 | 38 | 59 | |||
| getState | 34 | 16 | 111 | 16 | 37 | 55 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 3 | |||
| loadScripts | 814 | 659 | 1226 | 95 | 850 | 1015 | |||
| setupStore | 11 | 6 | 29 | 4 | 12 | 21 | |||
| numNetworkReqs | 12 | 5 | 78 | 21 | 5 | 73 | |||
| Browserify | Power User Home | uiStartup | 2033 | 1632 | 3352 | 241 | 2116 | 2481 | |
| load | 1018 | 904 | 1827 | 134 | 1041 | 1328 | |||
| domContentLoaded | 1005 | 892 | 1820 | 135 | 1032 | 1314 | |||
| domInteractive | 35 | 18 | 174 | 31 | 33 | 121 | |||
| firstPaint | 480 | 92 | 1389 | 385 | 942 | 1241 | |||
| backgroundConnect | 255 | 197 | 721 | 109 | 226 | 539 | |||
| firstReactRender | 58 | 40 | 123 | 13 | 62 | 85 | |||
| getState | 193 | 145 | 662 | 57 | 206 | 259 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 2 | |||
| loadScripts | 800 | 691 | 1606 | 134 | 797 | 1112 | |||
| setupStore | 20 | 11 | 49 | 6 | 23 | 31 | |||
| numNetworkReqs | 104 | 66 | 278 | 51 | 98 | 254 | |||
| Webpack | Standard Home | uiStartup | 806 | 697 | 1017 | 74 | 841 | 983 | |
| load | 632 | 567 | 848 | 67 | 655 | 801 | |||
| domContentLoaded | 627 | 563 | 841 | 66 | 652 | 794 | |||
| domInteractive | 26 | 15 | 113 | 22 | 22 | 94 | |||
| firstPaint | 233 | 101 | 800 | 155 | 217 | 651 | |||
| backgroundConnect | 9 | 5 | 27 | 4 | 9 | 15 | |||
| firstReactRender | 27 | 20 | 106 | 10 | 32 | 39 | |||
| getState | 24 | 13 | 66 | 11 | 29 | 50 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 1 | |||
| loadScripts | 625 | 561 | 832 | 65 | 650 | 785 | |||
| setupStore | 10 | 6 | 27 | 4 | 12 | 19 | |||
| numNetworkReqs | 12 | 5 | 75 | 19 | 5 | 71 | |||
| Webpack | Power User Home | uiStartup | 1626 | 1263 | 2396 | 241 | 1864 | 2090 | |
| load | 689 | 585 | 1167 | 106 | 697 | 975 | |||
| domContentLoaded | 679 | 579 | 1162 | 107 | 682 | 968 | |||
| domInteractive | 37 | 18 | 164 | 31 | 34 | 132 | |||
| firstPaint | 318 | 98 | 999 | 237 | 352 | 875 | |||
| backgroundConnect | 57 | 7 | 609 | 132 | 19 | 524 | |||
| firstReactRender | 59 | 44 | 97 | 9 | 64 | 75 | |||
| getState | 188 | 142 | 702 | 86 | 183 | 222 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 676 | 577 | 1153 | 105 | 680 | 960 | |||
| setupStore | 19 | 9 | 58 | 10 | 22 | 46 | |||
| numNetworkReqs | 167 | 67 | 404 | 75 | 210 | 337 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1304 | 1109 | 1610 | 134 | 1387 | 1581 |
| load | 1069 | 938 | 1313 | 91 | 1141 | 1233 | |||
| domContentLoaded | 1068 | 936 | 1313 | 91 | 1140 | 1233 | |||
| domInteractive | 62 | 32 | 257 | 36 | 84 | 119 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 44 | 23 | 182 | 29 | 47 | 97 | |||
| firstReactRender | 23 | 18 | 53 | 5 | 24 | 34 | |||
| getState | 12 | 7 | 157 | 15 | 10 | 22 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 1041 | 922 | 1272 | 83 | 1096 | 1204 | |||
| setupStore | 13 | 6 | 168 | 19 | 10 | 32 | |||
| numNetworkReqs | 11 | 5 | 72 | 16 | 6 | 57 | |||
| Browserify | Power User Home | uiStartup | 2624 | 1957 | 4685 | 551 | 2676 | 3946 | |
| load | 1172 | 965 | 2495 | 236 | 1146 | 1572 | |||
| domContentLoaded | 1172 | 965 | 2495 | 236 | 1145 | 1572 | |||
| domInteractive | 114 | 35 | 507 | 109 | 103 | 431 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 123 | 27 | 1670 | 181 | 119 | 333 | |||
| firstReactRender | 61 | 37 | 206 | 23 | 65 | 95 | |||
| getState | 268 | 51 | 1019 | 205 | 282 | 755 | |||
| initialActions | 3 | 1 | 41 | 6 | 2 | 7 | |||
| loadScripts | 1123 | 943 | 2320 | 187 | 1113 | 1532 | |||
| setupStore | 193 | 10 | 1006 | 224 | 224 | 738 | |||
| numNetworkReqs | 101 | 63 | 316 | 60 | 80 | 240 | |||
| Webpack | Standard Home | uiStartup | 1488 | 1283 | 1888 | 140 | 1562 | 1818 | |
| load | 1232 | 1078 | 1526 | 95 | 1282 | 1437 | |||
| domContentLoaded | 1232 | 1078 | 1526 | 95 | 1281 | 1437 | |||
| domInteractive | 63 | 27 | 260 | 37 | 83 | 118 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 48 | 19 | 195 | 35 | 44 | 128 | |||
| firstReactRender | 27 | 21 | 74 | 8 | 29 | 39 | |||
| getState | 12 | 7 | 192 | 18 | 12 | 17 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1205 | 1063 | 1503 | 90 | 1264 | 1383 | |||
| setupStore | 15 | 6 | 131 | 19 | 11 | 68 | |||
| numNetworkReqs | 12 | 5 | 68 | 16 | 7 | 62 | |||
| Webpack | Power User Home | uiStartup | 2976 | 2046 | 4745 | 718 | 3216 | 4607 | |
| load | 1415 | 1145 | 2622 | 322 | 1428 | 2550 | |||
| domContentLoaded | 1415 | 1144 | 2622 | 322 | 1428 | 2550 | |||
| domInteractive | 105 | 34 | 556 | 111 | 92 | 413 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 139 | 31 | 1093 | 152 | 145 | 349 | |||
| firstReactRender | 62 | 38 | 140 | 20 | 63 | 121 | |||
| getState | 304 | 87 | 1759 | 275 | 373 | 829 | |||
| initialActions | 4 | 0 | 205 | 20 | 2 | 3 | |||
| loadScripts | 1361 | 1098 | 2497 | 284 | 1369 | 2055 | |||
| setupStore | 140 | 6 | 1210 | 205 | 139 | 621 | |||
| numNetworkReqs | 102 | 62 | 259 | 60 | 80 | 249 |
📊 Page Load Benchmark Results
Current Commit: b5414b9 | Date: 11/27/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.04s (±52ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
- domContentLoaded-> current mean value: 725ms (±50ms) 🟢 | historical mean value: 726ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 77ms (±11ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.04s | 52ms | 1.01s | 1.32s | 1.08s | 1.32s |
| domContentLoaded | 725ms | 50ms | 700ms | 999ms | 764ms | 999ms |
| firstPaint | 77ms | 11ms | 60ms | 176ms | 88ms | 176ms |
| firstContentfulPaint | 77ms | 11ms | 60ms | 176ms | 88ms | 176ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 1.03 KiB (0.02%)
- ui: 5 Bytes (0%)
- common: 16 Bytes (0%)
Builds ready [8bdb5f8]
- 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 (1205 ± 99 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 | 1205 | 1008 | 1437 | 99 | 1283 | 1375 |
| load | 1010 | 856 | 1219 | 87 | 1072 | 1176 | |||
| domContentLoaded | 1005 | 853 | 1213 | 86 | 1067 | 1160 | |||
| domInteractive | 24 | 15 | 94 | 17 | 20 | 73 | |||
| firstPaint | 422 | 76 | 1199 | 355 | 890 | 1130 | |||
| backgroundConnect | 210 | 194 | 250 | 11 | 214 | 237 | |||
| firstReactRender | 30 | 18 | 61 | 9 | 34 | 50 | |||
| getState | 35 | 17 | 117 | 16 | 40 | 63 | |||
| initialActions | 1 | 0 | 8 | 1 | 1 | 4 | |||
| loadScripts | 800 | 654 | 996 | 84 | 854 | 942 | |||
| setupStore | 12 | 5 | 31 | 4 | 14 | 21 | |||
| numNetworkReqs | 12 | 5 | 77 | 20 | 5 | 72 | |||
| Browserify | Power User Home | uiStartup | 2099 | 1712 | 2735 | 241 | 2266 | 2573 | |
| load | 1009 | 888 | 1511 | 131 | 1007 | 1383 | |||
| domContentLoaded | 995 | 882 | 1504 | 131 | 990 | 1375 | |||
| domInteractive | 33 | 18 | 152 | 27 | 30 | 125 | |||
| firstPaint | 530 | 100 | 1350 | 376 | 952 | 1219 | |||
| backgroundConnect | 256 | 201 | 762 | 109 | 226 | 549 | |||
| firstReactRender | 59 | 39 | 111 | 15 | 64 | 98 | |||
| getState | 197 | 129 | 661 | 72 | 208 | 261 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 791 | 671 | 1303 | 130 | 788 | 1170 | |||
| setupStore | 18 | 6 | 43 | 7 | 22 | 32 | |||
| numNetworkReqs | 159 | 71 | 390 | 72 | 199 | 358 | |||
| Webpack | Standard Home | uiStartup | 842 | 710 | 1122 | 88 | 897 | 1000 | |
| load | 650 | 570 | 956 | 81 | 651 | 840 | |||
| domContentLoaded | 645 | 565 | 949 | 81 | 645 | 835 | |||
| domInteractive | 28 | 16 | 102 | 22 | 24 | 92 | |||
| firstPaint | 221 | 93 | 848 | 150 | 207 | 624 | |||
| backgroundConnect | 11 | 6 | 53 | 8 | 12 | 28 | |||
| firstReactRender | 28 | 20 | 78 | 8 | 32 | 41 | |||
| getState | 26 | 13 | 87 | 12 | 36 | 44 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 642 | 563 | 947 | 79 | 643 | 828 | |||
| setupStore | 11 | 6 | 33 | 5 | 14 | 19 | |||
| numNetworkReqs | 12 | 5 | 77 | 21 | 5 | 74 | |||
| Webpack | Power User Home | uiStartup | 1651 | 1283 | 2886 | 257 | 1882 | 2076 | |
| load | 682 | 592 | 1281 | 101 | 681 | 917 | |||
| domContentLoaded | 672 | 586 | 1269 | 102 | 672 | 910 | |||
| domInteractive | 36 | 16 | 235 | 35 | 31 | 132 | |||
| firstPaint | 262 | 107 | 896 | 176 | 264 | 663 | |||
| backgroundConnect | 114 | 8 | 602 | 190 | 107 | 574 | |||
| firstReactRender | 62 | 46 | 86 | 9 | 69 | 79 | |||
| getState | 162 | 126 | 210 | 18 | 172 | 202 | |||
| initialActions | 1 | 0 | 2 | 0 | 1 | 2 | |||
| loadScripts | 669 | 584 | 1251 | 99 | 670 | 901 | |||
| setupStore | 20 | 8 | 54 | 10 | 22 | 44 | |||
| numNetworkReqs | 102 | 66 | 294 | 56 | 97 | 275 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1302 | 1105 | 1898 | 157 | 1385 | 1636 |
| load | 1068 | 927 | 1500 | 105 | 1134 | 1308 | |||
| domContentLoaded | 1068 | 926 | 1500 | 106 | 1134 | 1308 | |||
| domInteractive | 59 | 31 | 187 | 30 | 82 | 114 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 48 | 22 | 337 | 44 | 48 | 127 | |||
| firstReactRender | 23 | 17 | 45 | 6 | 24 | 36 | |||
| getState | 12 | 5 | 169 | 18 | 10 | 24 | |||
| initialActions | 1 | 0 | 2 | 1 | 2 | 2 | |||
| loadScripts | 1039 | 911 | 1444 | 92 | 1103 | 1222 | |||
| setupStore | 13 | 5 | 139 | 17 | 10 | 33 | |||
| numNetworkReqs | 11 | 5 | 68 | 16 | 6 | 63 | |||
| Browserify | Power User Home | uiStartup | 2724 | 1812 | 5361 | 650 | 2922 | 4293 | |
| load | 1200 | 957 | 2546 | 266 | 1214 | 1711 | |||
| domContentLoaded | 1199 | 957 | 2546 | 266 | 1214 | 1710 | |||
| domInteractive | 120 | 33 | 683 | 122 | 105 | 444 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 129 | 25 | 772 | 121 | 128 | 435 | |||
| firstReactRender | 60 | 34 | 193 | 24 | 61 | 106 | |||
| getState | 275 | 55 | 883 | 214 | 314 | 787 | |||
| initialActions | 4 | 0 | 124 | 13 | 2 | 3 | |||
| loadScripts | 1140 | 936 | 2431 | 227 | 1126 | 1630 | |||
| setupStore | 183 | 10 | 831 | 219 | 258 | 710 | |||
| numNetworkReqs | 102 | 60 | 250 | 61 | 81 | 244 | |||
| Webpack | Standard Home | uiStartup | 1554 | 1278 | 2291 | 155 | 1631 | 1835 | |
| load | 1272 | 1084 | 1532 | 97 | 1330 | 1449 | |||
| domContentLoaded | 1272 | 1084 | 1532 | 97 | 1330 | 1448 | |||
| domInteractive | 65 | 27 | 178 | 35 | 92 | 110 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 51 | 17 | 228 | 40 | 45 | 156 | |||
| firstReactRender | 27 | 21 | 84 | 7 | 27 | 37 | |||
| getState | 19 | 7 | 196 | 33 | 14 | 54 | |||
| initialActions | 1 | 0 | 2 | 1 | 2 | 2 | |||
| loadScripts | 1244 | 1070 | 1510 | 91 | 1302 | 1417 | |||
| setupStore | 15 | 6 | 112 | 18 | 13 | 54 | |||
| numNetworkReqs | 12 | 5 | 69 | 17 | 7 | 65 | |||
| Webpack | Power User Home | uiStartup | 2986 | 2332 | 5088 | 664 | 3014 | 4593 | |
| load | 1443 | 1176 | 2806 | 315 | 1456 | 1990 | |||
| domContentLoaded | 1443 | 1176 | 2806 | 315 | 1455 | 1983 | |||
| domInteractive | 115 | 29 | 517 | 121 | 96 | 468 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 137 | 30 | 1122 | 162 | 128 | 317 | |||
| firstReactRender | 71 | 42 | 264 | 33 | 70 | 126 | |||
| getState | 304 | 69 | 972 | 238 | 411 | 845 | |||
| initialActions | 2 | 0 | 56 | 5 | 2 | 3 | |||
| loadScripts | 1398 | 1157 | 2677 | 273 | 1414 | 1854 | |||
| setupStore | 191 | 8 | 1180 | 253 | 163 | 701 | |||
| numNetworkReqs | 102 | 56 | 279 | 60 | 80 | 242 |
📊 Page Load Benchmark Results
Current Commit: 8bdb5f8 | Date: 11/28/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.03s (±44ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
- domContentLoaded-> current mean value: 721ms (±65ms) 🟢 | historical mean value: 726ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 80ms (±45ms) 🟢 | historical mean value: 79ms ⬆️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.03s | 44ms | 1.01s | 1.37s | 1.06s | 1.37s |
| domContentLoaded | 721ms | 65ms | 699ms | 1.33s | 740ms | 1.33s |
| firstPaint | 80ms | 45ms | 60ms | 528ms | 84ms | 528ms |
| firstContentfulPaint | 80ms | 45ms | 60ms | 528ms | 84ms | 528ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 1.03 KiB (0.02%)
- ui: 5 Bytes (0%)
- common: 16 Bytes (0%)
Builds ready [10448f5]
- 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 (1305 ± 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 | 1305 | 1069 | 1710 | 118 | 1386 | 1447 |
| load | 1073 | 874 | 1403 | 99 | 1133 | 1201 | |||
| domContentLoaded | 1066 | 868 | 1384 | 99 | 1129 | 1192 | |||
| domInteractive | 27 | 16 | 109 | 22 | 22 | 90 | |||
| firstPaint | 486 | 82 | 1396 | 398 | 968 | 1198 | |||
| backgroundConnect | 221 | 198 | 273 | 14 | 230 | 249 | |||
| firstReactRender | 47 | 32 | 90 | 13 | 52 | 75 | |||
| getState | 40 | 16 | 137 | 19 | 47 | 70 | |||
| initialActions | 1 | 0 | 7 | 1 | 1 | 2 | |||
| loadScripts | 852 | 660 | 1163 | 93 | 911 | 985 | |||
| setupStore | 13 | 6 | 35 | 5 | 15 | 24 | |||
| numNetworkReqs | 13 | 6 | 81 | 20 | 6 | 74 | |||
| Browserify | Power User Home | uiStartup | 1950 | 1616 | 2725 | 171 | 2025 | 2298 | |
| load | 1104 | 924 | 1411 | 102 | 1160 | 1294 | |||
| domContentLoaded | 1094 | 919 | 1403 | 102 | 1148 | 1284 | |||
| domInteractive | 32 | 17 | 162 | 23 | 30 | 104 | |||
| firstPaint | 530 | 88 | 1239 | 398 | 1013 | 1189 | |||
| backgroundConnect | 239 | 208 | 584 | 48 | 243 | 267 | |||
| firstReactRender | 52 | 40 | 136 | 11 | 55 | 70 | |||
| getState | 235 | 155 | 743 | 123 | 229 | 688 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 875 | 715 | 1184 | 99 | 930 | 1069 | |||
| setupStore | 17 | 7 | 60 | 10 | 16 | 40 | |||
| numNetworkReqs | 70 | 57 | 138 | 16 | 68 | 113 | |||
| Webpack | Standard Home | uiStartup | 820 | 678 | 1007 | 77 | 866 | 980 | |
| load | 658 | 579 | 807 | 67 | 703 | 780 | |||
| domContentLoaded | 653 | 574 | 801 | 66 | 696 | 775 | |||
| domInteractive | 25 | 15 | 100 | 19 | 22 | 79 | |||
| firstPaint | 229 | 86 | 747 | 156 | 216 | 701 | |||
| backgroundConnect | 13 | 5 | 83 | 12 | 13 | 36 | |||
| firstReactRender | 49 | 33 | 209 | 25 | 52 | 97 | |||
| getState | 29 | 13 | 81 | 13 | 36 | 54 | |||
| initialActions | 1 | 0 | 6 | 1 | 1 | 2 | |||
| loadScripts | 649 | 572 | 799 | 65 | 694 | 767 | |||
| setupStore | 11 | 5 | 49 | 6 | 13 | 19 | |||
| numNetworkReqs | 13 | 6 | 80 | 20 | 6 | 71 | |||
| Webpack | Power User Home | uiStartup | 1513 | 1126 | 2070 | 220 | 1712 | 1886 | |
| load | 781 | 621 | 1248 | 122 | 899 | 968 | |||
| domContentLoaded | 772 | 614 | 1236 | 120 | 886 | 958 | |||
| domInteractive | 33 | 18 | 152 | 27 | 29 | 119 | |||
| firstPaint | 315 | 94 | 938 | 239 | 301 | 904 | |||
| backgroundConnect | 62 | 7 | 663 | 137 | 33 | 578 | |||
| firstReactRender | 53 | 44 | 84 | 6 | 55 | 68 | |||
| getState | 212 | 146 | 691 | 81 | 246 | 324 | |||
| initialActions | 1 | 0 | 3 | 0 | 1 | 1 | |||
| loadScripts | 769 | 611 | 1227 | 120 | 879 | 955 | |||
| setupStore | 17 | 6 | 79 | 12 | 16 | 40 | |||
| numNetworkReqs | 73 | 55 | 222 | 30 | 68 | 145 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1464 | 1133 | 2277 | 209 | 1533 | 1908 |
| load | 1150 | 948 | 1993 | 129 | 1185 | 1349 | |||
| domContentLoaded | 1149 | 942 | 1993 | 129 | 1185 | 1348 | |||
| domInteractive | 81 | 33 | 857 | 86 | 96 | 148 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 73 | 24 | 379 | 67 | 91 | 196 | |||
| firstReactRender | 44 | 33 | 80 | 11 | 48 | 68 | |||
| getState | 14 | 7 | 80 | 11 | 12 | 31 | |||
| initialActions | 1 | 0 | 2 | 1 | 2 | 2 | |||
| loadScripts | 1113 | 931 | 1926 | 118 | 1158 | 1289 | |||
| setupStore | 17 | 7 | 132 | 20 | 13 | 52 | |||
| numNetworkReqs | 15 | 6 | 80 | 20 | 8 | 74 | |||
| Browserify | Power User Home | uiStartup | 2519 | 1631 | 5311 | 590 | 2914 | 3342 | |
| load | 1541 | 944 | 3558 | 530 | 1998 | 2378 | |||
| domContentLoaded | 1541 | 944 | 3558 | 530 | 1997 | 2378 | |||
| domInteractive | 176 | 30 | 1031 | 283 | 105 | 950 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 168 | 22 | 1146 | 197 | 197 | 534 | |||
| firstReactRender | 54 | 34 | 92 | 12 | 57 | 84 | |||
| getState | 136 | 66 | 977 | 98 | 150 | 214 | |||
| initialActions | 2 | 0 | 48 | 5 | 2 | 3 | |||
| loadScripts | 1466 | 929 | 3392 | 499 | 1875 | 2224 | |||
| setupStore | 33 | 5 | 417 | 63 | 22 | 112 | |||
| numNetworkReqs | 75 | 56 | 132 | 21 | 81 | 124 | |||
| Webpack | Standard Home | uiStartup | 1565 | 1275 | 2276 | 176 | 1614 | 1986 | |
| load | 1298 | 1115 | 1651 | 111 | 1354 | 1555 | |||
| domContentLoaded | 1297 | 1115 | 1651 | 111 | 1354 | 1554 | |||
| domInteractive | 76 | 29 | 199 | 42 | 108 | 154 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 58 | 21 | 258 | 41 | 59 | 154 | |||
| firstReactRender | 41 | 32 | 76 | 7 | 43 | 53 | |||
| getState | 14 | 7 | 134 | 16 | 12 | 42 | |||
| initialActions | 1 | 0 | 2 | 0 | 1 | 2 | |||
| loadScripts | 1271 | 1097 | 1612 | 105 | 1320 | 1501 | |||
| setupStore | 17 | 5 | 173 | 26 | 14 | 73 | |||
| numNetworkReqs | 15 | 6 | 91 | 21 | 8 | 78 | |||
| Webpack | Power User Home | uiStartup | 2715 | 1768 | 6186 | 668 | 3120 | 3558 | |
| load | 1894 | 1114 | 4372 | 589 | 2338 | 2712 | |||
| domContentLoaded | 1893 | 1113 | 4372 | 589 | 2337 | 2712 | |||
| domInteractive | 231 | 29 | 3029 | 418 | 194 | 986 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 150 | 27 | 1047 | 174 | 199 | 362 | |||
| firstReactRender | 57 | 38 | 182 | 18 | 61 | 89 | |||
| getState | 132 | 60 | 289 | 48 | 162 | 233 | |||
| initialActions | 3 | 0 | 45 | 6 | 2 | 6 | |||
| loadScripts | 1817 | 1099 | 4343 | 566 | 2240 | 2635 | |||
| setupStore | 32 | 4 | 333 | 50 | 33 | 136 | |||
| numNetworkReqs | 75 | 57 | 135 | 23 | 73 | 128 |
📊 Page Load Benchmark Results
Current Commit: 10448f5 | Date: 12/11/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.05s (±40ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
- domContentLoaded-> current mean value: 729ms (±38ms) 🟢 | historical mean value: 719ms ⬆️ (historical data)
- firstContentfulPaint-> current mean value: 77ms (±11ms) 🟢 | historical mean value: 76ms ⬆️ (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 | 729ms | 38ms | 708ms | 1.00s | 750ms | 1.00s |
| firstPaint | 77ms | 11ms | 60ms | 176ms | 84ms | 176ms |
| firstContentfulPaint | 77ms | 11ms | 60ms | 176ms | 84ms | 176ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 1.2 KiB (0.02%)
- ui: -2.01 KiB (-0.03%)
- common: 20 Bytes (0%)
Builds ready [4aafcf7]
- 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 (1293 ± 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 | 1293 | 1042 | 1477 | 106 | 1373 | 1440 |
| load | 1051 | 876 | 1214 | 86 | 1117 | 1190 | |||
| domContentLoaded | 1044 | 871 | 1210 | 85 | 1109 | 1180 | |||
| domInteractive | 27 | 16 | 108 | 22 | 24 | 92 | |||
| firstPaint | 523 | 97 | 1214 | 404 | 1043 | 1179 | |||
| backgroundConnect | 223 | 202 | 286 | 16 | 231 | 255 | |||
| firstReactRender | 47 | 32 | 99 | 14 | 53 | 79 | |||
| getState | 43 | 18 | 164 | 26 | 48 | 104 | |||
| initialActions | 1 | 0 | 6 | 1 | 1 | 2 | |||
| loadScripts | 829 | 668 | 981 | 79 | 885 | 972 | |||
| setupStore | 12 | 5 | 37 | 5 | 13 | 22 | |||
| numNetworkReqs | 13 | 6 | 85 | 20 | 6 | 69 | |||
| Browserify | Power User Home | uiStartup | 1910 | 1545 | 2543 | 173 | 2002 | 2236 | |
| load | 1083 | 888 | 1653 | 133 | 1182 | 1278 | |||
| domContentLoaded | 1073 | 881 | 1637 | 132 | 1174 | 1269 | |||
| domInteractive | 32 | 17 | 168 | 27 | 27 | 103 | |||
| firstPaint | 585 | 88 | 1645 | 440 | 1045 | 1279 | |||
| backgroundConnect | 240 | 198 | 609 | 69 | 239 | 405 | |||
| firstReactRender | 47 | 38 | 81 | 6 | 49 | 58 | |||
| getState | 205 | 146 | 731 | 82 | 216 | 299 | |||
| initialActions | 1 | 0 | 6 | 1 | 1 | 2 | |||
| loadScripts | 859 | 683 | 1409 | 129 | 956 | 1061 | |||
| setupStore | 16 | 9 | 40 | 7 | 14 | 36 | |||
| numNetworkReqs | 72 | 58 | 220 | 24 | 67 | 135 | |||
| Webpack | Standard Home | uiStartup | 828 | 684 | 1048 | 84 | 887 | 998 | |
| load | 666 | 580 | 834 | 73 | 709 | 810 | |||
| domContentLoaded | 660 | 575 | 826 | 72 | 703 | 802 | |||
| domInteractive | 26 | 16 | 97 | 20 | 22 | 83 | |||
| firstPaint | 219 | 98 | 808 | 141 | 222 | 657 | |||
| backgroundConnect | 12 | 6 | 37 | 8 | 14 | 32 | |||
| firstReactRender | 55 | 33 | 218 | 39 | 53 | 171 | |||
| getState | 30 | 14 | 102 | 16 | 38 | 64 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 657 | 573 | 817 | 71 | 701 | 796 | |||
| setupStore | 11 | 6 | 32 | 5 | 13 | 21 | |||
| numNetworkReqs | 13 | 6 | 80 | 20 | 6 | 71 | |||
| Webpack | Power User Home | uiStartup | 1482 | 1104 | 2222 | 207 | 1638 | 1819 | |
| load | 782 | 616 | 979 | 113 | 891 | 955 | |||
| domContentLoaded | 774 | 609 | 970 | 112 | 883 | 946 | |||
| domInteractive | 33 | 17 | 170 | 28 | 26 | 107 | |||
| firstPaint | 325 | 98 | 961 | 248 | 372 | 897 | |||
| backgroundConnect | 68 | 7 | 685 | 142 | 29 | 504 | |||
| firstReactRender | 52 | 42 | 70 | 6 | 55 | 63 | |||
| getState | 204 | 146 | 701 | 68 | 219 | 335 | |||
| initialActions | 1 | 0 | 3 | 0 | 1 | 2 | |||
| loadScripts | 770 | 606 | 967 | 111 | 877 | 942 | |||
| setupStore | 16 | 9 | 53 | 9 | 14 | 37 | |||
| numNetworkReqs | 71 | 57 | 210 | 23 | 66 | 132 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1357 | 1084 | 2067 | 189 | 1486 | 1737 |
| load | 1098 | 906 | 1874 | 132 | 1161 | 1345 | |||
| domContentLoaded | 1097 | 905 | 1873 | 132 | 1161 | 1345 | |||
| domInteractive | 81 | 32 | 909 | 91 | 89 | 154 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 54 | 20 | 287 | 53 | 58 | 184 | |||
| firstReactRender | 39 | 30 | 95 | 11 | 39 | 67 | |||
| getState | 12 | 7 | 101 | 12 | 10 | 24 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 1068 | 888 | 1827 | 123 | 1121 | 1296 | |||
| setupStore | 15 | 6 | 166 | 20 | 10 | 49 | |||
| numNetworkReqs | 15 | 6 | 84 | 21 | 7 | 76 | |||
| Browserify | Power User Home | uiStartup | 2629 | 1643 | 3773 | 545 | 3072 | 3473 | |
| load | 1606 | 979 | 2565 | 506 | 2059 | 2412 | |||
| domContentLoaded | 1605 | 979 | 2564 | 506 | 2059 | 2411 | |||
| domInteractive | 158 | 31 | 1000 | 260 | 94 | 956 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 150 | 24 | 1024 | 141 | 204 | 435 | |||
| firstReactRender | 52 | 37 | 86 | 11 | 58 | 81 | |||
| getState | 135 | 70 | 405 | 49 | 164 | 217 | |||
| initialActions | 3 | 0 | 38 | 5 | 2 | 7 | |||
| loadScripts | 1532 | 962 | 2389 | 466 | 1965 | 2296 | |||
| setupStore | 49 | 4 | 1049 | 117 | 53 | 192 | |||
| numNetworkReqs | 73 | 51 | 135 | 20 | 80 | 115 | |||
| Webpack | Standard Home | uiStartup | 1554 | 1220 | 2219 | 192 | 1622 | 1983 | |
| load | 1296 | 1108 | 1799 | 130 | 1358 | 1549 | |||
| domContentLoaded | 1295 | 1107 | 1798 | 130 | 1358 | 1549 | |||
| domInteractive | 69 | 27 | 405 | 51 | 88 | 135 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 54 | 18 | 188 | 34 | 57 | 127 | |||
| firstReactRender | 46 | 32 | 558 | 52 | 44 | 52 | |||
| getState | 16 | 7 | 187 | 24 | 15 | 43 | |||
| initialActions | 1 | 0 | 2 | 0 | 1 | 2 | |||
| loadScripts | 1266 | 1090 | 1697 | 122 | 1324 | 1521 | |||
| setupStore | 15 | 6 | 128 | 19 | 12 | 57 | |||
| numNetworkReqs | 16 | 6 | 86 | 21 | 8 | 77 | |||
| Webpack | Power User Home | uiStartup | 2838 | 1859 | 9011 | 860 | 3286 | 3705 | |
| load | 1951 | 1187 | 8072 | 791 | 2402 | 2597 | |||
| domContentLoaded | 1950 | 1186 | 8071 | 791 | 2402 | 2597 | |||
| domInteractive | 224 | 32 | 1431 | 348 | 146 | 1005 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 181 | 31 | 1107 | 200 | 212 | 513 | |||
| firstReactRender | 62 | 40 | 200 | 17 | 67 | 75 | |||
| getState | 136 | 73 | 293 | 48 | 167 | 230 | |||
| initialActions | 3 | 0 | 39 | 6 | 2 | 7 | |||
| loadScripts | 1851 | 1168 | 8046 | 780 | 2309 | 2538 | |||
| setupStore | 50 | 5 | 458 | 78 | 63 | 280 | |||
| numNetworkReqs | 75 | 56 | 136 | 24 | 67 | 129 |
📊 Page Load Benchmark Results
Current Commit: 4aafcf7 | Date: 12/11/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.06s (±41ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
- domContentLoaded-> current mean value: 738ms (±38ms) 🟢 | historical mean value: 719ms ⬆️ (historical data)
- firstContentfulPaint-> current mean value: 78ms (±9ms) 🟢 | historical mean value: 76ms ⬆️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.06s | 41ms | 1.03s | 1.35s | 1.09s | 1.35s |
| domContentLoaded | 738ms | 38ms | 715ms | 1.02s | 764ms | 1.02s |
| firstPaint | 78ms | 9ms | 68ms | 160ms | 84ms | 160ms |
| firstContentfulPaint | 78ms | 9ms | 68ms | 160ms | 84ms | 160ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 1.2 KiB (0.02%)
- ui: 2 Bytes (0%)
- common: 20 Bytes (0%)
Builds ready [299178d]
- 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 (1290 ± 127 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 | 1290 | 1055 | 1791 | 127 | 1382 | 1482 |
| load | 1056 | 858 | 1500 | 116 | 1140 | 1249 | |||
| domContentLoaded | 1049 | 854 | 1495 | 115 | 1133 | 1243 | |||
| domInteractive | 26 | 15 | 82 | 17 | 23 | 74 | |||
| firstPaint | 511 | 80 | 1310 | 404 | 1013 | 1174 | |||
| backgroundConnect | 213 | 192 | 260 | 12 | 220 | 239 | |||
| firstReactRender | 48 | 33 | 113 | 14 | 52 | 78 | |||
| getState | 42 | 18 | 115 | 18 | 55 | 74 | |||
| initialActions | 1 | 0 | 9 | 1 | 1 | 2 | |||
| loadScripts | 843 | 650 | 1257 | 110 | 919 | 1017 | |||
| setupStore | 12 | 7 | 32 | 5 | 13 | 27 | |||
| numNetworkReqs | 13 | 6 | 83 | 19 | 6 | 70 | |||
| Browserify | Power User Home | uiStartup | 1908 | 1580 | 2568 | 176 | 1962 | 2279 | |
| load | 1072 | 876 | 1679 | 128 | 1139 | 1315 | |||
| domContentLoaded | 1062 | 871 | 1665 | 128 | 1131 | 1309 | |||
| domInteractive | 30 | 17 | 114 | 22 | 27 | 99 | |||
| firstPaint | 473 | 94 | 1694 | 407 | 938 | 1319 | |||
| backgroundConnect | 244 | 199 | 591 | 75 | 236 | 501 | |||
| firstReactRender | 49 | 39 | 87 | 7 | 52 | 63 | |||
| getState | 207 | 145 | 762 | 98 | 207 | 314 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 850 | 673 | 1352 | 121 | 913 | 1109 | |||
| setupStore | 15 | 7 | 53 | 7 | 15 | 32 | |||
| numNetworkReqs | 71 | 59 | 208 | 22 | 69 | 125 | |||
| Webpack | Standard Home | uiStartup | 813 | 676 | 1064 | 71 | 859 | 945 | |
| load | 652 | 575 | 813 | 64 | 692 | 784 | |||
| domContentLoaded | 646 | 570 | 807 | 64 | 687 | 778 | |||
| domInteractive | 26 | 16 | 110 | 19 | 22 | 83 | |||
| firstPaint | 244 | 89 | 738 | 160 | 234 | 644 | |||
| backgroundConnect | 12 | 6 | 89 | 10 | 13 | 30 | |||
| firstReactRender | 57 | 34 | 197 | 33 | 64 | 128 | |||
| getState | 29 | 14 | 71 | 12 | 37 | 50 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 2 | |||
| loadScripts | 643 | 568 | 799 | 63 | 684 | 770 | |||
| setupStore | 11 | 7 | 30 | 4 | 13 | 19 | |||
| numNetworkReqs | 13 | 6 | 88 | 20 | 6 | 75 | |||
| Webpack | Power User Home | uiStartup | 1463 | 1071 | 2055 | 198 | 1587 | 1833 | |
| load | 742 | 589 | 1108 | 113 | 854 | 922 | |||
| domContentLoaded | 735 | 583 | 1101 | 112 | 845 | 911 | |||
| domInteractive | 32 | 16 | 149 | 27 | 27 | 109 | |||
| firstPaint | 310 | 89 | 1119 | 241 | 290 | 867 | |||
| backgroundConnect | 66 | 7 | 764 | 147 | 50 | 545 | |||
| firstReactRender | 50 | 41 | 74 | 6 | 51 | 65 | |||
| getState | 186 | 142 | 677 | 57 | 186 | 252 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 1 | |||
| loadScripts | 731 | 581 | 1091 | 111 | 842 | 908 | |||
| setupStore | 16 | 6 | 49 | 9 | 14 | 38 | |||
| numNetworkReqs | 71 | 54 | 233 | 27 | 66 | 140 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1442 | 1132 | 2583 | 248 | 1532 | 1983 |
| load | 1138 | 967 | 2178 | 168 | 1172 | 1344 | |||
| domContentLoaded | 1138 | 963 | 2178 | 168 | 1172 | 1343 | |||
| domInteractive | 91 | 27 | 1045 | 133 | 92 | 183 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 63 | 21 | 350 | 61 | 72 | 214 | |||
| firstReactRender | 43 | 31 | 86 | 11 | 48 | 68 | |||
| getState | 17 | 7 | 174 | 24 | 14 | 41 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1108 | 947 | 2158 | 165 | 1144 | 1309 | |||
| setupStore | 21 | 5 | 518 | 56 | 12 | 43 | |||
| numNetworkReqs | 15 | 6 | 81 | 21 | 8 | 74 | |||
| Browserify | Power User Home | uiStartup | 2874 | 1740 | 4741 | 629 | 3354 | 3758 | |
| load | 1797 | 1058 | 2896 | 531 | 2252 | 2648 | |||
| domContentLoaded | 1796 | 1057 | 2896 | 531 | 2252 | 2648 | |||
| domInteractive | 189 | 35 | 1733 | 309 | 112 | 972 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 208 | 28 | 1146 | 206 | 259 | 546 | |||
| firstReactRender | 63 | 45 | 115 | 12 | 68 | 91 | |||
| getState | 151 | 89 | 317 | 51 | 179 | 252 | |||
| initialActions | 4 | 0 | 57 | 9 | 3 | 34 | |||
| loadScripts | 1710 | 1033 | 2876 | 501 | 2153 | 2497 | |||
| setupStore | 60 | 6 | 984 | 125 | 41 | 351 | |||
| numNetworkReqs | 75 | 55 | 140 | 25 | 68 | 132 | |||
| Webpack | Standard Home | uiStartup | 1603 | 1295 | 2075 | 169 | 1743 | 1898 | |
| load | 1320 | 1132 | 1602 | 107 | 1396 | 1538 | |||
| domContentLoaded | 1320 | 1131 | 1601 | 107 | 1396 | 1538 | |||
| domInteractive | 81 | 28 | 368 | 51 | 118 | 153 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 57 | 18 | 186 | 33 | 70 | 127 | |||
| firstReactRender | 42 | 34 | 68 | 6 | 45 | 54 | |||
| getState | 20 | 7 | 198 | 35 | 14 | 81 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1287 | 1115 | 1577 | 103 | 1341 | 1491 | |||
| setupStore | 17 | 6 | 109 | 18 | 15 | 63 | |||
| numNetworkReqs | 15 | 6 | 81 | 20 | 8 | 75 | |||
| Webpack | Power User Home | uiStartup | 2657 | 1742 | 3653 | 543 | 3109 | 3481 | |
| load | 1848 | 1123 | 2652 | 508 | 2307 | 2558 | |||
| domContentLoaded | 1847 | 1123 | 2651 | 508 | 2307 | 2558 | |||
| domInteractive | 241 | 29 | 1151 | 363 | 150 | 1010 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 186 | 19 | 1230 | 267 | 182 | 1032 | |||
| firstReactRender | 57 | 35 | 123 | 16 | 60 | 100 | |||
| getState | 140 | 68 | 309 | 54 | 172 | 247 | |||
| initialActions | 2 | 1 | 6 | 1 | 2 | 3 | |||
| loadScripts | 1738 | 1109 | 2594 | 477 | 2215 | 2500 | |||
| setupStore | 44 | 5 | 1112 | 120 | 35 | 183 | |||
| numNetworkReqs | 70 | 47 | 130 | 22 | 68 | 123 |
📊 Page Load Benchmark Results
Current Commit: 299178d | Date: 12/12/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.00s (±45ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
- domContentLoaded-> current mean value: 692ms (±42ms) 🟢 | historical mean value: 730ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 77ms (±12ms) 🟢 | historical mean value: 82ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.00s | 45ms | 970ms | 1.36s | 1.03s | 1.36s |
| domContentLoaded | 692ms | 42ms | 671ms | 1.03s | 711ms | 1.03s |
| firstPaint | 77ms | 12ms | 64ms | 188ms | 84ms | 188ms |
| firstContentfulPaint | 77ms | 12ms | 64ms | 188ms | 84ms | 188ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 1.21 KiB (0.02%)
- ui: 2 Bytes (0%)
- common: 20 Bytes (0%)
Builds ready [db274a8]
- 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 (1324 ± 99 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 | 1324 | 1068 | 1646 | 99 | 1383 | 1453 |
| load | 1092 | 881 | 1403 | 91 | 1151 | 1217 | |||
| domContentLoaded | 1086 | 875 | 1399 | 91 | 1143 | 1210 | |||
| domInteractive | 27 | 16 | 129 | 22 | 23 | 87 | |||
| firstPaint | 497 | 95 | 1225 | 416 | 1070 | 1170 | |||
| backgroundConnect | 220 | 201 | 284 | 13 | 225 | 252 | |||
| firstReactRender | 48 | 34 | 89 | 13 | 51 | 80 | |||
| getState | 43 | 20 | 111 | 17 | 49 | 78 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 874 | 668 | 1182 | 91 | 934 | 995 | |||
| setupStore | 13 | 6 | 46 | 6 | 14 | 23 | |||
| numNetworkReqs | 17 | 11 | 77 | 17 | 11 | 66 | |||
| Browserify | Power User Home | uiStartup | 1903 | 1586 | 2307 | 148 | 1959 | 2223 | |
| load | 1078 | 894 | 1331 | 111 | 1162 | 1292 | |||
| domContentLoaded | 1067 | 885 | 1325 | 110 | 1153 | 1284 | |||
| domInteractive | 32 | 17 | 138 | 24 | 29 | 103 | |||
| firstPaint | 573 | 104 | 1334 | 417 | 1016 | 1246 | |||
| backgroundConnect | 234 | 203 | 577 | 51 | 238 | 262 | |||
| firstReactRender | 50 | 41 | 82 | 7 | 52 | 63 | |||
| getState | 216 | 146 | 757 | 122 | 209 | 706 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 854 | 686 | 1105 | 108 | 934 | 1076 | |||
| setupStore | 16 | 7 | 54 | 8 | 15 | 39 | |||
| numNetworkReqs | 68 | 55 | 240 | 23 | 65 | 117 | |||
| Webpack | Standard Home | uiStartup | 850 | 684 | 1264 | 88 | 889 | 1009 | |
| load | 659 | 574 | 1118 | 85 | 724 | 786 | |||
| domContentLoaded | 654 | 568 | 1112 | 85 | 719 | 780 | |||
| domInteractive | 26 | 15 | 99 | 20 | 21 | 86 | |||
| firstPaint | 238 | 92 | 773 | 172 | 229 | 749 | |||
| backgroundConnect | 25 | 6 | 111 | 25 | 33 | 92 | |||
| firstReactRender | 59 | 35 | 216 | 37 | 50 | 147 | |||
| getState | 34 | 15 | 150 | 26 | 40 | 68 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 651 | 566 | 1102 | 84 | 717 | 769 | |||
| setupStore | 11 | 7 | 42 | 6 | 12 | 28 | |||
| numNetworkReqs | 18 | 11 | 81 | 18 | 11 | 71 | |||
| Webpack | Power User Home | uiStartup | 1402 | 1107 | 2293 | 200 | 1492 | 1766 | |
| load | 730 | 602 | 974 | 102 | 835 | 916 | |||
| domContentLoaded | 724 | 594 | 968 | 101 | 826 | 908 | |||
| domInteractive | 31 | 17 | 125 | 25 | 27 | 102 | |||
| firstPaint | 293 | 104 | 918 | 228 | 263 | 886 | |||
| backgroundConnect | 81 | 8 | 701 | 157 | 53 | 579 | |||
| firstReactRender | 52 | 41 | 101 | 8 | 52 | 67 | |||
| getState | 183 | 74 | 687 | 59 | 189 | 264 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 720 | 592 | 965 | 101 | 818 | 903 | |||
| setupStore | 15 | 6 | 38 | 8 | 14 | 35 | |||
| numNetworkReqs | 67 | 52 | 159 | 19 | 64 | 122 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1375 | 1063 | 2172 | 186 | 1484 | 1689 |
| load | 1081 | 907 | 1786 | 141 | 1168 | 1315 | |||
| domContentLoaded | 1080 | 906 | 1785 | 142 | 1167 | 1314 | |||
| domInteractive | 61 | 30 | 235 | 37 | 85 | 133 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 57 | 20 | 238 | 48 | 81 | 180 | |||
| firstReactRender | 39 | 31 | 65 | 7 | 42 | 58 | |||
| getState | 12 | 6 | 78 | 9 | 13 | 29 | |||
| initialActions | 1 | 0 | 2 | 0 | 2 | 2 | |||
| loadScripts | 1046 | 892 | 1761 | 125 | 1120 | 1217 | |||
| setupStore | 23 | 5 | 439 | 63 | 11 | 46 | |||
| numNetworkReqs | 19 | 9 | 79 | 19 | 13 | 76 | |||
| Browserify | Power User Home | uiStartup | 2625 | 1621 | 3830 | 564 | 3049 | 3485 | |
| load | 1651 | 972 | 3095 | 521 | 2119 | 2410 | |||
| domContentLoaded | 1651 | 967 | 3094 | 521 | 2118 | 2409 | |||
| domInteractive | 148 | 31 | 1081 | 242 | 89 | 950 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 220 | 22 | 1187 | 278 | 220 | 1046 | |||
| firstReactRender | 59 | 35 | 181 | 19 | 60 | 96 | |||
| getState | 128 | 38 | 264 | 40 | 152 | 211 | |||
| initialActions | 2 | 0 | 38 | 4 | 2 | 3 | |||
| loadScripts | 1519 | 956 | 2587 | 459 | 1978 | 2247 | |||
| setupStore | 42 | 4 | 388 | 71 | 32 | 240 | |||
| numNetworkReqs | 72 | 53 | 129 | 21 | 88 | 119 | |||
| Webpack | Standard Home | uiStartup | 1641 | 1334 | 2299 | 168 | 1747 | 1929 | |
| load | 1332 | 1114 | 1866 | 122 | 1390 | 1547 | |||
| domContentLoaded | 1332 | 1113 | 1866 | 122 | 1390 | 1547 | |||
| domInteractive | 71 | 28 | 215 | 40 | 101 | 135 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 65 | 21 | 177 | 41 | 92 | 146 | |||
| firstReactRender | 44 | 34 | 102 | 10 | 46 | 58 | |||
| getState | 19 | 7 | 154 | 27 | 15 | 100 | |||
| initialActions | 1 | 0 | 2 | 1 | 2 | 2 | |||
| loadScripts | 1299 | 1092 | 1797 | 112 | 1363 | 1489 | |||
| setupStore | 22 | 5 | 143 | 26 | 18 | 85 | |||
| numNetworkReqs | 19 | 10 | 83 | 19 | 13 | 77 | |||
| Webpack | Power User Home | uiStartup | 2818 | 1773 | 4061 | 540 | 3139 | 3774 | |
| load | 1951 | 1108 | 3304 | 520 | 2352 | 2736 | |||
| domContentLoaded | 1951 | 1108 | 3304 | 520 | 2351 | 2735 | |||
| domInteractive | 298 | 30 | 1207 | 375 | 393 | 979 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 193 | 25 | 1164 | 240 | 211 | 945 | |||
| firstReactRender | 58 | 37 | 172 | 18 | 61 | 95 | |||
| getState | 131 | 73 | 279 | 50 | 162 | 243 | |||
| initialActions | 2 | 1 | 9 | 1 | 2 | 3 | |||
| loadScripts | 1851 | 1093 | 2856 | 483 | 2267 | 2619 | |||
| setupStore | 48 | 5 | 397 | 81 | 39 | 248 | |||
| numNetworkReqs | 67 | 41 | 143 | 22 | 65 | 116 |
📊 Page Load Benchmark Results
Current Commit: db274a8 | Date: 12/15/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.04s (±38ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
- domContentLoaded-> current mean value: 729ms (±36ms) 🟢 | historical mean value: 732ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 79ms (±10ms) 🟢 | historical mean value: 78ms ⬆️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.04s | 38ms | 1.02s | 1.33s | 1.07s | 1.33s |
| domContentLoaded | 729ms | 36ms | 703ms | 996ms | 753ms | 996ms |
| firstPaint | 79ms | 10ms | 64ms | 168ms | 88ms | 168ms |
| firstContentfulPaint | 79ms | 10ms | 64ms | 168ms | 88ms | 168ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 1.48 KiB (0.03%)
- ui: 323 Bytes (0%)
- common: 455 Bytes (0%)
Builds ready [aa51d04]
- 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 (1269 ± 113 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 | 1269 | 1029 | 1757 | 113 | 1342 | 1417 |
| load | 1062 | 867 | 1449 | 98 | 1113 | 1211 | |||
| domContentLoaded | 1056 | 864 | 1442 | 98 | 1109 | 1204 | |||
| domInteractive | 25 | 15 | 102 | 19 | 22 | 81 | |||
| firstPaint | 532 | 87 | 1456 | 418 | 1042 | 1159 | |||
| backgroundConnect | 210 | 195 | 258 | 10 | 213 | 229 | |||
| firstReactRender | 46 | 33 | 114 | 13 | 47 | 74 | |||
| getState | 38 | 18 | 76 | 11 | 44 | 64 | |||
| initialActions | 1 | 0 | 7 | 1 | 1 | 2 | |||
| loadScripts | 853 | 667 | 1231 | 96 | 908 | 996 | |||
| setupStore | 13 | 7 | 40 | 5 | 13 | 25 | |||
| numNetworkReqs | 18 | 11 | 76 | 17 | 11 | 73 | |||
| Browserify | Power User Home | uiStartup | 1906 | 1540 | 2320 | 154 | 1978 | 2214 | |
| load | 1069 | 873 | 1335 | 118 | 1170 | 1249 | |||
| domContentLoaded | 1060 | 866 | 1326 | 118 | 1162 | 1242 | |||
| domInteractive | 30 | 17 | 115 | 22 | 26 | 98 | |||
| firstPaint | 525 | 81 | 1347 | 411 | 1010 | 1229 | |||
| backgroundConnect | 255 | 201 | 749 | 104 | 229 | 542 | |||
| firstReactRender | 49 | 39 | 89 | 8 | 51 | 64 | |||
| getState | 199 | 146 | 754 | 83 | 203 | 268 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 848 | 668 | 1111 | 117 | 950 | 1028 | |||
| setupStore | 15 | 8 | 50 | 7 | 14 | 33 | |||
| numNetworkReqs | 67 | 54 | 128 | 17 | 64 | 118 | |||
| Webpack | Standard Home | uiStartup | 844 | 670 | 1198 | 84 | 893 | 999 | |
| load | 657 | 571 | 960 | 80 | 709 | 805 | |||
| domContentLoaded | 652 | 567 | 954 | 80 | 701 | 799 | |||
| domInteractive | 26 | 15 | 104 | 20 | 22 | 85 | |||
| firstPaint | 234 | 81 | 766 | 164 | 223 | 708 | |||
| backgroundConnect | 24 | 7 | 116 | 25 | 35 | 93 | |||
| firstReactRender | 57 | 35 | 172 | 33 | 53 | 160 | |||
| getState | 33 | 14 | 136 | 18 | 41 | 65 | |||
| initialActions | 1 | 0 | 9 | 1 | 1 | 2 | |||
| loadScripts | 649 | 565 | 945 | 79 | 699 | 794 | |||
| setupStore | 11 | 6 | 44 | 5 | 12 | 24 | |||
| numNetworkReqs | 18 | 11 | 76 | 17 | 12 | 68 | |||
| Webpack | Power User Home | uiStartup | 1404 | 1107 | 1832 | 196 | 1606 | 1785 | |
| load | 718 | 594 | 958 | 97 | 831 | 899 | |||
| domContentLoaded | 711 | 587 | 949 | 96 | 820 | 893 | |||
| domInteractive | 31 | 17 | 125 | 26 | 26 | 108 | |||
| firstPaint | 294 | 105 | 956 | 214 | 316 | 727 | |||
| backgroundConnect | 92 | 8 | 611 | 164 | 89 | 573 | |||
| firstReactRender | 50 | 42 | 82 | 5 | 52 | 61 | |||
| getState | 184 | 142 | 696 | 58 | 192 | 249 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 708 | 585 | 946 | 95 | 813 | 888 | |||
| setupStore | 15 | 8 | 41 | 7 | 14 | 35 | |||
| numNetworkReqs | 68 | 54 | 135 | 20 | 66 | 131 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1443 | 1057 | 2491 | 245 | 1504 | 1894 |
| load | 1111 | 893 | 2227 | 191 | 1146 | 1296 | |||
| domContentLoaded | 1111 | 893 | 2227 | 191 | 1146 | 1296 | |||
| domInteractive | 75 | 32 | 1132 | 111 | 87 | 132 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 68 | 21 | 219 | 50 | 101 | 188 | |||
| firstReactRender | 42 | 32 | 77 | 10 | 42 | 68 | |||
| getState | 12 | 7 | 40 | 6 | 12 | 25 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1079 | 878 | 2207 | 184 | 1118 | 1243 | |||
| setupStore | 27 | 5 | 1041 | 107 | 11 | 84 | |||
| numNetworkReqs | 20 | 9 | 86 | 20 | 14 | 78 | |||
| Browserify | Power User Home | uiStartup | 2624 | 1704 | 3849 | 536 | 3045 | 3421 | |
| load | 1593 | 1010 | 2749 | 495 | 2055 | 2352 | |||
| domContentLoaded | 1593 | 1010 | 2748 | 495 | 2055 | 2351 | |||
| domInteractive | 126 | 31 | 1004 | 205 | 81 | 910 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 187 | 23 | 1154 | 220 | 201 | 955 | |||
| firstReactRender | 59 | 37 | 199 | 22 | 63 | 87 | |||
| getState | 134 | 47 | 294 | 44 | 161 | 206 | |||
| initialActions | 4 | 0 | 41 | 8 | 2 | 33 | |||
| loadScripts | 1499 | 965 | 2660 | 467 | 1977 | 2295 | |||
| setupStore | 64 | 5 | 1093 | 181 | 48 | 212 | |||
| numNetworkReqs | 72 | 55 | 141 | 21 | 82 | 113 | |||
| Webpack | Standard Home | uiStartup | 1606 | 1330 | 3289 | 233 | 1722 | 1849 | |
| load | 1309 | 1120 | 2969 | 194 | 1355 | 1499 | |||
| domContentLoaded | 1309 | 1120 | 2969 | 194 | 1355 | 1498 | |||
| domInteractive | 81 | 30 | 232 | 38 | 105 | 135 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 62 | 20 | 169 | 37 | 83 | 150 | |||
| firstReactRender | 43 | 34 | 104 | 10 | 44 | 59 | |||
| getState | 22 | 7 | 163 | 33 | 16 | 119 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1278 | 1098 | 2948 | 190 | 1328 | 1439 | |||
| setupStore | 15 | 6 | 76 | 13 | 15 | 50 | |||
| numNetworkReqs | 19 | 9 | 83 | 20 | 13 | 78 | |||
| Webpack | Power User Home | uiStartup | 2655 | 1757 | 3923 | 516 | 3058 | 3355 | |
| load | 1873 | 1161 | 2741 | 472 | 2277 | 2494 | |||
| domContentLoaded | 1873 | 1160 | 2740 | 472 | 2277 | 2494 | |||
| domInteractive | 209 | 22 | 994 | 316 | 166 | 969 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 142 | 25 | 969 | 166 | 181 | 362 | |||
| firstReactRender | 55 | 35 | 140 | 18 | 60 | 83 | |||
| getState | 146 | 72 | 1080 | 109 | 163 | 250 | |||
| initialActions | 2 | 0 | 8 | 2 | 2 | 7 | |||
| loadScripts | 1805 | 1126 | 2696 | 451 | 2219 | 2463 | |||
| setupStore | 47 | 4 | 966 | 112 | 31 | 207 | |||
| numNetworkReqs | 69 | 45 | 134 | 20 | 77 | 112 |
📊 Page Load Benchmark Results
Current Commit: aa51d04 | Date: 12/15/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.03s (±55ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
- domContentLoaded-> current mean value: 721ms (±53ms) 🟢 | historical mean value: 731ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 78ms (±31ms) 🟢 | historical mean value: 78ms ⬆️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.03s | 55ms | 1.01s | 1.52s | 1.08s | 1.52s |
| domContentLoaded | 721ms | 53ms | 700ms | 1.20s | 747ms | 1.20s |
| firstPaint | 78ms | 31ms | 60ms | 376ms | 84ms | 376ms |
| firstContentfulPaint | 78ms | 31ms | 60ms | 376ms | 84ms | 376ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 4.91 KiB (0.1%)
- ui: 2.42 KiB (0.03%)
- common: 1.62 KiB (0.02%)