Skip to content

Conversation

imblue-dabadee
Copy link
Contributor

@imblue-dabadee imblue-dabadee commented Sep 9, 2025

Description

This adds metrics that capture the address label and the address scan response when displayed in the UI. The metrics specifically are associated to when transactions or signatures are either approved, rejected, finalized, or submitted.

Open in GitHub Codespaces

Changelog

CHANGELOG entry:

Related issues

Fixes:

Manual testing steps

  1. Run segment locally
  2. Trigger a transaction or signature and reject/confirm.
  3. Observe that address_alert_response and address_label exist. The latter should only exist in anon events.

Screenshots/Recordings

Before

After

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.

Copy link
Contributor

github-actions bot commented Sep 9, 2025

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-product-safety Push issues to Product Safety team label Sep 9, 2025
@github-actions github-actions bot added the size-M label Sep 9, 2025
@metamaskbot
Copy link
Collaborator

metamaskbot commented Sep 9, 2025

✨ Files requiring CODEOWNER review ✨

@MetaMask/confirmations (1 files, +3 -0)
  • 📁 ui/
    • 📁 pages/
      • 📁 confirmations/
        • 📁 components/
          • 📁 confirm/
            • 📁 info/
              • 📄 info.tsx +3 -0

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: 0e8769d | Date: 9/9/2025

📄 https://metamask.github.io/test-dapp/

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.30s (±48ms) 🟡 | historical mean value: 1.31s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 976ms (±47ms) 🟢 | historical mean value: 984ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 91ms (±22ms) 🟢 | historical mean value: 94ms ⬇️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.30s 48ms 1.27s 1.71s 1.35s 1.71s
domContentLoaded 976ms 47ms 949ms 1.39s 1.02s 1.39s
firstPaint 91ms 22ms 72ms 204ms 148ms 204ms
firstContentfulPaint 91ms 22ms 72ms 204ms 148ms 204ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [0e8769d]
UI Startup Metrics (1223 ± 55 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1223111314095512601309
load106597412175210901162
domContentLoaded105896312015310851156
domInteractive17134761729
firstPaint65985120743310721157
backgroundConnect2512372737255266
firstReactRender24165062439
getState1263661525
initialActions40679411
loadScripts81372094652837914
setupStore95192914
WebpackHomeuiStartup20341571253323621772438
load16371280195218417691878
domContentLoaded16281275194818417581864
domInteractive171276101539
firstPaint1676338762190290
backgroundConnect3913342533166
firstReactRender79373295080144
getState3342997214280
initialActions62295623
loadScripts16251272194618317551852
setupStore196289401329
FirefoxBrowserifyHomeuiStartup13891236179910614571586
load1207104515098112681354
domContentLoaded1207104515088112681354
domInteractive1073230154115240
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect331896153573
firstReactRender26224942832
getState62526613
initialActions30153312
loadScripts1182102414908112341321
setupStore10418019830
WebpackHomeuiStartup15531378206916016591867
load13221165167013114311573
domContentLoaded13211164167013114301572
domInteractive106663015795275
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3320106133751
firstReactRender43345244548
getState729410613
initialActions3010135
loadScripts12971143164613114111541
setupStore95354916
Benchmark value 252 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 24 exceeds gate value 23 for chrome browserify home mean firstReactRender
Benchmark value 5 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 267 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 11 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 34 exceeds gate value 29 for chrome webpack home mean getState
Benchmark value 280 exceeds gate value 195 for chrome webpack home p95 getState
Benchmark value 23 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 33 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 27 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 4 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 11 exceeds gate value 9 for firefox browserify home mean setupStore
Benchmark value 240 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 73 exceeds gate value 70 for firefox browserify home p95 backgroundConnect
Benchmark value 12 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 30 exceeds gate value 27 for firefox browserify home p95 setupStore
Benchmark value 106 exceeds gate value 100 for firefox webpack home mean domInteractive
Benchmark value 34 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 43 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 3 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 275 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 51 exceeds gate value 49 for firefox webpack home p95 backgroundConnect
Benchmark value 5 exceeds gate value 2 for firefox webpack home p95 initialActions
Sum of mean exceeds: 288ms | Sum of p95 exceeds: 544.8ms
Sum of all benchmark exceeds: 832.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 43 Bytes (0%)
  • ui: 1.75 KiB (0.02%)
  • common: 10 Bytes (0%)

@metamaskbot
Copy link
Collaborator

❌ test-e2e-chrome-api-specs failed. View the html report here.

@imblue-dabadee imblue-dabadee changed the title feat: transaction trust signal metrics feat: transaction and signature trust signal metrics Sep 10, 2025
@imblue-dabadee imblue-dabadee marked this pull request as ready for review September 10, 2025 03:25
@imblue-dabadee imblue-dabadee requested a review from a team as a code owner September 10, 2025 03:25
@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: ffcdfd4 | Date: 9/10/2025

📄 https://metamask.github.io/test-dapp/

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.31s (±47ms) 🟡 | historical mean value: 1.31s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 985ms (±42ms) 🟢 | historical mean value: 988ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 88ms (±13ms) 🟢 | historical mean value: 95ms ⬇️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.31s 47ms 1.26s 1.68s 1.37s 1.68s
domContentLoaded 985ms 42ms 943ms 1.35s 1.03s 1.35s
firstPaint 88ms 13ms 72ms 156ms 116ms 156ms
firstContentfulPaint 88ms 13ms 72ms 156ms 116ms 156ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [ffcdfd4]
UI Startup Metrics (1234 ± 63 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1234111814186312851332
load107096412225711121164
domContentLoaded106495612115711061153
domInteractive17145161730
firstPaint69890117143610911161
backgroundConnect2492342697253261
firstReactRender26175472939
getState15579101835
initialActions50477616
loadScripts82171695356862914
setupStore1063351120
WebpackHomeuiStartup20631567256923521962495
load16471257203319317741926
domContentLoaded16371245202319217641917
domInteractive1913106161556
firstPaint1737143874204328
backgroundConnect4018355513470
firstReactRender90393266091287
getState3153146815266
initialActions9217117722
loadScripts16331243202019117611905
setupStore2663086015265
FirefoxBrowserifyHomeuiStartup13631204181712114271621
load1178104414448912461348
domContentLoaded1177104414448912451348
domInteractive1013429650103217
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect2918116123149
firstReactRender27229282735
getState9219021625
initialActions4178838
loadScripts1156102713858512271321
setupStore10511013825
WebpackHomeuiStartup15631403213815216501853
load13291194166012114281577
domContentLoaded13291194165912114281577
domInteractive105343175696281
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3321115103842
firstReactRender43337754549
getState9316121716
initialActions411581638
loadScripts13041166157512114041554
setupStore10511311921
Benchmark value 1071 exceeds gate value 1070 for chrome browserify home mean load
Benchmark value 1064 exceeds gate value 1061 for chrome browserify home mean domContentLoaded
Benchmark value 250 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 26 exceeds gate value 23 for chrome browserify home mean firstReactRender
Benchmark value 16 exceeds gate value 15 for chrome browserify home mean getState
Benchmark value 6 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 261 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 35 exceeds gate value 33 for chrome browserify home p95 getState
Benchmark value 16 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 20 exceeds gate value 17 for chrome browserify home p95 setupStore
Benchmark value 31 exceeds gate value 29 for chrome webpack home mean getState
Benchmark value 9 exceeds gate value 7 for chrome webpack home mean initialActions
Benchmark value 2495 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 266 exceeds gate value 195 for chrome webpack home p95 getState
Benchmark value 22 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 265 exceeds gate value 65 for chrome webpack home p95 setupStore
Benchmark value 30 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 27 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 4 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 10 exceeds gate value 9 for firefox browserify home mean setupStore
Benchmark value 217 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 25 exceeds gate value 24 for firefox browserify home p95 getState
Benchmark value 8 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 105 exceeds gate value 100 for firefox webpack home mean domInteractive
Benchmark value 33 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 43 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 5 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 281 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 8 exceeds gate value 2 for firefox webpack home p95 initialActions
Sum of mean exceeds: 289ms | Sum of p95 exceeds: 749.8ms
Sum of all benchmark exceeds: 1038.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 43 Bytes (0%)
  • ui: 1.83 KiB (0.02%)
  • common: 10 Bytes (0%)

cursor[bot]

This comment was marked as outdated.

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: 547cd65 | Date: 9/10/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.27s (±14ms) 🟡 | historical mean value: 1.28s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 954ms (±12ms) 🟢 | historical mean value: 965ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 90ms (±12ms) 🟢 | historical mean value: 94ms ⬇️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.27s 14ms 1.25s 1.34s 1.30s 1.34s
domContentLoaded 954ms 12ms 936ms 1.01s 975ms 1.01s
firstPaint 90ms 12ms 76ms 160ms 116ms 160ms
firstContentfulPaint 90ms 12ms 76ms 160ms 116ms 160ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [547cd65]
UI Startup Metrics (1242 ± 69 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1242111914616912781374
load107895913106711181195
domContentLoaded107095613056711111181
domInteractive18134871740
firstPaint64471123343910831169
backgroundConnect2512382777254264
firstReactRender23164552434
getState15596131629
initialActions41203511
loadScripts826717103264874935
setupStore952031116
WebpackHomeuiStartup20121404252927422012486
load16031124209421217401923
domContentLoaded15911117207921317301912
domInteractive1912103181580
firstPaint1636353074184309
backgroundConnect4219350613592
firstReactRender95374308485322
getState2752885714233
initialActions12228636717
loadScripts15871113206921217271910
setupStore2562945814247
FirefoxBrowserifyHomeuiStartup15551353207814716151878
load13391169172410514111515
domContentLoaded13391169172310514111515
domInteractive1153429054124252
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect4023178234199
firstReactRender30237883042
getState73537613
initialActions7120222317
loadScripts13081143169210113671475
setupStore15525429973
WebpackHomeuiStartup16031360204215417011863
load13751141172614014751632
domContentLoaded13751140172514014751632
domInteractive104343685798271
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect31219093541
firstReactRender44315344751
getState6216269
initialActions511331539
loadScripts13521122167514014511604
setupStore96334913
Benchmark value 1242 exceeds gate value 1234 for chrome browserify home mean uiStartup
Benchmark value 1078 exceeds gate value 1070 for chrome browserify home mean load
Benchmark value 1071 exceeds gate value 1061 for chrome browserify home mean domContentLoaded
Benchmark value 252 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 16 exceeds gate value 15 for chrome browserify home mean getState
Benchmark value 5 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 1374 exceeds gate value 1365 for chrome browserify home p95 uiStartup
Benchmark value 1195 exceeds gate value 1190 for chrome browserify home p95 load
Benchmark value 1182 exceeds gate value 1180 for chrome browserify home p95 domContentLoaded
Benchmark value 264 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 11 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 43 exceeds gate value 40 for chrome webpack home mean backgroundConnect
Benchmark value 12 exceeds gate value 7 for chrome webpack home mean initialActions
Benchmark value 2486 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 80 exceeds gate value 57 for chrome webpack home p95 domInteractive
Benchmark value 93 exceeds gate value 90 for chrome webpack home p95 backgroundConnect
Benchmark value 233 exceeds gate value 195 for chrome webpack home p95 getState
Benchmark value 17 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 247 exceeds gate value 65 for chrome webpack home p95 setupStore
Benchmark value 1555 exceeds gate value 1405 for firefox browserify home mean uiStartup
Benchmark value 1340 exceeds gate value 1245 for firefox browserify home mean load
Benchmark value 1339 exceeds gate value 1239 for firefox browserify home mean domContentLoaded
Benchmark value 116 exceeds gate value 110 for firefox browserify home mean domInteractive
Benchmark value 41 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 30 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 7 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 1309 exceeds gate value 1230 for firefox browserify home mean loadScripts
Benchmark value 15 exceeds gate value 9 for firefox browserify home mean setupStore
Benchmark value 1878 exceeds gate value 1660 for firefox browserify home p95 uiStartup
Benchmark value 1515 exceeds gate value 1495 for firefox browserify home p95 load
Benchmark value 1515 exceeds gate value 1495 for firefox browserify home p95 domContentLoaded
Benchmark value 252 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 99 exceeds gate value 70 for firefox browserify home p95 backgroundConnect
Benchmark value 17 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 73 exceeds gate value 27 for firefox browserify home p95 setupStore
Benchmark value 105 exceeds gate value 100 for firefox webpack home mean domInteractive
Benchmark value 31 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 44 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 5 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 271 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 51 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 9 exceeds gate value 2 for firefox webpack home p95 initialActions
Sum of mean exceeds: 764ms | Sum of p95 exceeds: 1087.8ms
Sum of all benchmark exceeds: 1851.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 41 Bytes (0%)
  • ui: 3.45 KiB (0.04%)
  • common: 12 Bytes (0%)

Copy link
Contributor

@AugmentedMode AugmentedMode left a comment

Choose a reason for hiding this comment

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

LGTM! Seems to follow the existing pattern of adding metrics!

AugmentedMode
AugmentedMode previously approved these changes Sep 15, 2025
Comment on lines +32 to +40
if (!isSignatureTransactionType(confirmation)) {
const txMeta = confirmation as TransactionMeta;
return txMeta.txParams?.to ?? null;
}
try {
const data = (confirmation as SignatureRequestType)?.msgParams?.data;
const parsedData = typeof data === 'string' ? JSON.parse(data) : data;
if (parsedData?.domain?.verifyingContract) {
return parsedData.domain.verifyingContract;
Copy link
Contributor

Choose a reason for hiding this comment

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

I feel like we use this logic in so many places throughout the extension, is there a helper function to extract this?

Copy link
Member

Choose a reason for hiding this comment

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

matthewwalsh0
matthewwalsh0 previously approved these changes Sep 24, 2025
Comment on lines +32 to +40
if (!isSignatureTransactionType(confirmation)) {
const txMeta = confirmation as TransactionMeta;
return txMeta.txParams?.to ?? null;
}
try {
const data = (confirmation as SignatureRequestType)?.msgParams?.data;
const parsedData = typeof data === 'string' ? JSON.parse(data) : data;
if (parsedData?.domain?.verifyingContract) {
return parsedData.domain.verifyingContract;
Copy link
Member

Choose a reason for hiding this comment

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

Copy link
Member

Choose a reason for hiding this comment

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

Is it worth creating a ui/pages/product-safety or ui/pages/trust-signals so you can own these files?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done! Do we need to add something for CODEOWNERS as well?

Copy link
Contributor

Choose a reason for hiding this comment

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

Approved as far as code, however not sure if you need to do something for CODEOWNERS here

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: c7f96cd | Date: 9/24/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.08s (±72ms) 🟡 | historical mean value: 1.06s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 758ms (±87ms) 🟢 | historical mean value: 743ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 83ms (±43ms) 🟢 | historical mean value: 79ms ⬆️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.08s 72ms 1.03s 1.39s 1.31s 1.39s
domContentLoaded 758ms 87ms 714ms 1.34s 973ms 1.34s
firstPaint 83ms 43ms 60ms 512ms 88ms 512ms
firstContentfulPaint 83ms 43ms 60ms 512ms 88ms 512ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [c7f96cd]
UI Startup Metrics (1176 ± 64 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1176104513566412181299
load101089011665910461124
domContentLoaded100488511595810411119
domInteractive18134571639
firstPaint55598113240010011095
backgroundConnect2101972255213224
firstReactRender25174662739
getState1353871431
initialActions607110615
loadScripts80068095257836900
setupStore95243915
WebpackHomeuiStartup1164913146311912391308
load981752126511410481129
domContentLoaded976747126111410431124
domInteractive16125381340
firstPaint1566045759183257
backgroundConnect16103661730
firstReactRender36334733542
getState64223612
initialActions62154813
loadScripts973745125911410401121
setupStore86202811
FirefoxBrowserifyHomeuiStartup14171202181111514901653
load1223105514748612841372
domContentLoaded1223105514738612841372
domInteractive1073238462110246
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3520234303365
firstReactRender29245653139
getState738911619
initialActions6116618427
loadScripts1197103814568412611346
setupStore1159211932
WebpackHomeuiStartup15671397204815116581863
load13281168160812214071563
domContentLoaded13271168160712214061563
domInteractive1073233465106302
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect32217383747
firstReactRender46385954957
getState8316017613
initialActions701952449
loadScripts13041147158612313851537
setupStore1069191120
Benchmark value 211 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 25 exceeds gate value 23 for chrome browserify home mean firstReactRender
Benchmark value 6 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 224 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 15 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 13 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 1417 exceeds gate value 1405 for firefox browserify home mean uiStartup
Benchmark value 35 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 30 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 7 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 11 exceeds gate value 9 for firefox browserify home mean setupStore
Benchmark value 246 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 27 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 32 exceeds gate value 27 for firefox browserify home p95 setupStore
Benchmark value 108 exceeds gate value 100 for firefox webpack home mean domInteractive
Benchmark value 33 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 47 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 7 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 302 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 57 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 9 exceeds gate value 2 for firefox webpack home p95 initialActions
Sum of mean exceeds: 273ms | Sum of p95 exceeds: 466.8ms
Sum of all benchmark exceeds: 739.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 1.88 KiB (0.03%)
  • common: 10 Bytes (0%)

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: ed7d81e | Date: 9/24/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±72ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 734ms (±68ms) 🟢 | historical mean value: 736ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 76ms (±13ms) 🟢 | historical mean value: 77ms ⬇️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 72ms 1.01s 1.32s 1.26s 1.32s
domContentLoaded 734ms 68ms 700ms 1.00s 933ms 1.00s
firstPaint 76ms 13ms 56ms 192ms 84ms 192ms
firstContentfulPaint 76ms 13ms 56ms 192ms 84ms 192ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [ed7d81e]
UI Startup Metrics (1252 ± 58 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1252113014335812861342
load108198512315211101171
domContentLoaded107497512245211011164
domInteractive18144661738
firstPaint67773121444010951149
backgroundConnect2572462917260267
firstReactRender24194762639
getState1456491627
initialActions41193510
loadScripts82471196550854912
setupStore1062941019
WebpackHomeuiStartup1146912139010812191296
load963747113910410381121
domContentLoaded959745113410410331116
domInteractive16125381440
firstPaint1506236257176284
backgroundConnect16114461628
firstReactRender35325333542
getState74233713
initialActions62194814
loadScripts956742113210310301114
setupStore86232912
FirefoxBrowserifyHomeuiStartup14341231191410814881617
load1242107015628312931374
domContentLoaded1242106915628312931374
domInteractive1073329252116239
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3219178183654
firstReactRender29235353138
getState62435610
initialActions41768412
loadScripts1217105115057812721349
setupStore105559931
WebpackHomeuiStartup16221420212115917141929
load13681188165212814641594
domContentLoaded13671188165112814641593
domInteractive1023332952107285
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3521236223948
firstReactRender38325244045
getState11317927720
initialActions8113820463
loadScripts13431163162712914401572
setupStore1165771124
Benchmark value 1253 exceeds gate value 1234 for chrome browserify home mean uiStartup
Benchmark value 1082 exceeds gate value 1070 for chrome browserify home mean load
Benchmark value 1075 exceeds gate value 1061 for chrome browserify home mean domContentLoaded
Benchmark value 257 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 25 exceeds gate value 23 for chrome browserify home mean firstReactRender
Benchmark value 4 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 267 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 10 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 19 exceeds gate value 17 for chrome browserify home p95 setupStore
Benchmark value 14 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 1435 exceeds gate value 1405 for firefox browserify home mean uiStartup
Benchmark value 1243 exceeds gate value 1239 for firefox browserify home mean domContentLoaded
Benchmark value 33 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 29 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 5 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 11 exceeds gate value 9 for firefox browserify home mean setupStore
Benchmark value 239 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 12 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 31 exceeds gate value 27 for firefox browserify home p95 setupStore
Benchmark value 1622 exceeds gate value 1615 for firefox webpack home mean uiStartup
Benchmark value 102 exceeds gate value 100 for firefox webpack home mean domInteractive
Benchmark value 35 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 39 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 8 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 285 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 63 exceeds gate value 2 for firefox webpack home p95 initialActions
Sum of mean exceeds: 375ms | Sum of p95 exceeds: 514.8ms
Sum of all benchmark exceeds: 889.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 1.88 KiB (0.03%)
  • common: 10 Bytes (0%)

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: 7f938b1 | Date: 9/25/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.06s (±73ms) 🟡 | historical mean value: 1.05s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 744ms (±71ms) 🟢 | historical mean value: 739ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 77ms (±11ms) 🟢 | historical mean value: 80ms ⬇️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.06s 73ms 1.01s 1.34s 1.28s 1.34s
domContentLoaded 744ms 71ms 700ms 1.02s 959ms 1.02s
firstPaint 77ms 11ms 64ms 176ms 84ms 176ms
firstContentfulPaint 77ms 11ms 64ms 176ms 84ms 176ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [7f938b1]
UI Startup Metrics (1231 ± 55 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1231112614545512601318
load106297411904710921143
domContentLoaded105494911834810851137
domInteractive18134261735
firstPaint620103119143310781138
backgroundConnect25724239917259278
firstReactRender24169182432
getState13678111526
initialActions40465512
loadScripts80569690947834887
setupStore962431016
WebpackHomeuiStartup104986513209611201187
load854698103294930987
domContentLoaded850693102994923982
domInteractive16126091445
firstPaint1325641562150262
backgroundConnect16113151927
firstReactRender3732117113557
getState64172611
initialActions72234815
loadScripts847691102193921977
setupStore96213913
FirefoxBrowserifyHomeuiStartup14351236194611514821609
load1237107414127212921354
domContentLoaded1237107414117212911354
domInteractive1053425246111227
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3420113143464
firstReactRender28245752935
getState10318721631
initialActions6119019410
loadScripts1210105613816912681314
setupStore1165510936
WebpackHomeuiStartup15321382204615416381823
load12981165168712614101538
domContentLoaded12971165168612614101537
domInteractive993342550101187
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3321101113750
firstReactRender37305643946
getState8216817615
initialActions4076947
loadScripts12731141166212613901515
setupStore1165781022
Benchmark value 257 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 24 exceeds gate value 23 for chrome browserify home mean firstReactRender
Benchmark value 5 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 278 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 12 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 15 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 1435 exceeds gate value 1405 for firefox browserify home mean uiStartup
Benchmark value 34 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 29 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 6 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 12 exceeds gate value 9 for firefox browserify home mean setupStore
Benchmark value 227 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 31 exceeds gate value 24 for firefox browserify home p95 getState
Benchmark value 10 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 36 exceeds gate value 27 for firefox browserify home p95 setupStore
Benchmark value 34 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 5 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 187 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 50 exceeds gate value 49 for firefox webpack home p95 backgroundConnect
Benchmark value 7 exceeds gate value 2 for firefox webpack home p95 initialActions
Sum of mean exceeds: 315ms | Sum of p95 exceeds: 371.8ms
Sum of all benchmark exceeds: 686.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 58 Bytes (0%)
  • ui: 2.07 KiB (0.03%)
  • common: 10 Bytes (0%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size-M team-product-safety Push issues to Product Safety team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants