Skip to content

perf: remove identities, lostIdentities, selectedAddress states from the PreferencesController#40417

Open
hmalik88 wants to merge 38 commits intomainfrom
hm/remove-identities
Open

perf: remove identities, lostIdentities, selectedAddress states from the PreferencesController#40417
hmalik88 wants to merge 38 commits intomainfrom
hm/remove-identities

Conversation

@hmalik88
Copy link
Contributor

@hmalik88 hmalik88 commented Feb 25, 2026

Description

Removed usage of identities, lostIdentities, selectedAddress states across the extension. The main driver for this change was to prevent the preferences controller from iterating through the accounts in the accounts controller every time there was a state change. This was done to keep the identities states in sync with the internal accounts, identities is an artifact of how we used to handle accounts and these states can safely be removed.

Changelog

CHANGELOG entry: null

Related issues

Fixes: N/A

Manual testing steps

  1. Build from this branch.
  2. Create an account and observe nothing breaks.

Screenshots/Recordings

N/A

Pre-merge author checklist

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

Medium Risk
Touches account-selection and metrics/backup codepaths while removing widely-referenced state fields, so regressions would mainly show up as wrong selected account or missing account counts in events/fixtures. Migration 198 mitigates stale persisted data risk by deleting obsolete fields from stored state.

Overview
Stops mirroring accounts inside PreferencesController. The controller no longer maintains/syncs identities, lostIdentities, or selectedAddress (including removing the AccountsController state-change subscription and deprecated selected-address helpers), and Sentry state filters/types are updated accordingly.

Moves remaining consumers to internalAccounts. Metrics (DappViewed), RPC handler tracking, account import flow, and account selection during hardware unlock/new/import now derive totals/selection via AccountsController instead of preferences state.

Cleans persisted/test data. Adds migration 198 to delete the obsolete preferences fields from storage, and updates backup/fixtures/mocks/tests/storybook data to stop generating or asserting on those properties.

Written by Cursor Bugbot for commit bd972df. This will update automatically on new commits. Configure here.

@hmalik88 hmalik88 requested review from a team as code owners February 25, 2026 21:04
@github-actions
Copy link
Contributor

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.

@metamaskbot metamaskbot added the team-accounts-framework Accounts team label Feb 25, 2026
@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Feb 25, 2026

✨ Files requiring CODEOWNER review ✨

👨‍🔧 @MetaMask/extension-platform (2 files, +2 -8)
  • 📁 test/
    • 📁 e2e/
      • 📁 fixtures/
        • 📄 fixture-validation.ts +0 -3
        • 📄 onboarding-fixture.json +2 -5

🧪 @MetaMask/qa (2 files, +2 -8)
  • 📁 test/
    • 📁 e2e/
      • 📁 fixtures/
        • 📄 fixture-validation.ts +0 -3
        • 📄 onboarding-fixture.json +2 -5

👨‍🔧 @MetaMask/wallet-integrations (3 files, +14 -20)
  • 📁 app/
    • 📁 scripts/
      • 📁 lib/
        • 📁 rpc-method-middleware/
          • 📁 handlers/
            • 📄 request-accounts.test.ts +8 -16
            • 📄 request-accounts.ts +4 -2
  • 📁 test/
    • 📁 e2e/
      • 📁 flask/
        • 📁 multichain-api/
          • 📁 evm/
            • 📄 wallet_createSession.spec.ts +2 -2

@hmalik88 hmalik88 changed the title chore: remove identities, lostIdentities, selectedAddress states from the PreferencesController perf: remove identities, lostIdentities, selectedAddress states from the PreferencesController Feb 25, 2026
@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Feb 25, 2026

Builds ready [a30ed7d]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account2832762926283292
total2832762926283292
Bridge User Actionsbridge_load_page22518028540256285
bridge_load_asset_picker26022030029266300
bridge_search_token74170478434779784
total1199110413358512291335
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Standard HomeuiStartup14561204194012015111694
load12261022164010512801403
domContentLoaded12171019159810112701393
domInteractive2917141202679
firstPaint3247614113892361289
backgroundConnect22019741724224248
firstReactRender20124762233
initialActions1012224
loadScripts101681013789910641190
setupStore1473971730
numNetworkReqs302278163169
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2202202200220220
srpButtonToSrpForm97979709797
confirmSrpToPwForm23222622526
pwFormToMetricsScreen17152021620
metricsToWalletReadyScreen19172222122
doneButtonToHomeScreen1081735168239914371682
openAccountMenuToAccountListLoaded75316814807352780678073
total89938832920616491799206
Onboarding New WalletcreateWalletToSocialScreen2172172180218218
srpButtonToPwForm1091091090109109
createPwToRecoveryScreen888088
skipBackupToMetricsScreen35353613636
agreeButtonToOnboardingSuccess16161701717
doneButtonToAssetList54047368585513685
total9248551071868991071
Solana Asset DetailsassetClickToPriceChart48455235252
total48455235252
Import Srp HomeloginToHomeScreen19371759206312020352063
openAccountMenuAfterLogin91628933941517391879415
homeAfterImportWithNewWallet99598310101110001010
total121201197812183831217112183
Send TransactionsopenSendPageFromHome271555153155
selectTokenToSendFormLoaded27183473234
reviewTransactionToConfirmationPage1093851145822411741458
total1147885154724412241547
SwapopenSwapPageFromHome12611014815139148
fetchAndDisplaySwapQuotes49664638523526552175235
total50964750535626753555356
🌐 Dapp Page Load Benchmarks

Current Commit: a30ed7d | Date: 2/25/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.06s (±46ms) 🟡 | historical mean value: 1.05s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 749ms (±63ms) 🟢 | historical mean value: 738ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 94ms (±131ms) 🟢 | historical mean value: 85ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.06s 46ms 1.03s 1.43s 1.09s 1.43s
domContentLoaded 749ms 63ms 713ms 1.32s 768ms 1.32s
firstPaint 94ms 131ms 64ms 1.39s 92ms 1.39s
firstContentfulPaint 94ms 131ms 64ms 1.39s 92ms 1.39s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚀 Bundle size reduced!]
  • background: -1.18 KiB (-0.03%)
  • ui: 5 Bytes (0%)
  • common: -25 Bytes (0%)

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Feb 25, 2026

Builds ready [9622aa5]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account2712652774271277
total2712652774271277
Bridge User Actionsbridge_load_page2262212283228228
bridge_load_asset_picker20418721912209219
bridge_search_token74672278524762785
total1184112512755211991275
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Standard HomeuiStartup14571236205612715171617
load12291029170610812741383
domContentLoaded12211013167810612691365
domInteractive3018127192677
firstPaint222751682273220409
backgroundConnect21619526212220239
firstReactRender20124462132
initialActions109113
loadScripts1021814147810410741160
setupStore1464571623
numNetworkReqs312280163168
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2192182201220220
srpButtonToSrpForm93909629396
confirmSrpToPwForm21212102121
pwFormToMetricsScreen15151501515
metricsToWalletReadyScreen16161601616
doneButtonToHomeScreen1141814144523112941445
openAccountMenuToAccountListLoaded6946681870139170137013
total84417847883639388168836
Onboarding New WalletcreateWalletToSocialScreen2232212251223225
srpButtonToPwForm1161081236122123
createPwToRecoveryScreen999099
skipBackupToMetricsScreen37363813838
agreeButtonToOnboardingSuccess17171801718
doneButtonToAssetList896578129826610251298
total1302972168926814591689
Solana Asset DetailsassetClickToPriceChart49455225052
total49455225052
Import Srp HomeloginToHomeScreen1871178120369519202036
openAccountMenuAfterLogin9218918592552992559255
homeAfterImportWithNewWallet1176947160226813831602
total1230211983126192361240312619
Send TransactionsopenSendPageFromHome221140102840
selectTokenToSendFormLoaded26183783337
reviewTransactionToConfirmationPage9098471011639521011
total95788010727910291072
SwapopenSwapPageFromHome1248814221142142
fetchAndDisplaySwapQuotes50444801522818651825228
total51684943537018453075370
🌐 Dapp Page Load Benchmarks

Current Commit: 9622aa5 | Date: 2/25/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.09s (±57ms) 🟡 | historical mean value: 1.06s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 767ms (±54ms) 🟢 | historical mean value: 744ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 85ms (±12ms) 🟢 | historical mean value: 86ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.09s 57ms 1.05s 1.39s 1.13s 1.39s
domContentLoaded 767ms 54ms 733ms 1.07s 803ms 1.07s
firstPaint 85ms 12ms 68ms 184ms 96ms 184ms
firstContentfulPaint 85ms 12ms 68ms 184ms 96ms 184ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚀 Bundle size reduced!]
  • background: -1.18 KiB (-0.03%)
  • ui: 0 Bytes (0%)
  • common: -35 Bytes (0%)

});
});

describe('setAccountLabel', () => {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed the test for this since it used identities, this method is also unused and only called in dead code. Will remove this in a follow up PR since removing in this PR blows the scope up too much.

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Feb 27, 2026

Builds ready [bd972df]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account2652642661266266
total2652642661266266
Bridge User Actionsbridge_load_page1981852109199210
bridge_load_asset_picker2272222314231231
bridge_search_token73970876623757766
total1188112912485112401248
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Standard HomeuiStartup14101175180711414531610
load1184101215159312221346
domContentLoaded117599115099112101335
domInteractive2817121172670
firstPaint2627813763332271234
backgroundConnect20919141727211232
firstReactRender20124962131
initialActions106113
loadScripts98280212968410181132
setupStore1364161522
numNetworkReqs302284163168
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2202192221221222
srpButtonToSrpForm9896100198100
confirmSrpToPwForm23222412324
pwFormToMetricsScreen17161811718
metricsToWalletReadyScreen17171801718
doneButtonToHomeScreen774616904126900904
openAccountMenuToAccountListLoaded77937672805915178668059
total8949885790858389839085
Onboarding New WalletcreateWalletToSocialScreen2192172222221222
srpButtonToPwForm1061051071106107
createPwToRecoveryScreen888088
skipBackupToMetricsScreen34343403434
agreeButtonToOnboardingSuccess16161601616
doneButtonToAssetList619487874157623874
total1004872125615510071256
Solana Asset DetailsassetClickToPriceChart47435134951
total47435134951
Import Srp HomeloginToHomeScreen19471796223716520202237
openAccountMenuAfterLogin91678953930013692689300
homeAfterImportWithNewWallet9769511005239901005
total120171192412074661207412074
Send TransactionsopenSendPageFromHome22123792637
selectTokenToSendFormLoaded21192322223
reviewTransactionToConfirmationPage86885687810876878
total9139129151915915
SwapopenSwapPageFromHome1101051154113115
fetchAndDisplaySwapQuotes477947714792947924792
total488848784901949014901
🌐 Dapp Page Load Benchmarks

Current Commit: bd972df | Date: 2/27/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±41ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 728ms (±39ms) 🟢 | historical mean value: 735ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 80ms (±12ms) 🟢 | historical mean value: 84ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 41ms 1.01s 1.34s 1.07s 1.34s
domContentLoaded 728ms 39ms 706ms 1.01s 763ms 1.01s
firstPaint 80ms 12ms 60ms 180ms 92ms 180ms
firstContentfulPaint 80ms 12ms 60ms 180ms 92ms 180ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs
  • background: -844 Bytes (-0.02%)
  • ui: 27 Bytes (0%)
  • common: -45 Bytes (0%)

@hmalik88 hmalik88 marked this pull request as draft February 27, 2026 14:59
@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Feb 27, 2026

Builds ready [cd18de6]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account29127731416305314
total29127731416305314
Bridge User Actionsbridge_load_page25823528620266286
bridge_load_asset_picker1841761947194194
bridge_search_token71670473413730734
total1145112511721911621172
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Standard HomeuiStartup14421181185911715021644
load12191020159010412731389
domContentLoaded1209999156110412681380
domInteractive3018156212674
firstPaint3057913663562471242
backgroundConnect21619426213221240
firstReactRender20123652332
initialActions2010225
loadScripts1009813134210010581183
setupStore1473761627
numNetworkReqs302278162268
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2192182222218222
srpButtonToSrpForm1029211811114118
confirmSrpToPwForm22212202222
pwFormToMetricsScreen15151501515
metricsToWalletReadyScreen16151711617
doneButtonToHomeScreen1356127414245413751424
openAccountMenuToAccountListLoaded7077700072258770457225
total88388681901813589799018
Onboarding New WalletcreateWalletToSocialScreen2192182200219220
srpButtonToPwForm1051031072107107
createPwToRecoveryScreen888088
skipBackupToMetricsScreen37344234142
agreeButtonToOnboardingSuccess16161601616
doneButtonToAssetList840489133235212001332
total1227870171635515961716
Solana Asset DetailsassetClickToPriceChart66461022283102
total66461022283102
Import Srp HomeloginToHomeScreen1777169518757218131875
openAccountMenuAfterLogin93219182942710694199427
homeAfterImportWithNewWallet9629301008309701008
total120541199912112461211212112
Send TransactionsopenSendPageFromHome15141611516
selectTokenToSendFormLoaded18182111821
reviewTransactionToConfirmationPage8598578622859862
total8938898952894895
SwapopenSwapPageFromHome1311181408139140
fetchAndDisplaySwapQuotes53574590641078562126410
total54884708655079263516550
🌐 Dapp Page Load Benchmarks

Current Commit: cd18de6 | Date: 2/27/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.08s (±58ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 761ms (±56ms) 🟢 | historical mean value: 728ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 83ms (±11ms) 🟢 | historical mean value: 83ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.08s 58ms 1.03s 1.40s 1.17s 1.40s
domContentLoaded 761ms 56ms 721ms 1.08s 836ms 1.08s
firstPaint 83ms 11ms 64ms 176ms 96ms 176ms
firstContentfulPaint 83ms 11ms 64ms 176ms 96ms 176ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚀 Bundle size reduced!]
  • background: -1.01 KiB (-0.02%)
  • ui: -15.27 KiB (-0.18%)
  • common: 538 Bytes (0%)

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Feb 27, 2026

Builds ready [096d879]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account31828435227333352
total31828435227333352
Confirm Txconfirm_tx6123609961532061256153
total6123609961532061256153
Bridge User Actionsbridge_load_page26525127811274278
bridge_load_asset_picker18214821824191218
bridge_search_token7177137234720723
total1150113811631011561163
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Standard HomeuiStartup14111174193611214581608
load118899516619912171354
domContentLoaded118297316389812121346
domInteractive2817110182479
firstPaint153681390144193285
backgroundConnect21019334718214239
firstReactRender20113962135
initialActions105114
loadScripts98778814369710181153
setupStore1364061623
numNetworkReqs312291192283
Power User HomeuiStartup3094168112921238827978473
load12371054171015512941543
domContentLoaded12171044170114712711516
domInteractive36201332434109
firstPaint208731327146267370
backgroundConnect10752581058821216146582
firstReactRender25184962738
initialActions107113
loadScripts1001823149514610551311
setupStore1474151724
numNetworkReqs883622848103205
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2172162171217217
srpButtonToSrpForm91909219292
confirmSrpToPwForm21212102121
pwFormToMetricsScreen15151501515
metricsToWalletReadyScreen16151711717
doneButtonToHomeScreen1086590141831713171418
openAccountMenuToAccountListLoaded72416786781840376217818
total8733866887674687678767
Onboarding New WalletcreateWalletToSocialScreen2242192304227230
srpButtonToPwForm1181101349122134
createPwToRecoveryScreen999099
skipBackupToMetricsScreen38383903839
agreeButtonToOnboardingSuccess17171801818
doneButtonToAssetList920700131924610971319
total13281098171525015341715
Asset DetailsassetClickToPriceChart613878187878
total613878187878
Solana Asset DetailsassetClickToPriceChart51465855358
total51465855358
Import Srp HomeloginToHomeScreen19711859219513220482195
openAccountMenuAfterLogin543570126070
homeAfterImportWithNewWallet17151568189513418471895
total3801368939348838063934
Send TransactionsopenSendPageFromHome20182531925
selectTokenToSendFormLoaded20172322123
reviewTransactionToConfirmationPage9298511090889511090
total92988799945940999
SwapopenSwapPageFromHome1281151399131139
fetchAndDisplaySwapQuotes4652457447928346264792
total4797474149237347654923
🌐 Dapp Page Load Benchmarks

Current Commit: 096d879 | Date: 2/27/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±56ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 735ms (±53ms) 🟢 | historical mean value: 740ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 80ms (±10ms) 🟢 | historical mean value: 83ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 56ms 1.02s 1.35s 1.08s 1.35s
domContentLoaded 735ms 53ms 712ms 1.02s 766ms 1.02s
firstPaint 80ms 10ms 64ms 164ms 88ms 164ms
firstContentfulPaint 80ms 10ms 64ms 164ms 88ms 164ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: -670 Bytes (-0.01%)
  • ui: -14.62 KiB (-0.18%)
  • common: 4.02 KiB (0.04%)

@hmalik88 hmalik88 marked this pull request as ready for review February 27, 2026 21:27
@sonarqubecloud
Copy link

@metamaskbotv2
Copy link
Contributor

metamaskbotv2 bot commented Feb 27, 2026

Builds ready [883e033]
⚡ Performance Benchmarks
👆 Interaction Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Load New Accountload_new_account32927737233356372
total32927737233356372
Confirm Txconfirm_tx6057601460933460886093
total6057601460933460886093
Bridge User Actionsbridge_load_page28726032223290322
bridge_load_asset_picker24012033673290336
bridge_search_token71570573612709736
total1234110513319413121331
🔌 Startup Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Standard HomeuiStartup14831241182311115281673
load1243105215189412841425
domContentLoaded1235104215099412781404
domInteractive3118106202782
firstPaint186711381184218342
backgroundConnect22319737322226260
firstReactRender21124462334
initialActions2013224
loadScripts103182912979510731206
setupStore1464171628
numNetworkReqs312284192382
Power User HomeuiStartup20301641265214821082235
load11891078181513911781540
domContentLoaded11741068177413511641500
domInteractive3720250313573
firstPaint1758052879234289
backgroundConnect30526646526314340
firstReactRender24165472640
initialActions106113
loadScripts95182915521359411288
setupStore1585061724
numNetworkReqs67361764356168
🧭 User Journey Benchmarks
BenchmarkMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P75 (ms)P95 (ms)
Onboarding Import WalletimportWalletToSocialScreen2192182201219220
srpButtonToSrpForm96969709797
confirmSrpToPwForm23222302323
pwFormToMetricsScreen16161601616
metricsToWalletReadyScreen17171701717
doneButtonToHomeScreen1163824165130312511651
openAccountMenuToAccountListLoaded73386817787338576727873
total8867884289042789048904
Onboarding New WalletcreateWalletToSocialScreen2192172202220220
srpButtonToPwForm1081051122109112
createPwToRecoveryScreen889089
skipBackupToMetricsScreen37353913939
agreeButtonToOnboardingSuccess17161811718
doneButtonToAssetList56749463651593636
total9588841020509881020
Asset DetailsassetClickToPriceChart584375136775
total584375136775
Solana Asset DetailsassetClickToPriceChart50445445354
total50445445354
Import Srp HomeloginToHomeScreen1963182820859119702085
openAccountMenuAfterLogin50485225152
homeAfterImportWithNewWallet18271296222633020962226
total4047396941176441014117
Send TransactionsopenSendPageFromHome17171701717
selectTokenToSendFormLoaded22202312323
reviewTransactionToConfirmationPage8608558644864864
total9008939106901910
SwapopenSwapPageFromHome1148013419131134
fetchAndDisplaySwapQuotes4640457647235146674723
total4754470748034248014803
🌐 Dapp Page Load Benchmarks

Current Commit: 883e033 | Date: 2/27/2026

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±41ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 736ms (±39ms) 🟢 | historical mean value: 740ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 81ms (±13ms) 🟢 | historical mean value: 83ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 41ms 1.02s 1.36s 1.07s 1.36s
domContentLoaded 736ms 39ms 713ms 1.03s 751ms 1.03s
firstPaint 81ms 13ms 64ms 196ms 88ms 196ms
firstContentfulPaint 81ms 13ms 64ms 196ms 88ms 196ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs
  • background: -918 Bytes (-0.02%)
  • ui: 29 Bytes (0%)
  • common: -45 Bytes (0%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants