test: Add E2E test anti-patterns guidelines for bugbot
Description
- Enable bugbot for existing E2E test guidelines
Examples:
Related issues
Fixes:
Manual testing steps
- Go to this page...
Screenshots/Recordings
Before
After
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
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using JSDoc format if applicable
- [x] I’ve applied the right labels on the PR (see labeling guidelines). Not required for external contributors.
Pre-merge reviewer checklist
- [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.
[!NOTE] Adds
.cursor/BUGBOT.mddefining regex-based E2E test anti-pattern checks (critical and warning), linked to existing guidelines.
- Tooling:
- Add BugBot rules in
.cursor/BUGBOT.mdwith regex checks for E2E test anti-patterns:
- Critical: hard-coded delays, deprecated methods, raw Selenium access, JS specs,
getText()assertions,unlockWallet, CSS/ID selectors.- Warning: "should" in test names, multiple behaviors in one test,
setTimeoutusage.- Link rules to
rules/e2e-testing-guidelines.mdcfor full guidance.Written by Cursor Bugbot for commit cfc5bdfbe5cea1974c01c3c8274ff693faec9531. This will update automatically on new commits. Configure here.
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.
Builds ready [bd2a6ea]
- 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 (1252 ± 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 | 1252 | 1016 | 1520 | 115 | 1323 | 1464 |
| load | 1048 | 858 | 1303 | 99 | 1102 | 1253 | |||
| domContentLoaded | 1042 | 852 | 1286 | 98 | 1095 | 1247 | |||
| domInteractive | 30 | 15 | 177 | 31 | 23 | 91 | |||
| firstPaint | 500 | 80 | 1322 | 386 | 962 | 1107 | |||
| backgroundConnect | 217 | 195 | 247 | 13 | 223 | 244 | |||
| firstReactRender | 30 | 19 | 233 | 22 | 30 | 48 | |||
| getState | 35 | 16 | 117 | 18 | 38 | 79 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 830 | 664 | 1073 | 93 | 884 | 1013 | |||
| setupStore | 11 | 6 | 25 | 4 | 12 | 22 | |||
| numNetworkReqs | 27 | 18 | 92 | 20 | 18 | 86 | |||
| Browserify | Power User Home | uiStartup | 2058 | 1683 | 2786 | 206 | 2180 | 2449 | |
| load | 1023 | 908 | 1445 | 119 | 1038 | 1369 | |||
| domContentLoaded | 1007 | 887 | 1436 | 119 | 1016 | 1348 | |||
| domInteractive | 34 | 18 | 134 | 24 | 35 | 98 | |||
| firstPaint | 542 | 93 | 1450 | 404 | 975 | 1370 | |||
| backgroundConnect | 255 | 205 | 754 | 109 | 234 | 580 | |||
| firstReactRender | 58 | 41 | 118 | 13 | 63 | 91 | |||
| getState | 195 | 134 | 712 | 75 | 201 | 238 | |||
| initialActions | 1 | 0 | 7 | 1 | 1 | 2 | |||
| loadScripts | 799 | 692 | 1234 | 118 | 806 | 1129 | |||
| setupStore | 19 | 10 | 46 | 7 | 22 | 35 | |||
| numNetworkReqs | 149 | 61 | 343 | 60 | 206 | 244 | |||
| Webpack | Standard Home | uiStartup | 826 | 700 | 1058 | 71 | 864 | 969 | |
| load | 636 | 563 | 893 | 64 | 646 | 780 | |||
| domContentLoaded | 631 | 557 | 887 | 64 | 641 | 775 | |||
| domInteractive | 26 | 15 | 97 | 20 | 23 | 85 | |||
| firstPaint | 210 | 78 | 803 | 133 | 205 | 592 | |||
| backgroundConnect | 9 | 5 | 27 | 4 | 10 | 17 | |||
| firstReactRender | 27 | 20 | 45 | 6 | 32 | 40 | |||
| getState | 27 | 13 | 63 | 12 | 35 | 49 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 629 | 554 | 885 | 63 | 639 | 767 | |||
| setupStore | 11 | 5 | 41 | 5 | 12 | 17 | |||
| numNetworkReqs | 26 | 18 | 90 | 19 | 18 | 82 | |||
| Webpack | Power User Home | uiStartup | 1633 | 1289 | 2175 | 219 | 1719 | 2066 | |
| load | 680 | 590 | 982 | 87 | 691 | 909 | |||
| domContentLoaded | 670 | 583 | 977 | 88 | 679 | 902 | |||
| domInteractive | 38 | 18 | 151 | 30 | 37 | 126 | |||
| firstPaint | 250 | 90 | 668 | 134 | 252 | 629 | |||
| backgroundConnect | 62 | 7 | 655 | 138 | 21 | 509 | |||
| firstReactRender | 61 | 45 | 95 | 10 | 67 | 79 | |||
| getState | 179 | 131 | 655 | 51 | 186 | 206 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 667 | 581 | 969 | 87 | 678 | 893 | |||
| setupStore | 21 | 11 | 61 | 12 | 23 | 48 | |||
| numNetworkReqs | 162 | 68 | 308 | 59 | 218 | 278 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1413 | 1113 | 1872 | 161 | 1519 | 1714 |
| load | 1155 | 925 | 1563 | 134 | 1221 | 1439 | |||
| domContentLoaded | 1155 | 925 | 1563 | 134 | 1221 | 1439 | |||
| domInteractive | 75 | 25 | 201 | 40 | 103 | 153 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 56 | 23 | 142 | 32 | 83 | 119 | |||
| firstReactRender | 26 | 19 | 63 | 8 | 27 | 49 | |||
| getState | 14 | 5 | 100 | 14 | 14 | 28 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1120 | 907 | 1496 | 122 | 1181 | 1366 | |||
| setupStore | 13 | 6 | 81 | 11 | 11 | 33 | |||
| numNetworkReqs | 28 | 18 | 84 | 19 | 28 | 82 | |||
| Browserify | Power User Home | uiStartup | 2641 | 1918 | 4559 | 549 | 2680 | 4263 | |
| load | 1190 | 949 | 2632 | 311 | 1170 | 1577 | |||
| domContentLoaded | 1189 | 949 | 2632 | 311 | 1170 | 1577 | |||
| domInteractive | 115 | 31 | 438 | 100 | 109 | 394 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 159 | 23 | 1155 | 221 | 122 | 854 | |||
| firstReactRender | 57 | 37 | 187 | 19 | 59 | 94 | |||
| getState | 275 | 66 | 1076 | 229 | 244 | 816 | |||
| initialActions | 2 | 0 | 7 | 1 | 2 | 3 | |||
| loadScripts | 1132 | 934 | 2473 | 238 | 1111 | 1548 | |||
| setupStore | 161 | 7 | 754 | 192 | 184 | 604 | |||
| numNetworkReqs | 84 | 58 | 244 | 29 | 81 | 151 | |||
| Webpack | Standard Home | uiStartup | 1522 | 1293 | 1890 | 123 | 1605 | 1766 | |
| load | 1252 | 1078 | 1458 | 75 | 1293 | 1384 | |||
| domContentLoaded | 1252 | 1078 | 1458 | 75 | 1292 | 1384 | |||
| domInteractive | 71 | 28 | 139 | 31 | 85 | 130 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 45 | 20 | 146 | 26 | 47 | 106 | |||
| firstReactRender | 30 | 21 | 80 | 11 | 31 | 70 | |||
| getState | 13 | 7 | 60 | 9 | 14 | 29 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 1224 | 1065 | 1411 | 70 | 1259 | 1364 | |||
| setupStore | 17 | 6 | 186 | 25 | 14 | 71 | |||
| numNetworkReqs | 28 | 18 | 85 | 20 | 20 | 81 | |||
| Webpack | Power User Home | uiStartup | 2845 | 2105 | 4552 | 730 | 2759 | 4478 | |
| load | 1475 | 1172 | 2774 | 434 | 1474 | 2596 | |||
| domContentLoaded | 1474 | 1172 | 2774 | 434 | 1474 | 2596 | |||
| domInteractive | 110 | 32 | 979 | 124 | 97 | 397 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 195 | 30 | 1451 | 273 | 150 | 1014 | |||
| firstReactRender | 60 | 40 | 265 | 30 | 60 | 106 | |||
| getState | 265 | 51 | 924 | 237 | 358 | 812 | |||
| initialActions | 2 | 1 | 44 | 4 | 2 | 7 | |||
| loadScripts | 1368 | 1146 | 2751 | 302 | 1446 | 2341 | |||
| setupStore | 131 | 6 | 731 | 181 | 126 | 581 | |||
| numNetworkReqs | 84 | 62 | 234 | 29 | 80 | 153 |
📊 Page Load Benchmark Results
Current Commit: bd2a6ea | Date: 12/5/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.03s (±40ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
- domContentLoaded-> current mean value: 716ms (±36ms) 🟢 | historical mean value: 725ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 75ms (±11ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.03s | 40ms | 1.00s | 1.33s | 1.08s | 1.33s |
| domContentLoaded | 716ms | 36ms | 695ms | 991ms | 747ms | 991ms |
| firstPaint | 75ms | 11ms | 56ms | 164ms | 84ms | 164ms |
| firstContentfulPaint | 75ms | 11ms | 56ms | 164ms | 84ms | 164ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚀 Bundle size reduced!]
- background: -33.05 KiB (-0.62%)
- ui: 989 Bytes (0.01%)
- common: -189.73 KiB (-2.09%)
Builds ready [f8c9adc]
- 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 (1194 ± 108 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 | 1008 | 1696 | 108 | 1260 | 1359 |
| load | 1002 | 846 | 1364 | 86 | 1046 | 1154 | |||
| domContentLoaded | 997 | 844 | 1358 | 85 | 1039 | 1145 | |||
| domInteractive | 25 | 15 | 133 | 21 | 21 | 84 | |||
| firstPaint | 473 | 72 | 1235 | 377 | 946 | 1121 | |||
| backgroundConnect | 207 | 190 | 290 | 13 | 214 | 231 | |||
| firstReactRender | 26 | 19 | 58 | 8 | 28 | 47 | |||
| getState | 32 | 15 | 94 | 12 | 36 | 51 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 2 | |||
| loadScripts | 796 | 649 | 1162 | 83 | 838 | 945 | |||
| setupStore | 10 | 7 | 35 | 4 | 11 | 16 | |||
| numNetworkReqs | 27 | 18 | 98 | 21 | 18 | 89 | |||
| Browserify | Power User Home | uiStartup | 2032 | 1712 | 2722 | 176 | 2101 | 2412 | |
| load | 1040 | 913 | 1783 | 153 | 1047 | 1388 | |||
| domContentLoaded | 1026 | 905 | 1773 | 154 | 1035 | 1381 | |||
| domInteractive | 42 | 18 | 504 | 54 | 36 | 113 | |||
| firstPaint | 562 | 99 | 1829 | 401 | 970 | 1214 | |||
| backgroundConnect | 253 | 201 | 762 | 103 | 231 | 520 | |||
| firstReactRender | 57 | 41 | 100 | 14 | 61 | 94 | |||
| getState | 193 | 137 | 668 | 56 | 201 | 247 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 817 | 704 | 1561 | 152 | 817 | 1166 | |||
| setupStore | 22 | 7 | 137 | 14 | 25 | 40 | |||
| numNetworkReqs | 115 | 66 | 239 | 39 | 141 | 208 | |||
| Webpack | Standard Home | uiStartup | 822 | 696 | 1263 | 91 | 855 | 1004 | |
| load | 636 | 563 | 847 | 72 | 665 | 801 | |||
| domContentLoaded | 631 | 557 | 839 | 71 | 662 | 796 | |||
| domInteractive | 27 | 15 | 126 | 23 | 23 | 94 | |||
| firstPaint | 200 | 81 | 775 | 128 | 186 | 589 | |||
| backgroundConnect | 12 | 5 | 353 | 34 | 10 | 16 | |||
| firstReactRender | 27 | 19 | 152 | 14 | 30 | 35 | |||
| getState | 25 | 13 | 59 | 10 | 33 | 44 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 1 | |||
| loadScripts | 629 | 554 | 837 | 70 | 660 | 794 | |||
| setupStore | 10 | 5 | 25 | 3 | 12 | 17 | |||
| numNetworkReqs | 26 | 9 | 93 | 19 | 18 | 80 | |||
| Webpack | Power User Home | uiStartup | 1477 | 1016 | 2348 | 198 | 1520 | 1929 | |
| load | 643 | 548 | 914 | 86 | 656 | 851 | |||
| domContentLoaded | 633 | 542 | 908 | 86 | 644 | 846 | |||
| domInteractive | 34 | 17 | 125 | 25 | 32 | 109 | |||
| firstPaint | 285 | 122 | 890 | 190 | 297 | 701 | |||
| backgroundConnect | 25 | 8 | 570 | 74 | 16 | 23 | |||
| firstReactRender | 56 | 41 | 91 | 8 | 61 | 73 | |||
| getState | 185 | 125 | 656 | 67 | 187 | 222 | |||
| initialActions | 1 | 0 | 6 | 1 | 1 | 2 | |||
| loadScripts | 631 | 540 | 901 | 85 | 642 | 838 | |||
| setupStore | 18 | 6 | 51 | 9 | 19 | 41 | |||
| numNetworkReqs | 160 | 64 | 304 | 61 | 212 | 289 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1343 | 1096 | 1846 | 167 | 1440 | 1681 |
| load | 1101 | 920 | 1575 | 128 | 1150 | 1368 | |||
| domContentLoaded | 1101 | 920 | 1575 | 128 | 1150 | 1368 | |||
| domInteractive | 62 | 31 | 158 | 31 | 83 | 128 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 52 | 23 | 313 | 42 | 58 | 132 | |||
| firstReactRender | 24 | 18 | 59 | 7 | 24 | 39 | |||
| getState | 14 | 6 | 195 | 23 | 10 | 35 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 2 | |||
| loadScripts | 1068 | 904 | 1457 | 113 | 1114 | 1324 | |||
| setupStore | 12 | 5 | 99 | 13 | 10 | 39 | |||
| numNetworkReqs | 28 | 18 | 85 | 19 | 26 | 78 | |||
| Browserify | Power User Home | uiStartup | 2645 | 2106 | 4511 | 432 | 2721 | 3921 | |
| load | 1203 | 962 | 2471 | 229 | 1201 | 1579 | |||
| domContentLoaded | 1202 | 962 | 2470 | 229 | 1201 | 1579 | |||
| domInteractive | 122 | 32 | 552 | 108 | 118 | 405 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 147 | 30 | 901 | 163 | 146 | 506 | |||
| firstReactRender | 64 | 37 | 221 | 25 | 64 | 111 | |||
| getState | 274 | 54 | 938 | 214 | 292 | 811 | |||
| initialActions | 3 | 0 | 69 | 8 | 2 | 7 | |||
| loadScripts | 1163 | 943 | 2333 | 215 | 1157 | 1559 | |||
| setupStore | 165 | 6 | 853 | 207 | 156 | 678 | |||
| numNetworkReqs | 83 | 61 | 179 | 27 | 81 | 154 | |||
| Webpack | Standard Home | uiStartup | 1619 | 1334 | 2021 | 154 | 1716 | 1921 | |
| load | 1306 | 1088 | 1532 | 91 | 1365 | 1489 | |||
| domContentLoaded | 1306 | 1088 | 1531 | 91 | 1365 | 1488 | |||
| domInteractive | 71 | 29 | 168 | 34 | 89 | 130 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 57 | 18 | 196 | 38 | 68 | 138 | |||
| firstReactRender | 29 | 21 | 88 | 8 | 32 | 39 | |||
| getState | 17 | 7 | 214 | 24 | 15 | 50 | |||
| initialActions | 1 | 0 | 2 | 1 | 2 | 2 | |||
| loadScripts | 1272 | 1069 | 1463 | 84 | 1323 | 1447 | |||
| setupStore | 16 | 5 | 117 | 19 | 15 | 43 | |||
| numNetworkReqs | 28 | 18 | 83 | 20 | 20 | 81 | |||
| Webpack | Power User Home | uiStartup | 2834 | 2115 | 5264 | 618 | 2802 | 4186 | |
| load | 1459 | 1098 | 2625 | 399 | 1564 | 2455 | |||
| domContentLoaded | 1458 | 1098 | 2624 | 399 | 1563 | 2454 | |||
| domInteractive | 115 | 32 | 893 | 121 | 103 | 392 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 175 | 16 | 1051 | 224 | 156 | 748 | |||
| firstReactRender | 55 | 38 | 186 | 19 | 59 | 87 | |||
| getState | 259 | 75 | 857 | 202 | 366 | 729 | |||
| initialActions | 4 | 1 | 56 | 8 | 2 | 8 | |||
| loadScripts | 1389 | 1086 | 2482 | 339 | 1394 | 2273 | |||
| setupStore | 145 | 9 | 743 | 179 | 178 | 596 | |||
| numNetworkReqs | 82 | 54 | 160 | 24 | 81 | 148 |
📊 Page Load Benchmark Results
Current Commit: f8c9adc | Date: 12/5/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.04s (±40ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
- domContentLoaded-> current mean value: 724ms (±36ms) 🟢 | historical mean value: 725ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 76ms (±11ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.04s | 40ms | 1.02s | 1.33s | 1.06s | 1.33s |
| domContentLoaded | 724ms | 36ms | 705ms | 984ms | 744ms | 984ms |
| firstPaint | 76ms | 11ms | 60ms | 168ms | 84ms | 168ms |
| firstContentfulPaint | 76ms | 11ms | 60ms | 168ms | 84ms | 168ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚀 Bundle size reduced!]
- background: -33.05 KiB (-0.62%)
- ui: 989 Bytes (0.01%)
- common: -189.73 KiB (-2.09%)
Builds ready [9337a83]
- 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 (1226 ± 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 | 1226 | 1010 | 1558 | 103 | 1286 | 1442 |
| load | 1027 | 856 | 1252 | 89 | 1078 | 1208 | |||
| domContentLoaded | 1021 | 853 | 1248 | 88 | 1074 | 1203 | |||
| domInteractive | 26 | 15 | 170 | 23 | 22 | 84 | |||
| firstPaint | 510 | 81 | 1177 | 406 | 1006 | 1134 | |||
| backgroundConnect | 212 | 195 | 260 | 11 | 218 | 232 | |||
| firstReactRender | 30 | 20 | 61 | 9 | 34 | 49 | |||
| getState | 33 | 14 | 105 | 16 | 37 | 70 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 4 | |||
| loadScripts | 814 | 656 | 1035 | 85 | 862 | 977 | |||
| setupStore | 11 | 6 | 21 | 3 | 13 | 20 | |||
| numNetworkReqs | 26 | 18 | 95 | 20 | 18 | 84 | |||
| Browserify | Power User Home | uiStartup | 2093 | 1759 | 2885 | 209 | 2189 | 2517 | |
| load | 1028 | 897 | 1660 | 119 | 1031 | 1356 | |||
| domContentLoaded | 1013 | 887 | 1651 | 121 | 1012 | 1348 | |||
| domInteractive | 35 | 17 | 155 | 25 | 35 | 98 | |||
| firstPaint | 559 | 110 | 1225 | 369 | 981 | 1075 | |||
| backgroundConnect | 268 | 206 | 750 | 122 | 237 | 616 | |||
| firstReactRender | 60 | 42 | 121 | 17 | 65 | 106 | |||
| getState | 188 | 140 | 252 | 26 | 207 | 237 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 3 | |||
| loadScripts | 801 | 691 | 1445 | 119 | 801 | 1125 | |||
| setupStore | 22 | 8 | 74 | 12 | 24 | 48 | |||
| numNetworkReqs | 148 | 68 | 366 | 60 | 207 | 243 | |||
| Webpack | Standard Home | uiStartup | 825 | 696 | 1167 | 86 | 876 | 997 | |
| load | 636 | 563 | 904 | 76 | 652 | 802 | |||
| domContentLoaded | 632 | 559 | 899 | 76 | 648 | 796 | |||
| domInteractive | 27 | 15 | 132 | 24 | 22 | 98 | |||
| firstPaint | 227 | 82 | 765 | 166 | 220 | 668 | |||
| backgroundConnect | 11 | 5 | 67 | 11 | 12 | 34 | |||
| firstReactRender | 27 | 19 | 67 | 7 | 31 | 40 | |||
| getState | 24 | 14 | 53 | 9 | 31 | 40 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 629 | 557 | 889 | 75 | 646 | 788 | |||
| setupStore | 10 | 5 | 27 | 3 | 11 | 16 | |||
| numNetworkReqs | 27 | 9 | 95 | 20 | 18 | 81 | |||
| Webpack | Power User Home | uiStartup | 1616 | 1254 | 2222 | 231 | 1695 | 2099 | |
| load | 681 | 590 | 1213 | 95 | 698 | 904 | |||
| domContentLoaded | 670 | 583 | 1205 | 95 | 684 | 896 | |||
| domInteractive | 38 | 18 | 169 | 31 | 35 | 134 | |||
| firstPaint | 279 | 109 | 1219 | 220 | 246 | 911 | |||
| backgroundConnect | 42 | 7 | 638 | 112 | 19 | 131 | |||
| firstReactRender | 60 | 46 | 94 | 9 | 64 | 84 | |||
| getState | 195 | 136 | 726 | 101 | 186 | 245 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 667 | 581 | 1194 | 93 | 682 | 888 | |||
| setupStore | 20 | 7 | 61 | 11 | 23 | 47 | |||
| numNetworkReqs | 160 | 68 | 306 | 59 | 216 | 280 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1278 | 1082 | 1767 | 129 | 1359 | 1517 |
| load | 1051 | 914 | 1346 | 81 | 1094 | 1199 | |||
| domContentLoaded | 1050 | 914 | 1346 | 81 | 1094 | 1199 | |||
| domInteractive | 61 | 32 | 173 | 28 | 83 | 108 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 46 | 19 | 322 | 46 | 45 | 104 | |||
| firstReactRender | 23 | 17 | 50 | 6 | 24 | 35 | |||
| getState | 13 | 7 | 145 | 17 | 10 | 37 | |||
| initialActions | 1 | 0 | 2 | 1 | 2 | 2 | |||
| loadScripts | 1022 | 899 | 1318 | 70 | 1064 | 1136 | |||
| setupStore | 14 | 6 | 177 | 23 | 10 | 38 | |||
| numNetworkReqs | 28 | 18 | 84 | 19 | 22 | 80 | |||
| Browserify | Power User Home | uiStartup | 2603 | 1943 | 4712 | 574 | 2661 | 4173 | |
| load | 1186 | 990 | 2767 | 290 | 1171 | 1513 | |||
| domContentLoaded | 1186 | 990 | 2767 | 290 | 1170 | 1512 | |||
| domInteractive | 119 | 33 | 481 | 97 | 112 | 366 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 151 | 27 | 1194 | 194 | 143 | 572 | |||
| firstReactRender | 57 | 37 | 122 | 16 | 58 | 91 | |||
| getState | 251 | 55 | 1302 | 222 | 257 | 777 | |||
| initialActions | 3 | 1 | 40 | 6 | 2 | 3 | |||
| loadScripts | 1131 | 956 | 2597 | 235 | 1114 | 1462 | |||
| setupStore | 169 | 9 | 996 | 232 | 172 | 731 | |||
| numNetworkReqs | 83 | 59 | 167 | 26 | 80 | 150 | |||
| Webpack | Standard Home | uiStartup | 1586 | 1329 | 2254 | 158 | 1671 | 1885 | |
| load | 1276 | 1101 | 1725 | 88 | 1307 | 1444 | |||
| domContentLoaded | 1276 | 1101 | 1724 | 88 | 1307 | 1444 | |||
| domInteractive | 77 | 28 | 211 | 34 | 96 | 131 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 56 | 21 | 216 | 42 | 69 | 171 | |||
| firstReactRender | 28 | 21 | 72 | 8 | 29 | 42 | |||
| getState | 16 | 7 | 161 | 19 | 15 | 43 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1247 | 1085 | 1698 | 78 | 1283 | 1374 | |||
| setupStore | 19 | 6 | 236 | 31 | 14 | 62 | |||
| numNetworkReqs | 28 | 18 | 85 | 20 | 22 | 82 | |||
| Webpack | Power User Home | uiStartup | 3110 | 2264 | 5103 | 513 | 3230 | 4453 | |
| load | 1477 | 1257 | 2749 | 224 | 1483 | 2005 | |||
| domContentLoaded | 1476 | 1257 | 2749 | 224 | 1483 | 2005 | |||
| domInteractive | 132 | 34 | 552 | 112 | 117 | 441 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 190 | 36 | 1733 | 228 | 167 | 752 | |||
| firstReactRender | 71 | 47 | 214 | 25 | 72 | 105 | |||
| getState | 340 | 74 | 1307 | 293 | 519 | 956 | |||
| initialActions | 4 | 1 | 103 | 12 | 3 | 8 | |||
| loadScripts | 1438 | 1229 | 2611 | 217 | 1454 | 1960 | |||
| setupStore | 177 | 11 | 839 | 222 | 190 | 754 | |||
| numNetworkReqs | 85 | 59 | 265 | 33 | 82 | 158 |
📊 Page Load Benchmark Results
Current Commit: 9337a83 | Date: 12/5/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 982ms (±48ms) 🟢 | historical mean value: 1.03s ⬇️ (historical data)
- domContentLoaded-> current mean value: 680ms (±40ms) 🟢 | historical mean value: 718ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 75ms (±12ms) 🟢 | historical mean value: 77ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 982ms | 48ms | 949ms | 1.32s | 998ms | 1.32s |
| domContentLoaded | 680ms | 40ms | 659ms | 973ms | 694ms | 973ms |
| firstPaint | 75ms | 12ms | 64ms | 180ms | 84ms | 180ms |
| firstContentfulPaint | 75ms | 12ms | 64ms | 180ms | 84ms | 180ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚀 Bundle size reduced!]
- background: -33 KiB (-0.62%)
- ui: 1.04 KiB (0.01%)
- common: -189.42 KiB (-2.08%)
Builds ready [cfc5bdf]
- builds: chrome, firefox
- builds (beta): chrome, firefox
- builds (flask): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- bundle size: Bundle Size Stats
- user-actions-benchmark: User Actions Stats
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
UI Startup Metrics (1274 ± 107 ms)
| Platform | BuildType | Page | Metric | Mean (ms) | Min (ms) | Max (ms) | Std Dev (ms) | P 75 (ms) | P 95 (ms) |
|---|---|---|---|---|---|---|---|---|---|
| Chrome | Browserify | Standard Home | uiStartup | 1274 | 1022 | 1536 | 107 | 1343 | 1415 |
| load | 1042 | 868 | 1251 | 88 | 1099 | 1192 | |||
| domContentLoaded | 1035 | 859 | 1240 | 87 | 1094 | 1184 | |||
| domInteractive | 26 | 15 | 142 | 20 | 22 | 84 | |||
| firstPaint | 486 | 85 | 1202 | 397 | 1012 | 1180 | |||
| backgroundConnect | 215 | 195 | 263 | 13 | 220 | 241 | |||
| firstReactRender | 48 | 31 | 87 | 14 | 56 | 80 | |||
| getState | 39 | 15 | 280 | 29 | 45 | 66 | |||
| initialActions | 1 | 0 | 6 | 1 | 1 | 4 | |||
| loadScripts | 829 | 658 | 1028 | 84 | 882 | 981 | |||
| setupStore | 12 | 7 | 26 | 4 | 14 | 20 | |||
| numNetworkReqs | 13 | 6 | 80 | 19 | 6 | 71 | |||
| Browserify | Power User Home | uiStartup | 1899 | 1540 | 2654 | 190 | 1951 | 2346 | |
| load | 1056 | 877 | 1566 | 127 | 1118 | 1296 | |||
| domContentLoaded | 1046 | 872 | 1558 | 126 | 1112 | 1279 | |||
| domInteractive | 31 | 16 | 152 | 25 | 28 | 96 | |||
| firstPaint | 546 | 95 | 1378 | 405 | 968 | 1267 | |||
| backgroundConnect | 260 | 193 | 621 | 106 | 235 | 589 | |||
| firstReactRender | 47 | 37 | 86 | 7 | 48 | 59 | |||
| getState | 197 | 143 | 737 | 78 | 204 | 270 | |||
| initialActions | 1 | 0 | 6 | 1 | 1 | 2 | |||
| loadScripts | 834 | 677 | 1336 | 126 | 902 | 1083 | |||
| setupStore | 15 | 7 | 65 | 8 | 14 | 32 | |||
| numNetworkReqs | 71 | 59 | 139 | 18 | 66 | 126 | |||
| Webpack | Standard Home | uiStartup | 790 | 662 | 1021 | 73 | 837 | 919 | |
| load | 638 | 559 | 782 | 60 | 683 | 747 | |||
| domContentLoaded | 633 | 552 | 777 | 59 | 679 | 741 | |||
| domInteractive | 24 | 14 | 85 | 17 | 21 | 80 | |||
| firstPaint | 209 | 80 | 773 | 137 | 202 | 650 | |||
| backgroundConnect | 11 | 6 | 30 | 6 | 14 | 27 | |||
| firstReactRender | 52 | 31 | 253 | 37 | 48 | 137 | |||
| getState | 28 | 14 | 84 | 13 | 36 | 50 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 630 | 549 | 775 | 58 | 677 | 731 | |||
| setupStore | 11 | 6 | 30 | 5 | 14 | 24 | |||
| numNetworkReqs | 13 | 6 | 81 | 19 | 6 | 70 | |||
| Webpack | Power User Home | uiStartup | 1392 | 1061 | 2048 | 198 | 1483 | 1763 | |
| load | 714 | 581 | 1208 | 102 | 777 | 879 | |||
| domContentLoaded | 707 | 576 | 1199 | 101 | 769 | 872 | |||
| domInteractive | 30 | 15 | 139 | 26 | 26 | 105 | |||
| firstPaint | 311 | 99 | 1238 | 233 | 366 | 729 | |||
| backgroundConnect | 75 | 7 | 622 | 144 | 81 | 546 | |||
| firstReactRender | 49 | 40 | 74 | 5 | 51 | 55 | |||
| getState | 178 | 141 | 685 | 56 | 178 | 233 | |||
| initialActions | 1 | 0 | 2 | 0 | 1 | 1 | |||
| loadScripts | 704 | 574 | 1189 | 100 | 767 | 864 | |||
| setupStore | 15 | 7 | 51 | 9 | 14 | 38 | |||
| numNetworkReqs | 71 | 56 | 162 | 22 | 67 | 135 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1338 | 1070 | 1939 | 178 | 1446 | 1749 |
| load | 1075 | 904 | 1301 | 91 | 1134 | 1256 | |||
| domContentLoaded | 1075 | 904 | 1301 | 91 | 1134 | 1256 | |||
| domInteractive | 68 | 32 | 217 | 36 | 86 | 137 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 54 | 23 | 284 | 49 | 59 | 191 | |||
| firstReactRender | 38 | 30 | 68 | 7 | 38 | 59 | |||
| getState | 14 | 7 | 238 | 25 | 11 | 34 | |||
| initialActions | 1 | 0 | 2 | 1 | 2 | 2 | |||
| loadScripts | 1046 | 889 | 1269 | 83 | 1097 | 1204 | |||
| setupStore | 14 | 5 | 194 | 21 | 11 | 44 | |||
| numNetworkReqs | 15 | 6 | 79 | 21 | 7 | 75 | |||
| Browserify | Power User Home | uiStartup | 2619 | 1698 | 3653 | 490 | 3003 | 3253 | |
| load | 1636 | 987 | 2368 | 464 | 2037 | 2283 | |||
| domContentLoaded | 1636 | 987 | 2368 | 464 | 2037 | 2283 | |||
| domInteractive | 155 | 36 | 1025 | 249 | 106 | 898 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 208 | 27 | 1039 | 228 | 219 | 920 | |||
| firstReactRender | 56 | 38 | 198 | 17 | 59 | 69 | |||
| getState | 128 | 78 | 401 | 54 | 147 | 232 | |||
| initialActions | 4 | 1 | 55 | 8 | 3 | 8 | |||
| loadScripts | 1544 | 963 | 2339 | 432 | 1926 | 2184 | |||
| setupStore | 57 | 6 | 406 | 88 | 52 | 322 | |||
| numNetworkReqs | 73 | 50 | 135 | 23 | 67 | 130 | |||
| Webpack | Standard Home | uiStartup | 1559 | 1310 | 2381 | 173 | 1600 | 1896 | |
| load | 1291 | 1119 | 1672 | 112 | 1334 | 1523 | |||
| domContentLoaded | 1290 | 1118 | 1672 | 112 | 1334 | 1523 | |||
| domInteractive | 73 | 27 | 219 | 38 | 92 | 133 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 54 | 22 | 188 | 34 | 64 | 133 | |||
| firstReactRender | 42 | 34 | 86 | 10 | 44 | 71 | |||
| getState | 13 | 7 | 147 | 15 | 14 | 22 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 1263 | 1093 | 1619 | 107 | 1312 | 1501 | |||
| setupStore | 17 | 6 | 151 | 24 | 13 | 60 | |||
| numNetworkReqs | 15 | 6 | 84 | 21 | 8 | 75 | |||
| Webpack | Power User Home | uiStartup | 2804 | 1816 | 4083 | 602 | 3250 | 3802 | |
| load | 1893 | 1173 | 2929 | 541 | 2407 | 2634 | |||
| domContentLoaded | 1892 | 1173 | 2929 | 541 | 2407 | 2634 | |||
| domInteractive | 303 | 28 | 1063 | 384 | 312 | 1009 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 183 | 28 | 1300 | 238 | 209 | 958 | |||
| firstReactRender | 58 | 39 | 149 | 15 | 63 | 90 | |||
| getState | 139 | 79 | 298 | 50 | 164 | 237 | |||
| initialActions | 3 | 1 | 60 | 6 | 2 | 7 | |||
| loadScripts | 1795 | 1154 | 2823 | 512 | 2292 | 2609 | |||
| setupStore | 41 | 5 | 376 | 65 | 42 | 227 | |||
| numNetworkReqs | 71 | 45 | 124 | 22 | 67 | 119 |
📊 Page Load Benchmark Results
Current Commit: cfc5bdf | Date: 12/10/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.03s (±40ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
- domContentLoaded-> current mean value: 714ms (±35ms) 🟢 | historical mean value: 727ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 76ms (±14ms) 🟢 | historical mean value: 82ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.03s | 40ms | 1.00s | 1.32s | 1.06s | 1.32s |
| domContentLoaded | 714ms | 35ms | 695ms | 979ms | 728ms | 979ms |
| firstPaint | 76ms | 14ms | 60ms | 200ms | 84ms | 200ms |
| firstContentfulPaint | 76ms | 14ms | 60ms | 200ms | 84ms | 200ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 58 Bytes (0%)
- ui: 0 Bytes (0%)
- common: 20 Bytes (0%)
Builds ready [6f9cb38]
- 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 (1196 ± 109 ms)
| Platform | BuildType | Page | Metric | Mean (ms) | Min (ms) | Max (ms) | Std Dev (ms) | P 75 (ms) | P 95 (ms) |
|---|---|---|---|---|---|---|---|---|---|
| Chrome | Browserify | Standard Home | uiStartup | 1196 | 977 | 1524 | 109 | 1272 | 1395 |
| load | 985 | 815 | 1214 | 89 | 1039 | 1148 | |||
| domContentLoaded | 979 | 808 | 1209 | 89 | 1033 | 1141 | |||
| domInteractive | 25 | 14 | 87 | 19 | 20 | 79 | |||
| firstPaint | 573 | 71 | 1194 | 393 | 984 | 1096 | |||
| backgroundConnect | 193 | 178 | 274 | 13 | 196 | 216 | |||
| firstReactRender | 44 | 28 | 89 | 14 | 53 | 73 | |||
| getState | 34 | 16 | 120 | 15 | 41 | 57 | |||
| initialActions | 1 | 0 | 5 | 1 | 1 | 2 | |||
| loadScripts | 793 | 633 | 1019 | 85 | 841 | 951 | |||
| setupStore | 13 | 6 | 49 | 8 | 14 | 31 | |||
| numNetworkReqs | 14 | 6 | 85 | 21 | 6 | 79 | |||
| Browserify | Power User Home | uiStartup | 1945 | 1617 | 2540 | 170 | 2031 | 2273 | |
| load | 1102 | 901 | 1504 | 128 | 1195 | 1331 | |||
| domContentLoaded | 1092 | 895 | 1480 | 127 | 1182 | 1322 | |||
| domInteractive | 30 | 18 | 141 | 24 | 26 | 99 | |||
| firstPaint | 657 | 95 | 1514 | 435 | 1088 | 1326 | |||
| backgroundConnect | 248 | 196 | 667 | 92 | 232 | 562 | |||
| firstReactRender | 48 | 38 | 66 | 5 | 50 | 62 | |||
| getState | 213 | 147 | 736 | 108 | 213 | 333 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 878 | 694 | 1265 | 126 | 966 | 1112 | |||
| setupStore | 15 | 8 | 35 | 6 | 14 | 31 | |||
| numNetworkReqs | 72 | 57 | 246 | 25 | 67 | 130 | |||
| Webpack | Standard Home | uiStartup | 829 | 684 | 1141 | 88 | 884 | 977 | |
| load | 669 | 570 | 863 | 74 | 728 | 819 | |||
| domContentLoaded | 663 | 566 | 857 | 74 | 722 | 812 | |||
| domInteractive | 26 | 16 | 104 | 19 | 24 | 86 | |||
| firstPaint | 285 | 104 | 826 | 206 | 257 | 737 | |||
| backgroundConnect | 10 | 6 | 32 | 4 | 11 | 19 | |||
| firstReactRender | 58 | 33 | 200 | 39 | 62 | 151 | |||
| getState | 30 | 15 | 94 | 14 | 39 | 56 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 660 | 564 | 848 | 72 | 714 | 805 | |||
| setupStore | 12 | 4 | 45 | 7 | 13 | 29 | |||
| numNetworkReqs | 13 | 6 | 83 | 19 | 6 | 70 | |||
| Webpack | Power User Home | uiStartup | 1379 | 1060 | 2092 | 194 | 1490 | 1767 | |
| load | 713 | 593 | 1163 | 100 | 784 | 886 | |||
| domContentLoaded | 706 | 587 | 1155 | 100 | 776 | 880 | |||
| domInteractive | 30 | 17 | 130 | 25 | 26 | 105 | |||
| firstPaint | 298 | 89 | 1162 | 225 | 292 | 768 | |||
| backgroundConnect | 72 | 7 | 581 | 134 | 82 | 535 | |||
| firstReactRender | 49 | 39 | 84 | 6 | 50 | 61 | |||
| getState | 184 | 140 | 707 | 61 | 183 | 254 | |||
| initialActions | 1 | 0 | 2 | 1 | 1 | 1 | |||
| loadScripts | 703 | 585 | 1146 | 99 | 774 | 872 | |||
| setupStore | 15 | 6 | 42 | 9 | 14 | 38 | |||
| numNetworkReqs | 71 | 57 | 210 | 26 | 65 | 138 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1538 | 1205 | 2274 | 200 | 1645 | 1941 |
| load | 1209 | 985 | 1490 | 111 | 1287 | 1385 | |||
| domContentLoaded | 1208 | 984 | 1490 | 111 | 1287 | 1384 | |||
| domInteractive | 83 | 32 | 180 | 40 | 98 | 166 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 76 | 25 | 358 | 59 | 104 | 212 | |||
| firstReactRender | 48 | 33 | 583 | 54 | 46 | 62 | |||
| getState | 13 | 6 | 65 | 8 | 13 | 31 | |||
| initialActions | 2 | 0 | 32 | 3 | 2 | 2 | |||
| loadScripts | 1166 | 968 | 1413 | 100 | 1247 | 1340 | |||
| setupStore | 26 | 6 | 860 | 88 | 13 | 55 | |||
| numNetworkReqs | 15 | 6 | 79 | 21 | 8 | 75 | |||
| Browserify | Power User Home | uiStartup | 2495 | 1509 | 3946 | 535 | 2940 | 3280 | |
| load | 1568 | 927 | 2945 | 505 | 2049 | 2360 | |||
| domContentLoaded | 1568 | 927 | 2945 | 505 | 2049 | 2360 | |||
| domInteractive | 185 | 31 | 1182 | 302 | 93 | 997 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 158 | 24 | 1182 | 188 | 183 | 416 | |||
| firstReactRender | 52 | 34 | 103 | 12 | 58 | 71 | |||
| getState | 140 | 64 | 933 | 93 | 163 | 257 | |||
| initialActions | 2 | 1 | 35 | 3 | 2 | 3 | |||
| loadScripts | 1491 | 913 | 2926 | 469 | 1928 | 2208 | |||
| setupStore | 51 | 4 | 1043 | 119 | 43 | 242 | |||
| numNetworkReqs | 75 | 56 | 126 | 20 | 86 | 121 | |||
| Webpack | Standard Home | uiStartup | 1597 | 1346 | 2117 | 164 | 1670 | 1949 | |
| load | 1307 | 1134 | 1597 | 96 | 1359 | 1494 | |||
| domContentLoaded | 1307 | 1134 | 1597 | 96 | 1359 | 1494 | |||
| domInteractive | 83 | 29 | 243 | 40 | 105 | 143 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 56 | 17 | 221 | 40 | 66 | 154 | |||
| firstReactRender | 43 | 34 | 95 | 10 | 45 | 57 | |||
| getState | 20 | 7 | 177 | 29 | 15 | 102 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1278 | 1116 | 1530 | 90 | 1331 | 1457 | |||
| setupStore | 20 | 5 | 183 | 26 | 16 | 77 | |||
| numNetworkReqs | 15 | 6 | 86 | 21 | 8 | 78 | |||
| Webpack | Power User Home | uiStartup | 2685 | 1817 | 3999 | 508 | 3037 | 3483 | |
| load | 1904 | 1179 | 2986 | 496 | 2360 | 2664 | |||
| domContentLoaded | 1904 | 1178 | 2985 | 496 | 2359 | 2664 | |||
| domInteractive | 246 | 29 | 1172 | 343 | 315 | 986 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 151 | 23 | 1219 | 206 | 192 | 350 | |||
| firstReactRender | 57 | 38 | 125 | 15 | 59 | 95 | |||
| getState | 134 | 76 | 269 | 47 | 166 | 239 | |||
| initialActions | 2 | 0 | 37 | 4 | 2 | 7 | |||
| loadScripts | 1827 | 1126 | 2963 | 474 | 2274 | 2544 | |||
| setupStore | 32 | 4 | 1008 | 104 | 23 | 72 | |||
| numNetworkReqs | 75 | 56 | 140 | 22 | 82 | 130 |
📊 Page Load Benchmark Results
Current Commit: 6f9cb38 | Date: 12/11/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.03s (±53ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
- domContentLoaded-> current mean value: 720ms (±50ms) 🟢 | historical mean value: 726ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 75ms (±10ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.03s | 53ms | 1.00s | 1.31s | 1.07s | 1.31s |
| domContentLoaded | 720ms | 50ms | 697ms | 985ms | 757ms | 985ms |
| firstPaint | 75ms | 10ms | 60ms | 160ms | 84ms | 160ms |
| firstContentfulPaint | 75ms | 10ms | 60ms | 160ms | 84ms | 160ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 58 Bytes (0%)
- ui: 0 Bytes (0%)
- common: 20 Bytes (0%)
Builds ready [399cd3a]
- 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 (1283 ± 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 | 1283 | 1022 | 1564 | 103 | 1348 | 1450 |
| load | 1061 | 872 | 1285 | 92 | 1125 | 1208 | |||
| domContentLoaded | 1055 | 862 | 1280 | 92 | 1121 | 1195 | |||
| domInteractive | 26 | 16 | 114 | 19 | 22 | 79 | |||
| firstPaint | 497 | 88 | 1229 | 415 | 1056 | 1189 | |||
| backgroundConnect | 215 | 195 | 250 | 12 | 224 | 241 | |||
| firstReactRender | 49 | 32 | 96 | 14 | 53 | 78 | |||
| getState | 40 | 19 | 83 | 14 | 47 | 73 | |||
| initialActions | 1 | 0 | 9 | 1 | 1 | 3 | |||
| loadScripts | 847 | 660 | 1050 | 90 | 908 | 990 | |||
| setupStore | 12 | 7 | 30 | 5 | 15 | 23 | |||
| numNetworkReqs | 18 | 11 | 84 | 18 | 11 | 70 | |||
| Browserify | Power User Home | uiStartup | - | - | - | - | - | - | |
| load | - | - | - | - | - | - | |||
| domContentLoaded | - | - | - | - | - | - | |||
| domInteractive | - | - | - | - | - | - | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | - | - | - | - | - | - | |||
| firstReactRender | - | - | - | - | - | - | |||
| getState | - | - | - | - | - | - | |||
| initialActions | - | - | - | - | - | - | |||
| loadScripts | - | - | - | - | - | - | |||
| setupStore | - | - | - | - | - | - | |||
| numNetworkReqs | - | - | - | - | - | - | |||
| Webpack | Standard Home | uiStartup | 800 | 654 | 1233 | 94 | 855 | 958 | |
| load | 611 | 544 | 769 | 67 | 682 | 738 | |||
| domContentLoaded | 605 | 537 | 760 | 66 | 676 | 732 | |||
| domInteractive | 23 | 14 | 102 | 18 | 19 | 74 | |||
| firstPaint | 242 | 88 | 708 | 165 | 227 | 589 | |||
| backgroundConnect | 28 | 6 | 131 | 35 | 27 | 106 | |||
| firstReactRender | 58 | 33 | 163 | 34 | 68 | 141 | |||
| getState | 31 | 13 | 146 | 21 | 41 | 57 | |||
| initialActions | 1 | 0 | 9 | 1 | 1 | 2 | |||
| loadScripts | 602 | 534 | 754 | 65 | 674 | 724 | |||
| setupStore | 11 | 5 | 28 | 5 | 12 | 23 | |||
| numNetworkReqs | 18 | 11 | 87 | 18 | 11 | 71 | |||
| Webpack | Power User Home | uiStartup | 1369 | 1045 | 2083 | 190 | 1470 | 1713 | |
| load | 693 | 570 | 917 | 84 | 720 | 874 | |||
| domContentLoaded | 686 | 562 | 911 | 84 | 715 | 866 | |||
| domInteractive | 29 | 16 | 116 | 22 | 25 | 98 | |||
| firstPaint | 379 | 109 | 918 | 248 | 659 | 851 | |||
| backgroundConnect | 77 | 7 | 641 | 125 | 94 | 321 | |||
| firstReactRender | 51 | 41 | 73 | 7 | 54 | 67 | |||
| getState | 196 | 144 | 694 | 76 | 202 | 268 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 683 | 560 | 908 | 83 | 713 | 864 | |||
| setupStore | 14 | 8 | 38 | 8 | 12 | 36 | |||
| numNetworkReqs | 67 | 54 | 200 | 24 | 62 | 127 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1440 | 1098 | 2402 | 188 | 1522 | 1770 |
| load | 1118 | 930 | 2115 | 150 | 1189 | 1297 | |||
| domContentLoaded | 1117 | 930 | 2115 | 150 | 1189 | 1295 | |||
| domInteractive | 80 | 32 | 1107 | 110 | 91 | 149 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 59 | 23 | 207 | 44 | 86 | 141 | |||
| firstReactRender | 42 | 32 | 76 | 9 | 45 | 62 | |||
| getState | 15 | 7 | 232 | 24 | 11 | 32 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1088 | 913 | 2093 | 144 | 1151 | 1245 | |||
| setupStore | 14 | 6 | 156 | 18 | 12 | 45 | |||
| numNetworkReqs | 19 | 9 | 84 | 19 | 13 | 75 | |||
| Browserify | Power User Home | uiStartup | 2629 | 1616 | 3813 | 554 | 3044 | 3347 | |
| load | 1636 | 951 | 2523 | 476 | 2057 | 2290 | |||
| domContentLoaded | 1636 | 951 | 2523 | 476 | 2057 | 2290 | |||
| domInteractive | 161 | 33 | 1140 | 260 | 108 | 926 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 153 | 24 | 972 | 144 | 196 | 336 | |||
| firstReactRender | 61 | 38 | 105 | 13 | 65 | 94 | |||
| getState | 137 | 73 | 347 | 47 | 162 | 210 | |||
| initialActions | 3 | 1 | 38 | 5 | 2 | 3 | |||
| loadScripts | 1556 | 936 | 2414 | 443 | 1954 | 2182 | |||
| setupStore | 64 | 5 | 1055 | 128 | 62 | 319 | |||
| numNetworkReqs | 69 | 43 | 133 | 21 | 67 | 117 | |||
| Webpack | Standard Home | uiStartup | 1647 | 1356 | 2368 | 181 | 1730 | 2037 | |
| load | 1338 | 1128 | 1766 | 115 | 1397 | 1569 | |||
| domContentLoaded | 1337 | 1128 | 1766 | 115 | 1397 | 1569 | |||
| domInteractive | 84 | 27 | 230 | 46 | 111 | 171 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 67 | 23 | 238 | 45 | 85 | 173 | |||
| firstReactRender | 44 | 34 | 63 | 6 | 48 | 56 | |||
| getState | 21 | 7 | 176 | 32 | 15 | 85 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1303 | 1112 | 1740 | 107 | 1361 | 1508 | |||
| setupStore | 18 | 6 | 243 | 26 | 14 | 54 | |||
| numNetworkReqs | 20 | 9 | 91 | 21 | 13 | 86 | |||
| Webpack | Power User Home | uiStartup | 2665 | 1819 | 3374 | 457 | 3050 | 3240 | |
| load | 1854 | 1193 | 2623 | 409 | 2204 | 2386 | |||
| domContentLoaded | 1853 | 1193 | 2623 | 410 | 2204 | 2385 | |||
| domInteractive | 155 | 31 | 1026 | 259 | 80 | 913 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 154 | 27 | 1131 | 176 | 181 | 575 | |||
| firstReactRender | 55 | 38 | 193 | 16 | 60 | 67 | |||
| getState | 119 | 58 | 279 | 45 | 149 | 209 | |||
| initialActions | 2 | 1 | 8 | 1 | 2 | 7 | |||
| loadScripts | 1769 | 1177 | 2598 | 399 | 2098 | 2333 | |||
| setupStore | 44 | 5 | 357 | 68 | 40 | 228 | |||
| numNetworkReqs | 67 | 46 | 123 | 21 | 65 | 116 |
📊 Page Load Benchmark Results
Current Commit: 399cd3a | Date: 12/12/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: 730ms (±38ms) 🟢 | historical mean value: 720ms ⬆️ (historical data)
- firstContentfulPaint-> current mean value: 78ms (±11ms) 🟢 | historical mean value: 76ms ⬆️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.05s | 40ms | 1.01s | 1.35s | 1.09s | 1.35s |
| domContentLoaded | 730ms | 38ms | 702ms | 1.01s | 765ms | 1.01s |
| firstPaint | 78ms | 11ms | 60ms | 164ms | 92ms | 164ms |
| firstContentfulPaint | 78ms | 11ms | 60ms | 164ms | 92ms | 164ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 58 Bytes (0%)
- ui: 0 Bytes (0%)
- common: 20 Bytes (0%)
Builds ready [399cd3a]
- 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 (1283 ± 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 | 1283 | 1022 | 1564 | 103 | 1348 | 1450 |
| load | 1061 | 872 | 1285 | 92 | 1125 | 1208 | |||
| domContentLoaded | 1055 | 862 | 1280 | 92 | 1121 | 1195 | |||
| domInteractive | 26 | 16 | 114 | 19 | 22 | 79 | |||
| firstPaint | 497 | 88 | 1229 | 415 | 1056 | 1189 | |||
| backgroundConnect | 215 | 195 | 250 | 12 | 224 | 241 | |||
| firstReactRender | 49 | 32 | 96 | 14 | 53 | 78 | |||
| getState | 40 | 19 | 83 | 14 | 47 | 73 | |||
| initialActions | 1 | 0 | 9 | 1 | 1 | 3 | |||
| loadScripts | 847 | 660 | 1050 | 90 | 908 | 990 | |||
| setupStore | 12 | 7 | 30 | 5 | 15 | 23 | |||
| numNetworkReqs | 18 | 11 | 84 | 18 | 11 | 70 | |||
| Browserify | Power User Home | uiStartup | 1914 | 1555 | 2649 | 168 | 1984 | 2183 | |
| load | 1085 | 897 | 1664 | 127 | 1157 | 1306 | |||
| domContentLoaded | 1076 | 890 | 1654 | 126 | 1149 | 1298 | |||
| domInteractive | 33 | 17 | 271 | 33 | 27 | 112 | |||
| firstPaint | 565 | 106 | 1315 | 403 | 1028 | 1164 | |||
| backgroundConnect | 249 | 205 | 652 | 83 | 236 | 508 | |||
| firstReactRender | 51 | 39 | 108 | 10 | 53 | 74 | |||
| getState | 200 | 150 | 708 | 77 | 206 | 260 | |||
| initialActions | 1 | 0 | 4 | 1 | 1 | 2 | |||
| loadScripts | 858 | 686 | 1426 | 125 | 928 | 1093 | |||
| setupStore | 16 | 7 | 53 | 8 | 15 | 37 | |||
| numNetworkReqs | 67 | 51 | 133 | 17 | 64 | 123 | |||
| Webpack | Standard Home | uiStartup | 800 | 654 | 1233 | 94 | 855 | 958 | |
| load | 611 | 544 | 769 | 67 | 682 | 738 | |||
| domContentLoaded | 605 | 537 | 760 | 66 | 676 | 732 | |||
| domInteractive | 23 | 14 | 102 | 18 | 19 | 74 | |||
| firstPaint | 242 | 88 | 708 | 165 | 227 | 589 | |||
| backgroundConnect | 28 | 6 | 131 | 35 | 27 | 106 | |||
| firstReactRender | 58 | 33 | 163 | 34 | 68 | 141 | |||
| getState | 31 | 13 | 146 | 21 | 41 | 57 | |||
| initialActions | 1 | 0 | 9 | 1 | 1 | 2 | |||
| loadScripts | 602 | 534 | 754 | 65 | 674 | 724 | |||
| setupStore | 11 | 5 | 28 | 5 | 12 | 23 | |||
| numNetworkReqs | 18 | 11 | 87 | 18 | 11 | 71 | |||
| Webpack | Power User Home | uiStartup | 1369 | 1045 | 2083 | 190 | 1470 | 1713 | |
| load | 693 | 570 | 917 | 84 | 720 | 874 | |||
| domContentLoaded | 686 | 562 | 911 | 84 | 715 | 866 | |||
| domInteractive | 29 | 16 | 116 | 22 | 25 | 98 | |||
| firstPaint | 379 | 109 | 918 | 248 | 659 | 851 | |||
| backgroundConnect | 77 | 7 | 641 | 125 | 94 | 321 | |||
| firstReactRender | 51 | 41 | 73 | 7 | 54 | 67 | |||
| getState | 196 | 144 | 694 | 76 | 202 | 268 | |||
| initialActions | 1 | 0 | 3 | 1 | 1 | 2 | |||
| loadScripts | 683 | 560 | 908 | 83 | 713 | 864 | |||
| setupStore | 14 | 8 | 38 | 8 | 12 | 36 | |||
| numNetworkReqs | 67 | 54 | 200 | 24 | 62 | 127 | |||
| Firefox | Browserify | Standard Home | uiStartup | 1440 | 1098 | 2402 | 188 | 1522 | 1770 |
| load | 1118 | 930 | 2115 | 150 | 1189 | 1297 | |||
| domContentLoaded | 1117 | 930 | 2115 | 150 | 1189 | 1295 | |||
| domInteractive | 80 | 32 | 1107 | 110 | 91 | 149 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 59 | 23 | 207 | 44 | 86 | 141 | |||
| firstReactRender | 42 | 32 | 76 | 9 | 45 | 62 | |||
| getState | 15 | 7 | 232 | 24 | 11 | 32 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1088 | 913 | 2093 | 144 | 1151 | 1245 | |||
| setupStore | 14 | 6 | 156 | 18 | 12 | 45 | |||
| numNetworkReqs | 19 | 9 | 84 | 19 | 13 | 75 | |||
| Browserify | Power User Home | uiStartup | 2629 | 1616 | 3813 | 554 | 3044 | 3347 | |
| load | 1636 | 951 | 2523 | 476 | 2057 | 2290 | |||
| domContentLoaded | 1636 | 951 | 2523 | 476 | 2057 | 2290 | |||
| domInteractive | 161 | 33 | 1140 | 260 | 108 | 926 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 153 | 24 | 972 | 144 | 196 | 336 | |||
| firstReactRender | 61 | 38 | 105 | 13 | 65 | 94 | |||
| getState | 137 | 73 | 347 | 47 | 162 | 210 | |||
| initialActions | 3 | 1 | 38 | 5 | 2 | 3 | |||
| loadScripts | 1556 | 936 | 2414 | 443 | 1954 | 2182 | |||
| setupStore | 64 | 5 | 1055 | 128 | 62 | 319 | |||
| numNetworkReqs | 69 | 43 | 133 | 21 | 67 | 117 | |||
| Webpack | Standard Home | uiStartup | 1647 | 1356 | 2368 | 181 | 1730 | 2037 | |
| load | 1338 | 1128 | 1766 | 115 | 1397 | 1569 | |||
| domContentLoaded | 1337 | 1128 | 1766 | 115 | 1397 | 1569 | |||
| domInteractive | 84 | 27 | 230 | 46 | 111 | 171 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 67 | 23 | 238 | 45 | 85 | 173 | |||
| firstReactRender | 44 | 34 | 63 | 6 | 48 | 56 | |||
| getState | 21 | 7 | 176 | 32 | 15 | 85 | |||
| initialActions | 1 | 0 | 3 | 1 | 2 | 2 | |||
| loadScripts | 1303 | 1112 | 1740 | 107 | 1361 | 1508 | |||
| setupStore | 18 | 6 | 243 | 26 | 14 | 54 | |||
| numNetworkReqs | 20 | 9 | 91 | 21 | 13 | 86 | |||
| Webpack | Power User Home | uiStartup | 2665 | 1819 | 3374 | 457 | 3050 | 3240 | |
| load | 1854 | 1193 | 2623 | 409 | 2204 | 2386 | |||
| domContentLoaded | 1853 | 1193 | 2623 | 410 | 2204 | 2385 | |||
| domInteractive | 155 | 31 | 1026 | 259 | 80 | 913 | |||
| firstPaint | - | - | - | - | - | - | |||
| backgroundConnect | 154 | 27 | 1131 | 176 | 181 | 575 | |||
| firstReactRender | 55 | 38 | 193 | 16 | 60 | 67 | |||
| getState | 119 | 58 | 279 | 45 | 149 | 209 | |||
| initialActions | 2 | 1 | 8 | 1 | 2 | 7 | |||
| loadScripts | 1769 | 1177 | 2598 | 399 | 2098 | 2333 | |||
| setupStore | 44 | 5 | 357 | 68 | 40 | 228 | |||
| numNetworkReqs | 67 | 46 | 123 | 21 | 65 | 116 |
📊 Page Load Benchmark Results
Current Commit: 399cd3a | Date: 12/12/2025
📄 Localhost MetaMask Test Dapp
Samples: 100
Summary
- pageLoadTime-> current mean value: 1.05s (±40ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
- domContentLoaded-> current mean value: 730ms (±38ms) 🟢 | historical mean value: 732ms ⬇️ (historical data)
- firstContentfulPaint-> current mean value: 78ms (±11ms) 🟢 | historical mean value: 78ms ⬆️ (historical data)
📈 Detailed Results
| Metric | Mean | Std Dev | Min | Max | P95 | P99 |
|---|---|---|---|---|---|---|
| pageLoadTime | 1.05s | 40ms | 1.01s | 1.35s | 1.09s | 1.35s |
| domContentLoaded | 730ms | 38ms | 702ms | 1.01s | 765ms | 1.01s |
| firstPaint | 78ms | 11ms | 60ms | 164ms | 92ms | 164ms |
| firstContentfulPaint | 78ms | 11ms | 60ms | 164ms | 92ms | 164ms |
| largestContentfulPaint | 0ms | 0ms | 0ms | 0ms | 0ms | 0ms |
Bundle size diffs [🚨 Warning! Bundle size has increased!]
- background: 58 Bytes (0%)
- ui: 0 Bytes (0%)
- common: 20 Bytes (0%)