feat: webpack lavamoat node
Description
This PR makes the webpack build process run under lavamoat-node.
Changelog
CHANGELOG entry: null
Related issues
Fixes: https://github.com/MetaMask/MetaMask-planning/issues/5839
Manual testing steps
- Build process should run under lavamoat-node
- Everything should still work
Screenshots/Recordings
Not applicable
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] Runs the webpack build under LavaMoat Node, adds webpack LavaMoat policies and scripts, updates CI to generate/validate them, and patches deps for compatibility.
- Build/Tooling:
- Run webpack via LavaMoat Node with new scripts:
webpack:lavamoat,webpack:lavamoat:build,webpack:lavamoat:generate(andwebpack:tsc).- Add
development/webpack/tsconfig.json; adjustlaunch.ts/fork.tsto require./buildand use compiled outputs; ignore.webpack/.- CI:
- Workflows
update-lavamoat-policies.ymlandvalidate-lavamoat-policies.ymlnow useyarn webpack:lavamoat:build.- Add job to generate/cache/restore a new
webpack buildpolicy and include it in commit/validation steps.- Policies:
- Add
lavamoat/webpack/build/policy.jsonandpolicy-override.json.- Update build-system policies (e.g., allow
tsx>fsevents, expandtypescriptglobals).- Dependencies/Patches:
- Bump
@lavamoat/webpackto1.5.6,lavamoatto10.0.5,typescriptto~5.6.0.- Patch
html-bundler-webpack-pluginandtailwindcssfor LavaMoat compatibility; add Yarn preapproved packages and lockfile updates.- Tests:
- Update
useBalanceChangestest to expectundefinedfor missing conversion rate.Written by Cursor Bugbot for commit 9b7a3b6a59f5c525d5b4dd20ecf3467a1b6ea2fc. 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.
✨ Files requiring CODEOWNER review ✨
✅ @MetaMask/confirmations (1 files, +1 -1)
- 📁 ui/
- 📁 pages/
- 📁 confirmations/
- 📁 components/
- 📁 simulation-details/
- 📄
useBalanceChanges.test.ts+1 -1
- 📄
- 📁 simulation-details/
- 📁 components/
- 📁 confirmations/
- 📁 pages/
👨🔧 @MetaMask/extension-platform (1 files, +1 -0)
- 📄
.yarnrc.yml+1 -0
📜 @MetaMask/policy-reviewers (4 files, +3412 -5)
- 📁 lavamoat/
- 📁 build-system/
- 📄
policy-override.json+9 -1 - 📄
policy.json+35 -4
- 📄
- 📁 webpack/
- 📁 build/
- 📄
policy-override.json+212 -0 - 📄
policy.json+3156 -0
- 📄
- 📁 build/
- 📁 build-system/
[!TIP]
Follow the policy review process outlined in the LavaMoat Policy Review Process doc before expecting an approval from Policy Reviewers.
Builds ready [02c48a6]
- builds: chrome, firefox
- builds (beta): chrome, firefox
- builds (flask): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- lavamoat build viz: Build System
- bundle size: Bundle Size Stats
- user-actions-benchmark: User Actions Stats
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
UI Startup Metrics (1194 ± 96 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 | 1194 | 984 | 1474 | 96 | 1241 | 1393 |
| load | 1014 | 844 | 1286 | 87 | 1047 | 1195 | |||
| domContentLoaded | 1009 | 842 | 1278 | 86 | 1040 | 1187 | |||
| domInteractive | 26 | 15 | 121 | 25 | 21 | 103 | |||
| firstPaint | 511 | 92 | 1292 | 397 | 984 | 1154 | |||
| backgroundConnect | 210 | 197 | 242 | 9 | 212 | 235 | |||
| firstReactRender | 27 | 18 | 64 | 9 | 29 | 45 | |||
| getState | 31 | 17 | 96 | 11 | 33 | 53 | |||
| initialActions | 1 | 0 | 6 | 1 | 1 | 2 | |||
| loadScripts | 806 | 645 | 1054 | 85 | 838 | 987 | |||
| setupStore | 11 | 6 | 28 | 4 | 11 | 18 | |||
| numNetworkReqs | 12 | 5 | 78 | 20 | 5 | 73 | |||
| Browserify | Power User Home | uiStartup | 1846 | 1522 | 2256 | 165 | 1949 | 2165 | |
| load | 990 | 878 | 1508 | 138 | 975 | 1393 | |||
| domContentLoaded | 977 | 872 | 1500 | 139 | 960 | 1387 | |||
| domInteractive | 36 | 16 | 226 | 42 | 29 | 170 | |||
| firstPaint | 487 | 83 | 1460 | 346 | 921 | 981 | |||
| backgroundConnect | 218 | 201 | 259 | 11 | 222 | 246 | |||
| firstReactRender | 84 | 46 | 152 | 20 | 94 | 125 | |||
| getState | 163 | 127 | 232 | 25 | 179 | 220 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 3 | |||
| loadScripts | 773 | 669 | 1292 | 139 | 757 | 1181 | |||
| setupStore | 20 | 10 | 49 | 9 | 25 | 37 | |||
| numNetworkReqs | 92 | 64 | 201 | 29 | 97 | 180 | |||
| Webpack | Standard Home | uiStartup | 821 | 699 | 1186 | 86 | 841 | 1029 | |
| load | 637 | 565 | 933 | 75 | 658 | 817 | |||
| domContentLoaded | 632 | 561 | 923 | 74 | 653 | 811 | |||
| domInteractive | 28 | 15 | 143 | 28 | 22 | 112 | |||
| firstPaint | 230 | 83 | 934 | 169 | 206 | 641 | |||
| backgroundConnect | 9 | 5 | 31 | 5 | 10 | 18 | |||
| firstReactRender | 27 | 19 | 42 | 6 | 31 | 38 | |||
| getState | 29 | 14 | 73 | 14 | 38 | 57 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 629 | 559 | 912 | 72 | 651 | 801 | |||
| setupStore | 10 | 6 | 28 | 4 | 12 | 18 | |||
| numNetworkReqs | 12 | 5 | 77 | 20 | 5 | 74 | |||
| Webpack | Power User Home | uiStartup | 1424 | 1093 | 2094 | 158 | 1531 | 1687 | |
| load | 672 | 587 | 1244 | 115 | 672 | 951 | |||
| domContentLoaded | 662 | 582 | 1237 | 115 | 660 | 945 | |||
| domInteractive | 40 | 18 | 186 | 44 | 31 | 172 | |||
| firstPaint | 279 | 102 | 931 | 180 | 345 | 659 | |||
| backgroundConnect | 15 | 7 | 62 | 8 | 17 | 29 | |||
| firstReactRender | 80 | 42 | 103 | 14 | 89 | 99 | |||
| getState | 148 | 123 | 186 | 15 | 156 | 176 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 659 | 580 | 1227 | 113 | 658 | 935 | |||
| setupStore | 24 | 9 | 65 | 15 | 35 | 52 | |||
| numNetworkReqs | 145 | 70 | 334 | 59 | 187 | 294 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1333 | 1132 | 1966 | 142 | 1390 | 1627 |
| load | 1107 | 969 | 1406 | 92 | 1168 | 1285 | |||
| domContentLoaded | 1106 | 964 | 1406 | 92 | 1168 | 1285 | |||
| domInteractive | 72 | 30 | 223 | 41 | 96 | 150 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 45 | 25 | 167 | 27 | 48 | 105 | |||
| firstReactRender | 24 | 19 | 50 | 6 | 25 | 37 | |||
| getState | 13 | 6 | 155 | 18 | 11 | 35 | |||
| initialActions | 1 | 0 | 2 | 1 | 2 | 2 | |||
| loadScripts | 1079 | 948 | 1316 | 84 | 1134 | 1229 | |||
| setupStore | 14 | 4 | 179 | 21 | 11 | 35 | |||
| numNetworkReqs | 11 | 5 | 68 | 16 | 7 | 61 | |||
| Browserify | Power User Home | uiStartup | 2318 | 1912 | 2795 | 223 | 2495 | 2712 | |
| load | 1087 | 918 | 1484 | 131 | 1120 | 1408 | |||
| domContentLoaded | 1086 | 917 | 1483 | 132 | 1119 | 1408 | |||
| domInteractive | 112 | 34 | 386 | 84 | 108 | 360 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 88 | 22 | 378 | 47 | 108 | 165 | |||
| firstReactRender | 79 | 40 | 148 | 18 | 89 | 108 | |||
| getState | 229 | 52 | 801 | 198 | 228 | 680 | |||
| initialActions | 3 | 0 | 12 | 2 | 2 | 7 | |||
| loadScripts | 1054 | 898 | 1461 | 126 | 1073 | 1353 | |||
| setupStore | 166 | 9 | 724 | 204 | 197 | 671 | |||
| numNetworkReqs | 92 | 61 | 220 | 40 | 84 | 199 | |||
| Webpack | Standard Home | uiStartup | 1495 | 1325 | 2037 | 125 | 1539 | 1782 | |
| load | 1260 | 1109 | 1484 | 86 | 1316 | 1438 | |||
| domContentLoaded | 1260 | 1109 | 1483 | 86 | 1316 | 1438 | |||
| domInteractive | 72 | 29 | 190 | 37 | 93 | 133 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 45 | 21 | 183 | 24 | 48 | 86 | |||
| firstReactRender | 28 | 21 | 71 | 7 | 30 | 39 | |||
| getState | 14 | 7 | 126 | 20 | 11 | 30 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1234 | 1084 | 1446 | 79 | 1290 | 1371 | |||
| setupStore | 16 | 6 | 328 | 35 | 11 | 42 | |||
| numNetworkReqs | 11 | 5 | 66 | 15 | 6 | 56 | |||
| Webpack | Power User Home | uiStartup | 2644 | 1994 | 3343 | 261 | 2821 | 3145 | |
| load | 1364 | 1124 | 1928 | 181 | 1464 | 1726 | |||
| domContentLoaded | 1364 | 1123 | 1928 | 181 | 1464 | 1725 | |||
| domInteractive | 117 | 28 | 528 | 118 | 107 | 432 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 100 | 23 | 451 | 61 | 122 | 208 | |||
| firstReactRender | 80 | 40 | 193 | 22 | 89 | 109 | |||
| getState | 313 | 40 | 903 | 251 | 535 | 816 | |||
| initialActions | 5 | 0 | 60 | 11 | 2 | 42 | |||
| loadScripts | 1330 | 1099 | 1911 | 178 | 1427 | 1688 | |||
| setupStore | 85 | 6 | 565 | 105 | 86 | 363 | |||
| numNetworkReqs | 91 | 61 | 184 | 33 | 123 | 154 |
📊 Page Load Benchmark Results
Current Commit: 02c48a6 | Date: 11/24/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.02s (±38ms) 🟡 | historical mean value: 1.03s ⬇️ (historical data)
- domContentLoaded-> current mean value: 712ms (±35ms) 🟢 | historical mean value: 719ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 75ms (±11ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.02s | 38ms | 1.00s | 1.30s | 1.06s | 1.30s |
| domContentLoaded | 712ms | 35ms | 693ms | 976ms | 744ms | 976ms |
| firstPaint | 75ms | 11ms | 56ms | 168ms | 84ms | 168ms |
| firstContentfulPaint | 75ms | 11ms | 56ms | 168ms | 84ms | 168ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 53 Bytes (0%)
- ui: -16 Bytes (0%)
- common: 361 Bytes (0%)
Builds ready [486e137]
- builds: chrome, firefox
- builds (beta): chrome, firefox
- builds (flask): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- lavamoat build viz: Build System
- bundle size: Bundle Size Stats
- user-actions-benchmark: User Actions Stats
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
UI Startup Metrics (1316 ± 125 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 | 1316 | 1073 | 1619 | 125 | 1375 | 1568 |
| load | 1048 | 885 | 1278 | 86 | 1086 | 1222 | |||
| domContentLoaded | 1041 | 881 | 1271 | 86 | 1077 | 1218 | |||
| domInteractive | 26 | 15 | 122 | 23 | 20 | 91 | |||
| firstPaint | 484 | 88 | 1283 | 401 | 1022 | 1183 | |||
| backgroundConnect | 215 | 198 | 263 | 12 | 221 | 240 | |||
| firstReactRender | 36 | 25 | 66 | 8 | 39 | 55 | |||
| getState | 62 | 26 | 195 | 29 | 67 | 129 | |||
| initialActions | 1 | 0 | 7 | 1 | 1 | 4 | |||
| loadScripts | 834 | 678 | 1074 | 85 | 867 | 1009 | |||
| setupStore | 13 | 6 | 59 | 7 | 15 | 25 | |||
| numNetworkReqs | 41 | 28 | 146 | 34 | 30 | 143 | |||
| Browserify | Power User Home | uiStartup | 2152 | 1799 | 3149 | 250 | 2291 | 2588 | |
| load | 1030 | 897 | 1657 | 132 | 1029 | 1363 | |||
| domContentLoaded | 1017 | 888 | 1649 | 132 | 1020 | 1358 | |||
| domInteractive | 36 | 18 | 203 | 34 | 30 | 144 | |||
| firstPaint | 621 | 90 | 1654 | 420 | 988 | 1340 | |||
| backgroundConnect | 256 | 200 | 774 | 101 | 237 | 525 | |||
| firstReactRender | 93 | 46 | 161 | 24 | 110 | 126 | |||
| getState | 196 | 134 | 676 | 75 | 204 | 263 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 3 | |||
| loadScripts | 808 | 688 | 1445 | 133 | 801 | 1151 | |||
| setupStore | 23 | 10 | 83 | 14 | 26 | 54 | |||
| numNetworkReqs | 102 | 62 | 296 | 57 | 95 | 268 | |||
| Webpack | Standard Home | uiStartup | 912 | 759 | 1259 | 111 | 945 | 1183 | |
| load | 671 | 579 | 916 | 86 | 714 | 864 | |||
| domContentLoaded | 666 | 575 | 906 | 85 | 710 | 858 | |||
| domInteractive | 28 | 15 | 109 | 24 | 23 | 105 | |||
| firstPaint | 246 | 94 | 889 | 185 | 219 | 654 | |||
| backgroundConnect | 10 | 5 | 35 | 5 | 10 | 25 | |||
| firstReactRender | 45 | 25 | 222 | 35 | 39 | 129 | |||
| getState | 56 | 16 | 167 | 31 | 88 | 109 | |||
| initialActions | 1 | 0 | 9 | 1 | 1 | 2 | |||
| loadScripts | 663 | 573 | 898 | 83 | 708 | 849 | |||
| setupStore | 14 | 7 | 198 | 19 | 13 | 27 | |||
| numNetworkReqs | 41 | 28 | 147 | 33 | 30 | 140 | |||
| Webpack | Power User Home | uiStartup | 1848 | 1356 | 2406 | 237 | 2035 | 2241 | |
| load | 702 | 606 | 1059 | 101 | 702 | 971 | |||
| domContentLoaded | 691 | 596 | 1054 | 102 | 693 | 965 | |||
| domInteractive | 37 | 16 | 228 | 35 | 34 | 123 | |||
| firstPaint | 366 | 100 | 1026 | 240 | 636 | 779 | |||
| backgroundConnect | 73 | 7 | 607 | 146 | 20 | 505 | |||
| firstReactRender | 95 | 47 | 151 | 24 | 114 | 130 | |||
| getState | 183 | 131 | 726 | 77 | 182 | 237 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 688 | 594 | 1045 | 100 | 691 | 956 | |||
| setupStore | 23 | 9 | 60 | 14 | 26 | 53 | |||
| numNetworkReqs | 143 | 75 | 395 | 73 | 146 | 354 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1462 | 1192 | 2361 | 192 | 1528 | 1812 |
| load | 1109 | 927 | 1847 | 119 | 1169 | 1312 | |||
| domContentLoaded | 1108 | 923 | 1847 | 120 | 1165 | 1312 | |||
| domInteractive | 61 | 29 | 231 | 34 | 85 | 119 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 64 | 25 | 261 | 44 | 67 | 161 | |||
| firstReactRender | 28 | 19 | 109 | 12 | 30 | 54 | |||
| getState | 24 | 11 | 115 | 16 | 22 | 47 | |||
| initialActions | 2 | 0 | 7 | 1 | 2 | 3 | |||
| loadScripts | 1080 | 912 | 1822 | 117 | 1129 | 1283 | |||
| setupStore | 25 | 9 | 128 | 20 | 22 | 74 | |||
| numNetworkReqs | 40 | 28 | 126 | 27 | 33 | 121 | |||
| Browserify | Power User Home | uiStartup | 2642 | 1861 | 4712 | 482 | 2774 | 3844 | |
| load | 1131 | 938 | 2586 | 199 | 1134 | 1475 | |||
| domContentLoaded | 1130 | 938 | 2586 | 199 | 1134 | 1475 | |||
| domInteractive | 120 | 32 | 504 | 97 | 115 | 388 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 130 | 33 | 1410 | 151 | 130 | 290 | |||
| firstReactRender | 84 | 39 | 203 | 22 | 90 | 126 | |||
| getState | 292 | 34 | 1131 | 217 | 405 | 811 | |||
| initialActions | 2 | 0 | 8 | 1 | 2 | 3 | |||
| loadScripts | 1096 | 920 | 2426 | 187 | 1097 | 1445 | |||
| setupStore | 174 | 11 | 885 | 198 | 194 | 679 | |||
| numNetworkReqs | 102 | 59 | 327 | 66 | 81 | 244 | |||
| Webpack | Standard Home | uiStartup | 1953 | 1643 | 4744 | 341 | 2014 | 2452 | |
| load | 1506 | 1291 | 3952 | 271 | 1563 | 1741 | |||
| domContentLoaded | 1505 | 1291 | 3951 | 271 | 1563 | 1741 | |||
| domInteractive | 104 | 35 | 2156 | 211 | 119 | 159 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 89 | 40 | 342 | 55 | 104 | 198 | |||
| firstReactRender | 38 | 27 | 86 | 11 | 42 | 68 | |||
| getState | 35 | 11 | 285 | 39 | 32 | 97 | |||
| initialActions | 2 | 0 | 6 | 1 | 2 | 3 | |||
| loadScripts | 1466 | 1269 | 3838 | 259 | 1523 | 1650 | |||
| setupStore | 39 | 15 | 233 | 33 | 37 | 105 | |||
| numNetworkReqs | 40 | 28 | 131 | 28 | 32 | 123 | |||
| Webpack | Power User Home | uiStartup | 3051 | 2300 | 5080 | 718 | 3097 | 4622 | |
| load | 1496 | 1167 | 2943 | 455 | 1380 | 2779 | |||
| domContentLoaded | 1496 | 1167 | 2943 | 456 | 1379 | 2779 | |||
| domInteractive | 120 | 30 | 998 | 131 | 105 | 395 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 139 | 17 | 1330 | 185 | 134 | 320 | |||
| firstReactRender | 91 | 41 | 317 | 41 | 95 | 178 | |||
| getState | 270 | 61 | 877 | 216 | 280 | 778 | |||
| initialActions | 3 | 0 | 78 | 8 | 2 | 3 | |||
| loadScripts | 1449 | 1141 | 2848 | 422 | 1356 | 2659 | |||
| setupStore | 181 | 5 | 797 | 202 | 284 | 630 | |||
| numNetworkReqs | 100 | 56 | 251 | 60 | 79 | 238 |
📊 Page Load Benchmark Results
Current Commit: 486e137 | Date: 11/25/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 975ms (±52ms) 🟢 | historical mean value: 1.03s ⬇️ (historical data)
- domContentLoaded-> current mean value: 679ms (±49ms) 🟢 | historical mean value: 721ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 74ms (±11ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 975ms | 52ms | 944ms | 1.26s | 1.06s | 1.26s |
| domContentLoaded | 679ms | 49ms | 652ms | 959ms | 740ms | 959ms |
| firstPaint | 74ms | 11ms | 60ms | 172ms | 84ms | 172ms |
| firstContentfulPaint | 74ms | 11ms | 60ms | 172ms | 84ms | 172ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 1.24 KiB (0.03%)
- ui: 10.08 KiB (0.14%)
- common: 988 Bytes (0.01%)
Builds ready [e4b03c7]
- builds: chrome, firefox
- builds (beta): chrome, firefox
- builds (flask): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- lavamoat build viz: Build System
- bundle size: Bundle Size Stats
- user-actions-benchmark: User Actions Stats
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
UI Startup Metrics (1366 ± 136 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 | 1366 | 1118 | 2016 | 136 | 1415 | 1636 |
| load | 1078 | 891 | 1520 | 104 | 1125 | 1253 | |||
| domContentLoaded | 1072 | 886 | 1513 | 102 | 1119 | 1243 | |||
| domInteractive | 26 | 15 | 125 | 23 | 21 | 96 | |||
| firstPaint | 584 | 88 | 1324 | 431 | 1057 | 1224 | |||
| backgroundConnect | 221 | 200 | 274 | 14 | 227 | 248 | |||
| firstReactRender | 44 | 27 | 156 | 18 | 50 | 71 | |||
| getState | 65 | 20 | 152 | 27 | 74 | 123 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 3 | |||
| loadScripts | 858 | 676 | 1304 | 101 | 904 | 1035 | |||
| setupStore | 15 | 6 | 58 | 7 | 18 | 25 | |||
| numNetworkReqs | 41 | 28 | 147 | 34 | 30 | 143 | |||
| Browserify | Power User Home | uiStartup | 2084 | 1798 | 3283 | 249 | 2114 | 2648 | |
| load | 1023 | 911 | 1681 | 137 | 1015 | 1386 | |||
| domContentLoaded | 1009 | 901 | 1655 | 137 | 1006 | 1374 | |||
| domInteractive | 36 | 16 | 202 | 37 | 29 | 142 | |||
| firstPaint | 628 | 94 | 1683 | 419 | 980 | 1405 | |||
| backgroundConnect | 259 | 195 | 592 | 97 | 232 | 533 | |||
| firstReactRender | 92 | 45 | 138 | 23 | 111 | 127 | |||
| getState | 189 | 130 | 721 | 62 | 203 | 246 | |||
| initialActions | 1 | 0 | 7 | 1 | 1 | 2 | |||
| loadScripts | 802 | 693 | 1452 | 137 | 794 | 1168 | |||
| setupStore | 22 | 8 | 95 | 13 | 28 | 46 | |||
| numNetworkReqs | 101 | 65 | 299 | 58 | 94 | 282 | |||
| Webpack | Standard Home | uiStartup | 892 | 751 | 1264 | 106 | 919 | 1152 | |
| load | 658 | 578 | 955 | 85 | 698 | 859 | |||
| domContentLoaded | 654 | 574 | 949 | 85 | 694 | 852 | |||
| domInteractive | 27 | 15 | 116 | 22 | 22 | 91 | |||
| firstPaint | 224 | 85 | 857 | 150 | 220 | 627 | |||
| backgroundConnect | 10 | 6 | 30 | 5 | 10 | 19 | |||
| firstReactRender | 42 | 23 | 233 | 29 | 39 | 109 | |||
| getState | 54 | 18 | 138 | 27 | 72 | 100 | |||
| initialActions | 1 | 0 | 8 | 1 | 1 | 3 | |||
| loadScripts | 651 | 572 | 940 | 83 | 692 | 843 | |||
| setupStore | 14 | 6 | 60 | 9 | 15 | 41 | |||
| numNetworkReqs | 41 | 29 | 150 | 33 | 30 | 142 | |||
| Webpack | Power User Home | uiStartup | 1814 | 1306 | 2600 | 272 | 2028 | 2280 | |
| load | 683 | 575 | 1254 | 112 | 677 | 958 | |||
| domContentLoaded | 673 | 567 | 1246 | 113 | 664 | 951 | |||
| domInteractive | 36 | 18 | 158 | 33 | 33 | 130 | |||
| firstPaint | 308 | 111 | 1003 | 228 | 338 | 815 | |||
| backgroundConnect | 65 | 7 | 592 | 146 | 20 | 566 | |||
| firstReactRender | 93 | 44 | 148 | 24 | 114 | 134 | |||
| getState | 182 | 133 | 704 | 77 | 178 | 231 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 670 | 565 | 1234 | 111 | 662 | 942 | |||
| setupStore | 22 | 10 | 69 | 14 | 25 | 49 | |||
| numNetworkReqs | 148 | 69 | 407 | 77 | 196 | 329 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1402 | 1160 | 1779 | 146 | 1508 | 1692 |
| load | 1070 | 926 | 1287 | 93 | 1140 | 1250 | |||
| domContentLoaded | 1069 | 922 | 1287 | 93 | 1139 | 1244 | |||
| domInteractive | 66 | 29 | 195 | 35 | 90 | 131 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 53 | 22 | 192 | 32 | 57 | 135 | |||
| firstReactRender | 29 | 19 | 83 | 12 | 32 | 55 | |||
| getState | 23 | 11 | 98 | 13 | 22 | 44 | |||
| initialActions | 2 | 0 | 4 | 1 | 2 | 2 | |||
| loadScripts | 1046 | 911 | 1270 | 87 | 1105 | 1227 | |||
| setupStore | 24 | 9 | 108 | 20 | 20 | 90 | |||
| numNetworkReqs | 40 | 28 | 126 | 28 | 32 | 123 | |||
| Browserify | Power User Home | uiStartup | 2627 | 2107 | 4302 | 416 | 2802 | 3433 | |
| load | 1136 | 958 | 2438 | 204 | 1123 | 1520 | |||
| domContentLoaded | 1135 | 953 | 2437 | 204 | 1123 | 1520 | |||
| domInteractive | 116 | 31 | 511 | 98 | 114 | 373 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 124 | 24 | 579 | 103 | 136 | 427 | |||
| firstReactRender | 87 | 38 | 320 | 30 | 95 | 124 | |||
| getState | 247 | 70 | 826 | 180 | 268 | 726 | |||
| initialActions | 3 | 0 | 35 | 5 | 2 | 7 | |||
| loadScripts | 1097 | 936 | 2307 | 189 | 1079 | 1463 | |||
| setupStore | 228 | 7 | 845 | 235 | 380 | 742 | |||
| numNetworkReqs | 103 | 58 | 325 | 65 | 78 | 244 | |||
| Webpack | Standard Home | uiStartup | 1607 | 1366 | 2128 | 185 | 1703 | 1969 | |
| load | 1265 | 1115 | 1552 | 112 | 1325 | 1502 | |||
| domContentLoaded | 1264 | 1115 | 1552 | 112 | 1324 | 1502 | |||
| domInteractive | 56 | 23 | 177 | 35 | 82 | 135 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 65 | 20 | 284 | 42 | 68 | 145 | |||
| firstReactRender | 33 | 21 | 78 | 10 | 37 | 53 | |||
| getState | 22 | 10 | 122 | 15 | 24 | 37 | |||
| initialActions | 2 | 0 | 4 | 1 | 2 | 3 | |||
| loadScripts | 1237 | 1096 | 1497 | 104 | 1301 | 1474 | |||
| setupStore | 24 | 10 | 146 | 22 | 22 | 92 | |||
| numNetworkReqs | 40 | 28 | 127 | 27 | 33 | 122 | |||
| Webpack | Power User Home | uiStartup | 3061 | 2233 | 5378 | 737 | 3279 | 4804 | |
| load | 1492 | 1174 | 3331 | 456 | 1543 | 2808 | |||
| domContentLoaded | 1492 | 1174 | 3330 | 456 | 1543 | 2802 | |||
| domInteractive | 135 | 29 | 1867 | 221 | 96 | 432 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 173 | 23 | 1250 | 239 | 150 | 982 | |||
| firstReactRender | 95 | 39 | 300 | 40 | 103 | 154 | |||
| getState | 338 | 64 | 1744 | 291 | 508 | 850 | |||
| initialActions | 2 | 1 | 8 | 1 | 2 | 3 | |||
| loadScripts | 1409 | 1146 | 3310 | 369 | 1481 | 2267 | |||
| setupStore | 130 | 6 | 716 | 176 | 110 | 606 | |||
| numNetworkReqs | 102 | 62 | 330 | 63 | 78 | 247 |
📊 Page Load Benchmark Results
Current Commit: e4b03c7 | Date: 11/25/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.11s (±119ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
- domContentLoaded-> current mean value: 797ms (±123ms) 🟢 | historical mean value: 729ms ⬆️ (historical data)
- firstContentfulPaint-> current mean value: 91ms (±127ms) 🟢 | historical mean value: 78ms ⬆️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.11s | 119ms | 1.02s | 1.35s | 1.33s | 1.35s |
| domContentLoaded | 797ms | 123ms | 704ms | 1.29s | 1.01s | 1.29s |
| firstPaint | 91ms | 127ms | 60ms | 1.36s | 88ms | 1.36s |
| firstContentfulPaint | 91ms | 127ms | 60ms | 1.36s | 88ms | 1.36s |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 1.24 KiB (0.03%)
- ui: 10.08 KiB (0.14%)
- common: 988 Bytes (0.01%)
Builds ready [99b871e]
- builds: chrome, firefox
- builds (beta): chrome, firefox
- builds (flask): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- lavamoat build viz: Build System
- bundle size: Bundle Size Stats
- user-actions-benchmark: User Actions Stats
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
UI Startup Metrics (1328 ± 139 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 | 1328 | 1084 | 1834 | 139 | 1403 | 1596 |
| load | 1044 | 865 | 1505 | 110 | 1093 | 1254 | |||
| domContentLoaded | 1036 | 862 | 1498 | 109 | 1086 | 1231 | |||
| domInteractive | 27 | 14 | 112 | 23 | 22 | 96 | |||
| firstPaint | 588 | 74 | 1524 | 440 | 1048 | 1239 | |||
| backgroundConnect | 215 | 194 | 258 | 13 | 223 | 243 | |||
| firstReactRender | 38 | 25 | 70 | 8 | 43 | 55 | |||
| getState | 70 | 18 | 181 | 33 | 82 | 146 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 4 | |||
| loadScripts | 829 | 658 | 1247 | 107 | 888 | 1031 | |||
| setupStore | 14 | 7 | 29 | 5 | 17 | 24 | |||
| numNetworkReqs | 41 | 28 | 150 | 34 | 30 | 145 | |||
| Browserify | Power User Home | uiStartup | 2164 | 1764 | 2917 | 245 | 2251 | 2702 | |
| load | 1047 | 925 | 1602 | 137 | 1051 | 1401 | |||
| domContentLoaded | 1034 | 908 | 1587 | 138 | 1041 | 1390 | |||
| domInteractive | 36 | 17 | 149 | 32 | 31 | 133 | |||
| firstPaint | 563 | 94 | 1610 | 409 | 988 | 1350 | |||
| backgroundConnect | 273 | 208 | 795 | 125 | 237 | 571 | |||
| firstReactRender | 94 | 45 | 146 | 23 | 111 | 138 | |||
| getState | 187 | 135 | 325 | 33 | 204 | 252 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 4 | |||
| loadScripts | 820 | 709 | 1379 | 138 | 826 | 1178 | |||
| setupStore | 24 | 10 | 73 | 13 | 28 | 49 | |||
| numNetworkReqs | 103 | 66 | 282 | 56 | 98 | 272 | |||
| Webpack | Standard Home | uiStartup | 887 | 716 | 1353 | 114 | 930 | 1122 | |
| load | 663 | 563 | 975 | 93 | 723 | 852 | |||
| domContentLoaded | 658 | 558 | 970 | 92 | 717 | 845 | |||
| domInteractive | 27 | 16 | 117 | 23 | 22 | 97 | |||
| firstPaint | 235 | 94 | 908 | 161 | 210 | 602 | |||
| backgroundConnect | 9 | 5 | 28 | 4 | 10 | 18 | |||
| firstReactRender | 36 | 19 | 193 | 20 | 38 | 69 | |||
| getState | 49 | 16 | 123 | 22 | 61 | 95 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 655 | 556 | 960 | 90 | 716 | 835 | |||
| setupStore | 14 | 5 | 67 | 10 | 14 | 38 | |||
| numNetworkReqs | 41 | 28 | 147 | 34 | 30 | 144 | |||
| Webpack | Power User Home | uiStartup | 1934 | 1390 | 2539 | 244 | 2068 | 2401 | |
| load | 678 | 593 | 1222 | 102 | 693 | 945 | |||
| domContentLoaded | 668 | 585 | 1216 | 103 | 685 | 939 | |||
| domInteractive | 36 | 18 | 169 | 31 | 31 | 127 | |||
| firstPaint | 294 | 124 | 976 | 194 | 341 | 699 | |||
| backgroundConnect | 103 | 7 | 654 | 193 | 37 | 597 | |||
| firstReactRender | 94 | 47 | 164 | 24 | 110 | 132 | |||
| getState | 190 | 126 | 749 | 107 | 183 | 235 | |||
| initialActions | 1 | 0 | 2 | 0 | 1 | 2 | |||
| loadScripts | 666 | 582 | 1208 | 101 | 682 | 930 | |||
| setupStore | 20 | 9 | 52 | 12 | 22 | 50 | |||
| numNetworkReqs | 150 | 70 | 410 | 76 | 196 | 328 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1454 | 1218 | 2079 | 184 | 1540 | 1866 |
| load | 1098 | 923 | 1634 | 119 | 1158 | 1287 | |||
| domContentLoaded | 1097 | 923 | 1634 | 119 | 1157 | 1286 | |||
| domInteractive | 72 | 33 | 255 | 38 | 97 | 132 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 67 | 22 | 244 | 43 | 84 | 169 | |||
| firstReactRender | 29 | 18 | 132 | 15 | 33 | 55 | |||
| getState | 28 | 9 | 122 | 20 | 28 | 83 | |||
| initialActions | 2 | 0 | 4 | 1 | 2 | 2 | |||
| loadScripts | 1069 | 907 | 1576 | 107 | 1117 | 1253 | |||
| setupStore | 28 | 12 | 162 | 25 | 27 | 92 | |||
| numNetworkReqs | 40 | 28 | 124 | 27 | 34 | 121 | |||
| Browserify | Power User Home | uiStartup | 2732 | 2078 | 4670 | 433 | 2858 | 3863 | |
| load | 1174 | 977 | 2402 | 189 | 1198 | 1513 | |||
| domContentLoaded | 1173 | 977 | 2402 | 189 | 1198 | 1513 | |||
| domInteractive | 126 | 33 | 640 | 107 | 118 | 400 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 153 | 31 | 2542 | 257 | 139 | 369 | |||
| firstReactRender | 91 | 52 | 153 | 23 | 102 | 137 | |||
| getState | 285 | 83 | 1094 | 213 | 364 | 750 | |||
| initialActions | 2 | 0 | 8 | 1 | 2 | 3 | |||
| loadScripts | 1140 | 960 | 2277 | 182 | 1155 | 1484 | |||
| setupStore | 191 | 7 | 967 | 221 | 237 | 709 | |||
| numNetworkReqs | 100 | 60 | 316 | 61 | 77 | 241 | |||
| Webpack | Standard Home | uiStartup | 1647 | 1397 | 2253 | 177 | 1723 | 1972 | |
| load | 1268 | 1092 | 1690 | 114 | 1338 | 1509 | |||
| domContentLoaded | 1267 | 1092 | 1690 | 114 | 1338 | 1508 | |||
| domInteractive | 58 | 26 | 117 | 28 | 84 | 106 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 66 | 29 | 223 | 38 | 92 | 145 | |||
| firstReactRender | 32 | 21 | 102 | 12 | 37 | 50 | |||
| getState | 32 | 10 | 180 | 32 | 32 | 95 | |||
| initialActions | 2 | 0 | 7 | 1 | 2 | 3 | |||
| loadScripts | 1240 | 1077 | 1663 | 108 | 1308 | 1445 | |||
| setupStore | 33 | 10 | 205 | 35 | 31 | 103 | |||
| numNetworkReqs | 41 | 28 | 123 | 26 | 38 | 120 | |||
| Webpack | Power User Home | uiStartup | 3051 | 2217 | 7821 | 817 | 3049 | 4644 | |
| load | 1538 | 1132 | 5975 | 648 | 1389 | 2768 | |||
| domContentLoaded | 1538 | 1132 | 5974 | 648 | 1389 | 2768 | |||
| domInteractive | 196 | 30 | 4384 | 476 | 102 | 996 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 139 | 31 | 1040 | 185 | 128 | 481 | |||
| firstReactRender | 87 | 40 | 213 | 26 | 96 | 132 | |||
| getState | 282 | 76 | 943 | 216 | 356 | 801 | |||
| initialActions | 2 | 1 | 35 | 3 | 2 | 3 | |||
| loadScripts | 1484 | 1113 | 5955 | 616 | 1370 | 2668 | |||
| setupStore | 155 | 6 | 757 | 209 | 166 | 709 | |||
| numNetworkReqs | 100 | 63 | 255 | 58 | 79 | 237 |
📊 Page Load Benchmark Results
Current Commit: 99b871e | Date: 11/26/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.08s (±71ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
- domContentLoaded-> current mean value: 763ms (±69ms) 🟢 | historical mean value: 718ms ⬆️ (historical data)
- firstContentfulPaint-> current mean value: 80ms (±10ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.08s | 71ms | 1.03s | 1.36s | 1.32s | 1.36s |
| domContentLoaded | 763ms | 69ms | 714ms | 1.03s | 980ms | 1.03s |
| firstPaint | 80ms | 10ms | 64ms | 160ms | 88ms | 160ms |
| firstContentfulPaint | 80ms | 10ms | 64ms | 160ms | 88ms | 160ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 1.5 KiB (0.03%)
- ui: 6.6 KiB (0.09%)
- common: 2.2 KiB (0.03%)
Builds ready [f99a048]
- builds: chrome, firefox
- builds (beta): chrome, firefox
- builds (flask): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- lavamoat build viz: Build System
- bundle size: Bundle Size Stats
- user-actions-benchmark: User Actions Stats
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
UI Startup Metrics (1318 ± 133 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 | 1318 | 1085 | 1813 | 133 | 1401 | 1547 |
| load | 1054 | 872 | 1345 | 106 | 1115 | 1229 | |||
| domContentLoaded | 1048 | 867 | 1323 | 104 | 1109 | 1217 | |||
| domInteractive | 27 | 15 | 134 | 24 | 22 | 93 | |||
| firstPaint | 610 | 87 | 1335 | 417 | 1053 | 1215 | |||
| backgroundConnect | 216 | 197 | 308 | 16 | 222 | 239 | |||
| firstReactRender | 39 | 24 | 74 | 10 | 44 | 62 | |||
| getState | 63 | 19 | 188 | 28 | 77 | 124 | |||
| initialActions | 1 | 0 | 6 | 1 | 2 | 4 | |||
| loadScripts | 838 | 664 | 1106 | 100 | 895 | 1019 | |||
| setupStore | 14 | 7 | 34 | 6 | 17 | 29 | |||
| numNetworkReqs | 41 | 27 | 146 | 34 | 30 | 142 | |||
| Browserify | Power User Home | uiStartup | 2242 | 1837 | 3257 | 285 | 2395 | 2808 | |
| load | 1034 | 914 | 1714 | 140 | 1030 | 1378 | |||
| domContentLoaded | 1019 | 906 | 1702 | 141 | 1024 | 1367 | |||
| domInteractive | 35 | 17 | 174 | 31 | 32 | 125 | |||
| firstPaint | 492 | 104 | 1408 | 371 | 945 | 1231 | |||
| backgroundConnect | 268 | 204 | 762 | 125 | 241 | 669 | |||
| firstReactRender | 62 | 47 | 122 | 13 | 67 | 92 | |||
| getState | 186 | 137 | 294 | 31 | 204 | 252 | |||
| initialActions | 1 | 0 | 6 | 1 | 1 | 2 | |||
| loadScripts | 810 | 695 | 1453 | 139 | 808 | 1158 | |||
| setupStore | 22 | 7 | 73 | 11 | 24 | 44 | |||
| numNetworkReqs | 142 | 67 | 383 | 66 | 185 | 284 | |||
| Webpack | Standard Home | uiStartup | 879 | 740 | 1206 | 108 | 908 | 1166 | |
| load | 646 | 563 | 881 | 82 | 674 | 850 | |||
| domContentLoaded | 641 | 560 | 874 | 81 | 669 | 845 | |||
| domInteractive | 28 | 16 | 123 | 25 | 23 | 101 | |||
| firstPaint | 223 | 88 | 855 | 157 | 212 | 642 | |||
| backgroundConnect | 10 | 5 | 34 | 5 | 10 | 20 | |||
| firstReactRender | 40 | 22 | 264 | 32 | 41 | 108 | |||
| getState | 49 | 13 | 133 | 24 | 66 | 91 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 638 | 558 | 864 | 79 | 667 | 835 | |||
| setupStore | 17 | 5 | 98 | 14 | 17 | 47 | |||
| numNetworkReqs | 41 | 28 | 145 | 34 | 30 | 143 | |||
| Webpack | Power User Home | uiStartup | 1825 | 1308 | 2374 | 252 | 2026 | 2249 | |
| load | 679 | 586 | 992 | 98 | 676 | 921 | |||
| domContentLoaded | 668 | 575 | 966 | 98 | 667 | 916 | |||
| domInteractive | 35 | 17 | 149 | 30 | 32 | 123 | |||
| firstPaint | 291 | 100 | 930 | 198 | 275 | 808 | |||
| backgroundConnect | 73 | 7 | 647 | 158 | 22 | 562 | |||
| firstReactRender | 65 | 46 | 91 | 11 | 73 | 89 | |||
| getState | 184 | 127 | 696 | 76 | 186 | 213 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 665 | 573 | 956 | 96 | 665 | 907 | |||
| setupStore | 21 | 10 | 55 | 12 | 23 | 47 | |||
| numNetworkReqs | 159 | 71 | 408 | 76 | 199 | 372 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1396 | 1167 | 1940 | 161 | 1465 | 1752 |
| load | 1063 | 918 | 1348 | 90 | 1138 | 1226 | |||
| domContentLoaded | 1061 | 918 | 1347 | 90 | 1138 | 1226 | |||
| domInteractive | 57 | 30 | 158 | 32 | 75 | 133 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 63 | 29 | 358 | 51 | 72 | 169 | |||
| firstReactRender | 28 | 18 | 58 | 9 | 31 | 49 | |||
| getState | 24 | 12 | 141 | 18 | 23 | 41 | |||
| initialActions | 2 | 1 | 4 | 1 | 2 | 2 | |||
| loadScripts | 1031 | 899 | 1309 | 81 | 1079 | 1197 | |||
| setupStore | 23 | 12 | 167 | 21 | 21 | 61 | |||
| numNetworkReqs | 39 | 28 | 124 | 27 | 32 | 121 | |||
| Browserify | Power User Home | uiStartup | 2616 | 1977 | 4476 | 529 | 2726 | 4029 | |
| load | 1158 | 982 | 2622 | 286 | 1141 | 1973 | |||
| domContentLoaded | 1158 | 982 | 2622 | 286 | 1141 | 1972 | |||
| domInteractive | 115 | 33 | 434 | 91 | 112 | 370 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 133 | 27 | 1374 | 172 | 129 | 376 | |||
| firstReactRender | 63 | 41 | 165 | 19 | 63 | 100 | |||
| getState | 268 | 69 | 997 | 216 | 294 | 785 | |||
| initialActions | 2 | 0 | 29 | 4 | 2 | 3 | |||
| loadScripts | 1119 | 916 | 2465 | 256 | 1097 | 1848 | |||
| setupStore | 179 | 7 | 1037 | 230 | 175 | 800 | |||
| numNetworkReqs | 100 | 61 | 319 | 60 | 82 | 246 | |||
| Webpack | Standard Home | uiStartup | 1627 | 1374 | 3059 | 230 | 1748 | 1960 | |
| load | 1263 | 1067 | 2708 | 181 | 1322 | 1501 | |||
| domContentLoaded | 1263 | 1067 | 2708 | 181 | 1322 | 1501 | |||
| domInteractive | 50 | 26 | 129 | 27 | 70 | 104 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 71 | 18 | 332 | 50 | 78 | 165 | |||
| firstReactRender | 33 | 20 | 81 | 10 | 37 | 47 | |||
| getState | 30 | 10 | 194 | 32 | 28 | 115 | |||
| initialActions | 2 | 0 | 8 | 1 | 2 | 3 | |||
| loadScripts | 1231 | 1042 | 2679 | 174 | 1289 | 1424 | |||
| setupStore | 31 | 8 | 214 | 36 | 31 | 123 | |||
| numNetworkReqs | 41 | 28 | 126 | 27 | 41 | 121 | |||
| Webpack | Power User Home | uiStartup | 3184 | 2288 | 6123 | 839 | 3310 | 5122 | |
| load | 1514 | 1164 | 3128 | 445 | 1516 | 2832 | |||
| domContentLoaded | 1514 | 1164 | 3128 | 445 | 1515 | 2832 | |||
| domInteractive | 111 | 32 | 474 | 99 | 105 | 394 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 173 | 39 | 1685 | 240 | 159 | 513 | |||
| firstReactRender | 68 | 42 | 280 | 30 | 71 | 121 | |||
| getState | 282 | 58 | 1704 | 265 | 380 | 795 | |||
| initialActions | 2 | 1 | 7 | 1 | 2 | 7 | |||
| loadScripts | 1431 | 1142 | 3026 | 356 | 1461 | 2216 | |||
| setupStore | 210 | 9 | 1308 | 262 | 294 | 738 | |||
| numNetworkReqs | 100 | 62 | 293 | 57 | 79 | 236 |
📊 Page Load Benchmark Results
Current Commit: f99a048 | Date: 11/26/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.04s (±56ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
- domContentLoaded-> current mean value: 728ms (±51ms) 🟢 | historical mean value: 720ms ⬆️ (historical data)
- firstContentfulPaint-> current mean value: 76ms (±13ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.04s | 56ms | 1.01s | 1.36s | 1.07s | 1.36s |
| domContentLoaded | 728ms | 51ms | 694ms | 1.00s | 752ms | 1.00s |
| firstPaint | 76ms | 13ms | 56ms | 180ms | 88ms | 180ms |
| firstContentfulPaint | 76ms | 13ms | 56ms | 180ms | 88ms | 180ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 58 Bytes (0%)
- ui: 0 Bytes (0%)
- common: 465 Bytes (0.01%)
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
| Diff | Package | Supply Chain Security |
Vulnerability | Quality | Maintenance | License |
|---|---|---|---|---|---|---|
| typescript@5.4.5 ⏵ 5.6.3 | ||||||
| lavamoat@10.0.0 ⏵ 10.0.5 | ||||||
| @lavamoat/webpack@1.5.3 ⏵ 1.5.6 |
@metamaskbot update-policies
Policy update failed. You can review the logs or retry the policy update here
Policy update failed. You can review the logs or retry the policy update here
Builds ready [6632c96]
- builds: chrome, firefox
- builds (beta): chrome, firefox
- builds (flask): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- lavamoat build viz: Build System
- bundle size: Bundle Size Stats
- user-actions-benchmark: User Actions Stats
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
UI Startup Metrics (1198 ± 115 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 | 1198 | 1001 | 1683 | 115 | 1283 | 1402 |
| load | 1009 | 855 | 1434 | 99 | 1069 | 1174 | |||
| domContentLoaded | 1004 | 849 | 1428 | 98 | 1066 | 1166 | |||
| domInteractive | 24 | 15 | 91 | 18 | 21 | 80 | |||
| firstPaint | 482 | 95 | 1235 | 376 | 944 | 1133 | |||
| backgroundConnect | 211 | 193 | 270 | 12 | 216 | 233 | |||
| firstReactRender | 28 | 19 | 61 | 8 | 32 | 47 | |||
| getState | 35 | 17 | 120 | 15 | 40 | 59 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 798 | 646 | 1213 | 95 | 852 | 966 | |||
| setupStore | 11 | 6 | 34 | 4 | 12 | 19 | |||
| numNetworkReqs | 12 | 5 | 78 | 20 | 5 | 74 | |||
| Browserify | Power User Home | uiStartup | 2186 | 1804 | 3108 | 269 | 2278 | 2845 | |
| load | 1102 | 966 | 1909 | 171 | 1096 | 1561 | |||
| domContentLoaded | 1085 | 951 | 1886 | 171 | 1086 | 1548 | |||
| domInteractive | 40 | 18 | 215 | 36 | 37 | 128 | |||
| firstPaint | 727 | 96 | 1913 | 459 | 1068 | 1540 | |||
| backgroundConnect | 285 | 231 | 825 | 111 | 260 | 566 | |||
| firstReactRender | 64 | 44 | 109 | 13 | 72 | 94 | |||
| getState | 210 | 161 | 684 | 54 | 217 | 260 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 848 | 706 | 1618 | 168 | 840 | 1298 | |||
| setupStore | 19 | 7 | 91 | 10 | 22 | 27 | |||
| numNetworkReqs | 134 | 62 | 432 | 76 | 193 | 276 | |||
| Webpack | Standard Home | uiStartup | 849 | 710 | 1173 | 91 | 889 | 1031 | |
| load | 653 | 574 | 870 | 72 | 690 | 819 | |||
| domContentLoaded | 648 | 570 | 863 | 71 | 685 | 814 | |||
| domInteractive | 25 | 13 | 110 | 23 | 19 | 93 | |||
| firstPaint | 247 | 77 | 779 | 177 | 238 | 691 | |||
| backgroundConnect | 10 | 5 | 32 | 6 | 11 | 27 | |||
| firstReactRender | 28 | 20 | 118 | 11 | 32 | 41 | |||
| getState | 26 | 14 | 51 | 9 | 34 | 45 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 3 | |||
| loadScripts | 645 | 567 | 853 | 70 | 683 | 803 | |||
| setupStore | 11 | 6 | 28 | 4 | 13 | 18 | |||
| numNetworkReqs | 12 | 5 | 77 | 20 | 5 | 70 | |||
| Webpack | Power User Home | uiStartup | 1763 | 1311 | 3017 | 307 | 2046 | 2260 | |
| load | 701 | 603 | 1383 | 116 | 702 | 999 | |||
| domContentLoaded | 690 | 596 | 1373 | 115 | 688 | 993 | |||
| domInteractive | 36 | 16 | 212 | 33 | 34 | 134 | |||
| firstPaint | 314 | 89 | 1068 | 220 | 331 | 746 | |||
| backgroundConnect | 65 | 6 | 657 | 155 | 21 | 628 | |||
| firstReactRender | 64 | 45 | 92 | 9 | 71 | 83 | |||
| getState | 211 | 134 | 761 | 117 | 198 | 669 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 2 | |||
| loadScripts | 687 | 594 | 1362 | 113 | 686 | 984 | |||
| setupStore | 24 | 8 | 68 | 15 | 32 | 55 | |||
| numNetworkReqs | 173 | 67 | 433 | 78 | 217 | 367 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1332 | 1095 | 1747 | 138 | 1408 | 1617 |
| load | 1091 | 949 | 1494 | 100 | 1136 | 1283 | |||
| domContentLoaded | 1090 | 949 | 1494 | 100 | 1136 | 1283 | |||
| domInteractive | 62 | 30 | 129 | 28 | 87 | 113 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 50 | 22 | 175 | 34 | 60 | 116 | |||
| firstReactRender | 23 | 18 | 49 | 5 | 23 | 35 | |||
| getState | 15 | 6 | 189 | 26 | 10 | 26 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1063 | 933 | 1391 | 93 | 1107 | 1250 | |||
| setupStore | 15 | 6 | 224 | 24 | 11 | 37 | |||
| numNetworkReqs | 12 | 5 | 67 | 17 | 6 | 64 | |||
| Browserify | Power User Home | uiStartup | 2702 | 1935 | 5203 | 604 | 2760 | 4174 | |
| load | 1211 | 940 | 2466 | 277 | 1168 | 1955 | |||
| domContentLoaded | 1210 | 940 | 2465 | 277 | 1168 | 1954 | |||
| domInteractive | 119 | 34 | 504 | 115 | 103 | 464 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 148 | 27 | 1362 | 202 | 129 | 557 | |||
| firstReactRender | 60 | 37 | 140 | 18 | 65 | 98 | |||
| getState | 281 | 63 | 982 | 220 | 332 | 810 | |||
| initialActions | 3 | 0 | 53 | 6 | 2 | 3 | |||
| loadScripts | 1159 | 924 | 1956 | 213 | 1131 | 1558 | |||
| setupStore | 159 | 7 | 763 | 194 | 186 | 657 | |||
| numNetworkReqs | 101 | 60 | 307 | 63 | 78 | 241 | |||
| Webpack | Standard Home | uiStartup | 1446 | 1283 | 1959 | 129 | 1517 | 1686 | |
| load | 1205 | 1072 | 1562 | 94 | 1268 | 1394 | |||
| domContentLoaded | 1204 | 1071 | 1562 | 94 | 1268 | 1393 | |||
| domInteractive | 49 | 26 | 117 | 27 | 68 | 109 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 45 | 17 | 200 | 27 | 46 | 103 | |||
| firstReactRender | 27 | 19 | 67 | 7 | 28 | 41 | |||
| getState | 13 | 6 | 142 | 15 | 12 | 30 | |||
| initialActions | 1 | 0 | 3 | 0 | 1 | 2 | |||
| loadScripts | 1177 | 1057 | 1526 | 84 | 1233 | 1326 | |||
| setupStore | 13 | 6 | 99 | 15 | 11 | 48 | |||
| numNetworkReqs | 11 | 5 | 65 | 16 | 7 | 58 | |||
| Webpack | Power User Home | uiStartup | 2982 | 2276 | 5103 | 747 | 3001 | 4776 | |
| load | 1465 | 1166 | 2971 | 415 | 1427 | 2694 | |||
| domContentLoaded | 1464 | 1165 | 2971 | 416 | 1427 | 2694 | |||
| domInteractive | 120 | 30 | 988 | 143 | 101 | 474 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 170 | 28 | 1215 | 269 | 122 | 1114 | |||
| firstReactRender | 71 | 39 | 301 | 40 | 69 | 174 | |||
| getState | 296 | 66 | 1342 | 244 | 342 | 808 | |||
| initialActions | 2 | 0 | 7 | 1 | 2 | 3 | |||
| loadScripts | 1368 | 1144 | 2889 | 279 | 1375 | 1777 | |||
| setupStore | 169 | 12 | 1301 | 238 | 194 | 751 | |||
| numNetworkReqs | 99 | 60 | 250 | 57 | 99 | 238 |
📊 Page Load Benchmark Results
Current Commit: 6632c96 | Date: 11/28/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.05s (±64ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
- domContentLoaded-> current mean value: 733ms (±61ms) 🟢 | historical mean value: 719ms ⬆️ (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.05s | 64ms | 1.01s | 1.34s | 1.26s | 1.34s |
| domContentLoaded | 733ms | 61ms | 702ms | 1.01s | 937ms | 1.01s |
| firstPaint | 77ms | 11ms | 60ms | 164ms | 84ms | 164ms |
| firstContentfulPaint | 77ms | 11ms | 60ms | 164ms | 84ms | 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: 898 Bytes (0.01%)
Builds ready [9b7a3b6]
- builds: chrome, firefox
- builds (beta): chrome, firefox
- builds (flask): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- lavamoat build viz: Build System
- bundle size: Bundle Size Stats
- user-actions-benchmark: User Actions Stats
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
UI Startup Metrics (1245 ± 103 ms)
| Platform | BuildType | Page | Metric | Mean (ms) | Min (ms) | Max (ms) | Std Dev (ms) | P 75 (ms) | P 95 (ms) |
|---|---|---|---|---|---|---|---|---|---|
| Chrome | Browserify | Standard Home | uiStartup | 1245 | 1028 | 1639 | 103 | 1315 | 1419 |
| load | 1035 | 866 | 1410 | 96 | 1084 | 1200 | |||
| domContentLoaded | 1029 | 863 | 1402 | 95 | 1079 | 1192 | |||
| domInteractive | 26 | 14 | 133 | 21 | 22 | 82 | |||
| firstPaint | 501 | 93 | 1252 | 397 | 998 | 1146 | |||
| backgroundConnect | 219 | 199 | 252 | 11 | 227 | 239 | |||
| firstReactRender | 29 | 18 | 103 | 11 | 30 | 47 | |||
| getState | 37 | 15 | 149 | 21 | 41 | 82 | |||
| initialActions | 1 | 0 | 6 | 1 | 1 | 3 | |||
| loadScripts | 815 | 658 | 1163 | 93 | 863 | 980 | |||
| setupStore | 11 | 7 | 25 | 3 | 13 | 17 | |||
| numNetworkReqs | 12 | 5 | 76 | 20 | 5 | 71 | |||
| Browserify | Power User Home | uiStartup | 2051 | 1696 | 3014 | 225 | 2156 | 2487 | |
| load | 1042 | 891 | 1802 | 143 | 1026 | 1380 | |||
| domContentLoaded | 1027 | 884 | 1787 | 142 | 1009 | 1363 | |||
| domInteractive | 39 | 18 | 229 | 35 | 36 | 129 | |||
| firstPaint | 574 | 103 | 1808 | 428 | 986 | 1370 | |||
| backgroundConnect | 274 | 203 | 833 | 127 | 241 | 658 | |||
| firstReactRender | 56 | 39 | 110 | 11 | 62 | 77 | |||
| getState | 189 | 134 | 666 | 54 | 200 | 240 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 812 | 680 | 1545 | 139 | 796 | 1149 | |||
| setupStore | 20 | 11 | 69 | 9 | 23 | 41 | |||
| numNetworkReqs | 159 | 77 | 337 | 57 | 204 | 276 | |||
| Webpack | Standard Home | uiStartup | 822 | 707 | 1246 | 91 | 840 | 1024 | |
| load | 638 | 569 | 1000 | 76 | 653 | 815 | |||
| domContentLoaded | 633 | 563 | 995 | 75 | 649 | 808 | |||
| domInteractive | 25 | 13 | 157 | 25 | 18 | 91 | |||
| firstPaint | 270 | 88 | 824 | 194 | 260 | 674 | |||
| backgroundConnect | 10 | 5 | 27 | 4 | 11 | 18 | |||
| firstReactRender | 28 | 20 | 60 | 8 | 33 | 43 | |||
| getState | 29 | 12 | 85 | 15 | 37 | 62 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 1 | |||
| loadScripts | 630 | 560 | 985 | 73 | 647 | 799 | |||
| setupStore | 10 | 5 | 26 | 4 | 11 | 18 | |||
| numNetworkReqs | 12 | 5 | 76 | 20 | 5 | 71 | |||
| Webpack | Power User Home | uiStartup | 1566 | 1252 | 2258 | 215 | 1629 | 1990 | |
| load | 672 | 583 | 1171 | 95 | 678 | 880 | |||
| domContentLoaded | 662 | 577 | 1165 | 96 | 665 | 873 | |||
| domInteractive | 33 | 16 | 181 | 28 | 32 | 101 | |||
| firstPaint | 333 | 81 | 960 | 225 | 593 | 856 | |||
| backgroundConnect | 70 | 8 | 632 | 159 | 19 | 557 | |||
| firstReactRender | 57 | 44 | 104 | 8 | 62 | 68 | |||
| getState | 180 | 127 | 672 | 53 | 186 | 212 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 2 | |||
| loadScripts | 659 | 575 | 1156 | 94 | 663 | 864 | |||
| setupStore | 19 | 8 | 48 | 9 | 24 | 44 | |||
| numNetworkReqs | 158 | 69 | 305 | 60 | 213 | 280 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1296 | 1099 | 1734 | 134 | 1381 | 1534 |
| load | 1073 | 931 | 1510 | 101 | 1127 | 1284 | |||
| domContentLoaded | 1072 | 930 | 1510 | 101 | 1124 | 1283 | |||
| domInteractive | 57 | 29 | 143 | 28 | 83 | 109 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 46 | 18 | 196 | 34 | 45 | 123 | |||
| firstReactRender | 23 | 17 | 58 | 6 | 23 | 35 | |||
| getState | 12 | 6 | 92 | 12 | 11 | 30 | |||
| initialActions | 1 | 0 | 2 | 0 | 1 | 2 | |||
| loadScripts | 1045 | 917 | 1453 | 91 | 1101 | 1205 | |||
| setupStore | 10 | 5 | 71 | 8 | 9 | 25 | |||
| numNetworkReqs | 11 | 5 | 64 | 16 | 6 | 57 | |||
| Browserify | Power User Home | uiStartup | 2636 | 1972 | 5201 | 554 | 2695 | 4121 | |
| load | 1232 | 996 | 3035 | 314 | 1261 | 1998 | |||
| domContentLoaded | 1232 | 996 | 3034 | 314 | 1260 | 1998 | |||
| domInteractive | 120 | 36 | 587 | 90 | 122 | 315 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 123 | 31 | 645 | 118 | 129 | 404 | |||
| firstReactRender | 57 | 37 | 160 | 18 | 59 | 92 | |||
| getState | 275 | 62 | 1062 | 214 | 306 | 753 | |||
| initialActions | 2 | 1 | 8 | 1 | 2 | 3 | |||
| loadScripts | 1188 | 964 | 2846 | 264 | 1164 | 1866 | |||
| setupStore | 158 | 8 | 816 | 205 | 177 | 687 | |||
| numNetworkReqs | 92 | 58 | 258 | 45 | 83 | 230 | |||
| Webpack | Standard Home | uiStartup | 1465 | 1252 | 2028 | 154 | 1545 | 1814 | |
| load | 1209 | 1064 | 1455 | 88 | 1274 | 1378 | |||
| domContentLoaded | 1209 | 1063 | 1455 | 88 | 1273 | 1378 | |||
| domInteractive | 55 | 26 | 159 | 31 | 79 | 112 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 46 | 17 | 189 | 31 | 46 | 124 | |||
| firstReactRender | 25 | 19 | 81 | 7 | 27 | 34 | |||
| getState | 15 | 6 | 155 | 22 | 12 | 46 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1182 | 1047 | 1432 | 82 | 1251 | 1323 | |||
| setupStore | 15 | 7 | 100 | 14 | 13 | 51 | |||
| numNetworkReqs | 12 | 5 | 65 | 16 | 7 | 60 | |||
| Webpack | Power User Home | uiStartup | 2963 | 2281 | 5079 | 623 | 3000 | 4579 | |
| load | 1442 | 1176 | 2724 | 280 | 1423 | 2115 | |||
| domContentLoaded | 1442 | 1175 | 2724 | 280 | 1422 | 2113 | |||
| domInteractive | 119 | 32 | 446 | 99 | 117 | 401 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 160 | 46 | 875 | 151 | 176 | 538 | |||
| firstReactRender | 63 | 42 | 146 | 16 | 66 | 96 | |||
| getState | 331 | 78 | 970 | 260 | 513 | 887 | |||
| initialActions | 3 | 1 | 85 | 8 | 2 | 3 | |||
| loadScripts | 1393 | 1149 | 2597 | 263 | 1375 | 2058 | |||
| setupStore | 162 | 7 | 716 | 191 | 166 | 651 | |||
| numNetworkReqs | 91 | 60 | 250 | 48 | 80 | 232 |
📊 Page Load Benchmark Results
Current Commit: 9b7a3b6 | Date: 12/2/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.07s (±73ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
- domContentLoaded-> current mean value: 750ms (±70ms) 🟢 | historical mean value: 725ms ⬆️ (historical data)
- firstContentfulPaint-> current mean value: 80ms (±12ms) 🟢 | historical mean value: 79ms ⬆️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.07s | 73ms | 1.02s | 1.36s | 1.31s | 1.36s |
| domContentLoaded | 750ms | 70ms | 710ms | 1.03s | 973ms | 1.03s |
| firstPaint | 80ms | 12ms | 60ms | 184ms | 92ms | 184ms |
| firstContentfulPaint | 80ms | 12ms | 60ms | 184ms | 92ms | 184ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 58 Bytes (0%)
- ui: 295 Bytes (0%)
- common: 898 Bytes (0.01%)