Skip to content

Conversation

@mcmire
Copy link
Contributor

@mcmire mcmire commented Jul 24, 2025

Description

Currently, we only track when an Infura RPC endpoint becomes degraded or unavailable. Now, we would like to have similar insights about custom RPC endpoints so that we can take more informed decisions to improve reliability for other chains. We'd also like to improve the tracking for Infura endpoints so that we can understand failures better.

This commit updates the handlers for the NetworkController:rpcEndpointDegraded and NetworkController:rpcEndpointUnavailable messenger events so that they create a Segment event regardless of the type of endpoint. The event now includes the HTTP status code.

While making these changes, it was noticed that the sampling rate for these Segment event was incorrect. It should have been 1%, not 10%. This has also been corrected. This ensures that we don't store more data in Segment and our downstream services than necessary.

Open in GitHub Codespaces

Changelog

CHANGELOG entry: null

Related issues

Closes #34213.

Manual testing steps

  1. Check out this branch, run yarn, run yarn webpack --watch (or yarn start).
  2. Install FoxyProxy. Pin the extension.
  3. Open the options for the extension (e.g. right-click on the extension icon and go to Options) and add a new proxy that points to 127.0.0.1:8080. Don't enable it yet, though.
  4. Install mitmproxy.
  5. Create a Python script somewhere on your computer with the following contents: https://gist.github.com/mcmire/1d43ce690d3a974217126cd584f79b7d. This script will cause all requests to Linea, ZKSync, and Flare to respond with 500.
  6. Run mitmproxy -s <path to your script> in an open terminal session. This will run the proxy server.
  7. Go back to FoxyProxy and enable the proxy you created earlier (click on the icon and then just click on the new proxy).
  8. Open the background / service worker.
  9. Open MetaMask in full-screen mode and enable Linea.
  10. Check the background / service worker window. After a few minutes or so, you should see a line that says Creating Segment event "RPC Service Degraded" with {"chain_id_caip":"eip155:59144","rpc_endpoint_url":"linea-mainnet.infura.io","http_status":500}. After a few more minutes, you should see Creating Segment event "RPC Service Unavailable" with {"chain_id_caip":"eip155:59144","rpc_endpoint_url":"linea-mainnet.infura.io","http_status":500}.
  11. Go back to MetaMask and add ZKSync as a network. Disable Linea and enable this one instead.
  12. Check the background / service worker window. After a few minutes or so, you should see similar "degraded" and "unavailable" lines as above, but with the data {"chain_id_caip":"eip155:324","rpc_endpoint_url":"mainnet.era.zksync.io","http_status":500}.
  13. Click on FoxyProxy and disable the proxy temporarily (click on "Disable").
  14. Go back to MetaMask and add Flare as a network (https://chainid.network/chain/14/). Use https://flare-api.flare.network/ext/C/rpc as the RPC endpoint.
  15. Click on FoxyProxy and re-enable the proxy.
  16. Check the background / service worker window. After a few minutes or so, you should see similar "degraded" and "unavailable" lines as above, but with the data {"chain_id_caip":"eip155:14","rpc_endpoint_url":"flare-api.flare.network","http_status":500}.

Screenshots/Recordings

(N/A)

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.

@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.

Currently, we only track when an Infura RPC endpoint becomes degraded or
unavailable. Now, we would like to have similar insights about custom
RPC endpoints so that we can take more informed decisions to improve
reliability for other chains. We'd also like to improve the tracking for
Infura endpoints so that we can understand failures better.

This commit updates the handlers for the
`NetworkController:rpcEndpointDegraded` and
`NetworkController:rpcEndpointUnavailable` messenger events so that they
create a Segment event regardless of the type of endpoint. The event now
includes the HTTP status code.

While making these changes, it was noticed that the sampling rate for
these Segment event was incorrect. It should have been 1%, not 10%. This
has also been corrected. This ensures that we don't store more data in
Segment and our downstream services than necessary.
@mcmire mcmire force-pushed the extend-metrics-for-rpc-endpoints branch from 3cc12de to 3682f81 Compare August 4, 2025 14:58
@mcmire mcmire changed the title WIP - Extend metrics for RPC endpoints chore: Improve tracking of RPC endpoint failures Aug 4, 2025
@metamaskbot
Copy link
Collaborator

Builds ready [3682f81]
UI Startup Metrics (1149 ± 72 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1149102114667211811300
load97687112576710141100
domContentLoaded96886512406810071091
domInteractive17134041724
firstPaint64213412483949911072
backgroundConnect21620226311220237
firstReactRender20154052132
getState1147491427
initialActions30274213
loadScripts759635102869803893
setupStore74233713
WebpackHomeuiStartup21681607260921822932524
load16271172196217417171893
domContentLoaded16201168194517217091882
domInteractive171185131445
firstPaint1685849477204292
backgroundConnect2714310302746
firstReactRender20588401109340391
getState184281451039
initialActions5229369
loadScripts16161166193317017051871
setupStore2863006314277
FirefoxBrowserifyHomeuiStartup12911121168410613391478
load111498214518111741245
domContentLoaded111498114518111731245
domInteractive953333747108210
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect261389132766
firstReactRender24205072345
getState8218721533
initialActions40588221
loadScripts109496514357911491229
setupStore836711632
WebpackHomeuiStartup15821406212615416341951
load13131142175411413811538
domContentLoaded13131141175411413801537
domInteractive101312785698268
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect2918100143167
firstReactRender53447475965
getState9310815742
initialActions5119920314
loadScripts12901124171711413571517
setupStore9410611826
Benchmark value 217 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 3 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 238 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 13 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 2525 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 391 exceeds gate value 370 for chrome webpack home p95 firstReactRender
Benchmark value 9 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 277 exceeds gate value 65 for chrome webpack home p95 setupStore
Benchmark value 26 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 4 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 210 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 33 exceeds gate value 24 for firefox browserify home p95 getState
Benchmark value 21 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 101 exceeds gate value 100 for firefox webpack home mean domInteractive
Benchmark value 30 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 54 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 1951 exceeds gate value 1935 for firefox webpack home p95 uiStartup
Benchmark value 268 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 67 exceeds gate value 49 for firefox webpack home p95 backgroundConnect
Benchmark value 65 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 42 exceeds gate value 32 for firefox webpack home p95 getState
Benchmark value 14 exceeds gate value 2 for firefox webpack home p95 initialActions
Sum of mean exceeds: 238ms | Sum of p95 exceeds: 768.8ms
Sum of all benchmark exceeds: 1006.8ms

Bundle size diffs [🚀 Bundle size reduced!]
  • background: -262 Bytes (0%)
  • ui: 0 Bytes (0%)
  • common: -3.79 KiB (-0.05%)

@mcmire
Copy link
Contributor Author

mcmire commented Aug 4, 2025

@metamaskbot update-policies

@metamaskbot
Copy link
Collaborator

Policies updated.
👀 Please review the diff for suspicious new powers.

🧠 Learn how: https://lavamoat.github.io/guides/policy-diff/#what-to-look-for-when-reviewing-a-policy-diff

@metamaskbot
Copy link
Collaborator

Builds ready [dad12a4]
UI Startup Metrics (1163 ± 66 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1163104813376612181282
load98887811336510401102
domContentLoaded98087311256510331096
domInteractive17134751725
firstPaint60312811414019861091
backgroundConnect2172042458219236
firstReactRender20144652128
getState12376111527
initialActions30546211
loadScripts77166391864829885
setupStore74263714
WebpackHomeuiStartup21791692255120523162514
load16221193191016417111852
domContentLoaded16151189189816317061844
domInteractive171180141458
firstPaint1726045875208313
backgroundConnect3011430423154
firstReactRender22490413123373398
getState214294511329
initialActions10227936615
loadScripts16101187188716117011840
setupStore3563157517292
FirefoxBrowserifyHomeuiStartup1322115816869913851472
load1144101314558512011307
domContentLoaded1144101314558512011307
domInteractive1013337052104227
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect2514107132657
firstReactRender23205132327
getState72398525
initialActions30406212
loadScripts112499314318611831292
setupStore83509630
WebpackHomeuiStartup15791330202413516631857
load13221116169111313971518
domContentLoaded13221116169011313971518
domInteractive953029550101240
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3116129183273
firstReactRender51428875562
getState72428627
initialActions3056629
loadScripts12961099156410813731487
setupStore10410212823
Benchmark value 217 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 3 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 236 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 10 exceeds gate value 7 for chrome webpack home mean initialActions
Benchmark value 35 exceeds gate value 32 for chrome webpack home mean setupStore
Benchmark value 2515 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 58 exceeds gate value 57 for chrome webpack home p95 domInteractive
Benchmark value 398 exceeds gate value 370 for chrome webpack home p95 firstReactRender
Benchmark value 15 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 292 exceeds gate value 65 for chrome webpack home p95 setupStore
Benchmark value 26 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 4 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 227 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 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 31 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 52 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 240 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 73 exceeds gate value 49 for firefox webpack home p95 backgroundConnect
Benchmark value 62 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: 240ms | Sum of p95 exceeds: 725.8ms
Sum of all benchmark exceeds: 965.8ms

Bundle size diffs [🚀 Bundle size reduced!]
  • background: -262 Bytes (0%)
  • ui: 0 Bytes (0%)
  • common: -3.79 KiB (-0.05%)

@metamaskbot
Copy link
Collaborator

Builds ready [605e602]
UI Startup Metrics (1181 ± 80 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1181104513968012491324
load100087411967910661136
domContentLoaded99186911917910601125
domInteractive17145751623
firstPaint6227811413959911120
backgroundConnect2192042519225241
firstReactRender21144652332
getState12476111428
initialActions30537113
loadScripts77965796777842913
setupStore74405713
WebpackHomeuiStartup22071686275024023532653
load16531253205119717741969
domContentLoaded16471249203319517701958
domInteractive181192141543
firstPaint1716235061208289
backgroundConnect261385122952
firstReactRender1898940496184391
getState194272441144
initialActions7217117715
loadScripts16421246202119517651952
setupStore2663035914224
FirefoxBrowserifyHomeuiStartup12921137163510013431489
load111698713668411741290
domContentLoaded111598713668411731289
domInteractive973432144103201
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect2914121182977
firstReactRender25205792451
getState7218319515
initialActions2015229
loadScripts109296713478411391273
setupStore836210629
WebpackHomeuiStartup15681357220013216441780
load1308114115289213711479
domContentLoaded1308114115279213711479
domInteractive91332714494230
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect2917138163159
firstReactRender51418585563
getState11494131041
initialActions31274312
loadScripts1285112115099313431454
setupStore12412919854
Benchmark value 220 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 3 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 241 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 13 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 2207 exceeds gate value 2192 for chrome webpack home mean uiStartup
Benchmark value 2654 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 391 exceeds gate value 370 for chrome webpack home p95 firstReactRender
Benchmark value 15 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 224 exceeds gate value 65 for chrome webpack home p95 setupStore
Benchmark value 29 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 26 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 3 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 201 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 77 exceeds gate value 70 for firefox browserify home p95 backgroundConnect
Benchmark value 9 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 29 exceeds gate value 27 for firefox browserify home p95 setupStore
Benchmark value 29 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 51 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 4 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 230 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 59 exceeds gate value 49 for firefox webpack home p95 backgroundConnect
Benchmark value 63 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 41 exceeds gate value 32 for firefox webpack home p95 getState
Benchmark value 12 exceeds gate value 2 for firefox webpack home p95 initialActions
Benchmark value 54 exceeds gate value 28 for firefox webpack home p95 setupStore
Sum of mean exceeds: 253ms | Sum of p95 exceeds: 786.8ms
Sum of all benchmark exceeds: 1039.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 488 Bytes (0.01%)
  • ui: 225 Bytes (0%)
  • common: 319 Bytes (0%)

@mcmire
Copy link
Contributor Author

mcmire commented Aug 6, 2025

@metamaskbot update-policies

@metamaskbot
Copy link
Collaborator

Builds ready [2b5387a]
UI Startup Metrics (1165 ± 71 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1165105914477112131294
load99388412636810351119
domContentLoaded98486912506910241112
domInteractive18135171738
firstPaint69391125738610041095
backgroundConnect2182052428222237
firstReactRender20143442031
getState1045381226
initialActions2014329
loadScripts774668103669817902
setupStore74274718
WebpackHomeuiStartup22011651271020223172583
load16641197203617017421920
domContentLoaded16581192202616917381910
domInteractive1811100171471
firstPaint1656033960190310
backgroundConnect23146192744
firstReactRender1869040198175393
getState2542916410269
initialActions723003059
loadScripts16541190201416817351898
setupStore2663136415291
FirefoxBrowserifyHomeuiStartup13391145173412214011677
load1158101014749212201301
domContentLoaded1157101014749212191301
domInteractive1113340171112303
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect261586122849
firstReactRender25195882353
getState62497516
initialActions4016817212
loadScripts113699414488911961276
setupStore836510633
WebpackHomeuiStartup15541332209214116331800
load1295112615549813711469
domContentLoaded1294112515549813711468
domInteractive96302665393246
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect25177692937
firstReactRender50416765363
getState84607824
initialActions408910315
loadScripts1273110915279813541447
setupStore15425335738
Benchmark value 219 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 3 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 237 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 9 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 18 exceeds gate value 17 for chrome browserify home p95 setupStore
Benchmark value 2202 exceeds gate value 2192 for chrome webpack home mean uiStartup
Benchmark value 8 exceeds gate value 7 for chrome webpack home mean initialActions
Benchmark value 2583 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 71 exceeds gate value 57 for chrome webpack home p95 domInteractive
Benchmark value 393 exceeds gate value 370 for chrome webpack home p95 firstReactRender
Benchmark value 269 exceeds gate value 195 for chrome webpack home p95 getState
Benchmark value 9 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 291 exceeds gate value 65 for chrome webpack home p95 setupStore
Benchmark value 111 exceeds gate value 110 for firefox browserify home mean domInteractive
Benchmark value 26 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 4 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 1677 exceeds gate value 1660 for firefox browserify home p95 uiStartup
Benchmark value 303 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 33 exceeds gate value 27 for firefox browserify home p95 setupStore
Benchmark value 51 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 15 exceeds gate value 13 for firefox webpack home mean setupStore
Benchmark value 246 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 63 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 15 exceeds gate value 2 for firefox webpack home p95 initialActions
Benchmark value 38 exceeds gate value 28 for firefox webpack home p95 setupStore
Sum of mean exceeds: 246ms | Sum of p95 exceeds: 962.8ms
Sum of all benchmark exceeds: 1208.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 1.07 KiB (0.02%)
  • ui: 7.57 KiB (0.11%)
  • common: 202 Bytes (0%)

@metamaskbot
Copy link
Collaborator

Policies updated.
👀 Please review the diff for suspicious new powers.

🧠 Learn how: https://lavamoat.github.io/guides/policy-diff/#what-to-look-for-when-reviewing-a-policy-diff

@metamaskbot
Copy link
Collaborator

Builds ready [7dd109a]
UI Startup Metrics (1174 ± 62 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1174107113396212141299
load99487711605910351096
domContentLoaded98687311546010261090
domInteractive18146171733
firstPaint60578112539310041048
backgroundConnect2182062648221231
firstReactRender21145972137
getState11499111224
initialActions30234213
loadScripts77566794159815870
setupStore74213714
WebpackHomeuiStartup22901733271220024242649
load16911243207717917821969
domContentLoaded16841238207317717741958
domInteractive181299161469
firstPaint1815944268219312
backgroundConnect291398133456
firstReactRender22497482116374397
getState3243047114267
initialActions62485714
loadScripts16791236207017617691946
setupStore266310571941
FirefoxBrowserifyHomeuiStartup13871189182210914571574
load1193104014598212501331
domContentLoaded1192104014598212501330
domInteractive1043231750111217
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect281691143068
firstReactRender26215982552
getState9217921556
initialActions20153212
loadScripts1169102213728212311313
setupStore834910635
WebpackHomeuiStartup15751350199114016631849
load13171121164211013901518
domContentLoaded13161120164211013901518
domInteractive952927447100241
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3117109153271
firstReactRender52417975766
getState1045710927
initialActions40416214
loadScripts12911103162110713681491
setupStore12415421834
Benchmark value 219 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 3 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 232 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 13 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 2290 exceeds gate value 2192 for chrome webpack home mean uiStartup
Benchmark value 33 exceeds gate value 29 for chrome webpack home mean getState
Benchmark value 2649 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 69 exceeds gate value 57 for chrome webpack home p95 domInteractive
Benchmark value 397 exceeds gate value 370 for chrome webpack home p95 firstReactRender
Benchmark value 267 exceeds gate value 195 for chrome webpack home p95 getState
Benchmark value 14 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 29 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 26 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 3 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 217 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 56 exceeds gate value 24 for firefox browserify home p95 getState
Benchmark value 12 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 35 exceeds gate value 27 for firefox browserify home p95 setupStore
Benchmark value 31 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 52 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 4 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 241 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 71 exceeds gate value 49 for firefox webpack home p95 backgroundConnect
Benchmark value 66 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 14 exceeds gate value 2 for firefox webpack home p95 initialActions
Benchmark value 34 exceeds gate value 28 for firefox webpack home p95 setupStore
Sum of mean exceeds: 342ms | Sum of p95 exceeds: 751.8ms
Sum of all benchmark exceeds: 1093.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 1.07 KiB (0.02%)
  • ui: 7.57 KiB (0.11%)
  • common: 202 Bytes (0%)

@mcmire mcmire marked this pull request as ready for review August 8, 2025 17:12
cursor[bot]

This comment was marked as outdated.

Gudahtt and others added 5 commits August 11, 2025 15:39
## **Description**

Remove policy override entries for dependencies we no longer use, or for
variants that have since been consolidated.

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/34818?quickstart=1)

## **Changelog**

CHANGELOG entry: null

## **Related issues**

N/A

## **Manual testing steps**

N/A

## **Screenshots/Recordings**

N/A

## **Pre-merge author checklist**

- [x] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
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.

---------

Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
#34837)

## **Description**

The purpose of this change is to fix the "Create Release Pull Request"
Github action by aligning on [metamask-mobile
implementation](https://github.com/MetaMask/metamask-mobile/blob/main/.github/workflows/create-release-pr.yml#L12-L14),
which seems to work by passing a tag instead of a branch name to
github-tools:
- [Successful job on Mobile
repo](https://github.com/MetaMask/metamask-mobile/actions/runs/16660661504/job/47156804696)
✅

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/34837?quickstart=1)

## **Changelog**

<!--
If this PR is not End-User-Facing and should not show up in the
CHANGELOG, you can choose to either:
1. Write `CHANGELOG entry: null`
2. Label with `no-changelog`

If this PR is End-User-Facing, please write a short User-Facing
description in the past tense like:
`CHANGELOG entry: Added a new tab for users to see their NFTs`
`CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker`

(This helps the Release Engineer do their job more quickly and
accurately)
-->

CHANGELOG entry:

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [x] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
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.
## Version Bump After Release

This PR bumps the main branch version from 13.1.0 to 13.2.0 after
cutting the release branch.

### Why this is needed:
- **Nightly builds**: Each nightly build needs to be one minor version
ahead of the current release candidate
- **Version conflicts**: Prevents conflicts between nightlies and
release candidates
- **Platform alignment**: Maintains version alignment between MetaMask
mobile and extension
- **Update systems**: Ensures nightlies are accepted by app stores and
browser update systems

### What changed:
- Version bumped from `13.1.0` to `13.2.0`
- Platform: `extension`
- Files updated by `set-semvar-version.sh` script

### Next steps:
This PR should be **manually reviewed and merged by the release
manager** to maintain proper version flow.

### Related:
- Release version: 13.1.0
- Release branch: Version-v13.1.0
- Platform: extension
- Test mode: false

---
*This PR was automatically created by the
`create-platform-release-pr.sh` script.*

Co-authored-by: metamaskbot@users.noreply.github.com <metamaskbot@users.noreply.github.com>
…ferent network` (#34834)

<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

The spec fails with this error:

```
Error: SyntaxError: Unexpected end of JSON input
  at fet…ipeoacjioc/js-u.a2b8643f36c2c6f1fc00.js:15544:20), Unexpected end of JSON input
    at withFixtures (test/e2e/helpers.js:320:13)
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
    at async Context.<anonymous> (test/e2e/tests/settings/address-book.spec.ts:62:5)
```

The problem is that we are missing a mock for tokens, which then results
in that request going to the catch all mock which returns a 200 with
empty data. Then when trying to parse the empty data the wallet throws
the error.

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/34834?quickstart=1)

## **Changelog**

<!--
If this PR is not End-User-Facing and should not show up in the
CHANGELOG, you can choose to either:
1. Write `CHANGELOG entry: null`
2. Label with `no-changelog`

If this PR is End-User-Facing, please write a short User-Facing
description in the past tense like:
`CHANGELOG entry: Added a new tab for users to see their NFTs`
`CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker`

(This helps the Release Engineer do their job more quickly and
accurately)
-->

CHANGELOG entry:

## **Related issues**

Fixes: #34802

## **Manual testing steps**

1. `yarn test:e2e:single --browser chrome
test/e2e/tests/settings/address-book.spec.ts --leave-running=true`

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [x] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
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.
…age to edit eth value, baseFee, priorityFee and gas limit - 1559 V2` (#34854)

<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**
The send edit specs start a send flow right after login in. The problem
is that if we initiate a transaction before the balance has loaded, the
`Continue` button is never enabled, no matter how much we wait on the
Confirmation screen.
This is a known bug on the wallet side (see
[here](#24639)).

To mitigate this on the spec side, we should wait for the balance to
load before starting any transaction.

<img width="1673" height="241" alt="Screenshot from 2025-08-05 08-30-20"
src="https://github.com/user-attachments/assets/054d54c0-9ea9-42c2-bb27-30ef990fc9e1"
/>


<img width="1050" height="812" alt="test-failure-screenshot-1"
src="https://github.com/user-attachments/assets/2f7bdff3-fac3-45ba-9ead-a3c4cc75f7f5"
/>

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/34854?quickstart=1)

## **Changelog**

<!--
If this PR is not End-User-Facing and should not show up in the
CHANGELOG, you can choose to either:
1. Write `CHANGELOG entry: null`
2. Label with `no-changelog`

If this PR is End-User-Facing, please write a short User-Facing
description in the past tense like:
`CHANGELOG entry: Added a new tab for users to see their NFTs`
`CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker`

(This helps the Release Engineer do their job more quickly and
accurately)
-->

CHANGELOG entry:

## **Related issues**

Fixes: #34853

## **Manual testing steps**

1. `yarn test:e2e:single --browser chrome
test/e2e/tests/transaction/send-edit.spec.js --leave-running=true`

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [x] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
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.
@mcmire
Copy link
Contributor Author

mcmire commented Aug 14, 2025

All custom RPC endpoints are being captured in Segment with these changes, which is a privacy violation as it means if the user is using a private server we would know about it. I will look for another strategy for allowlisting the event (perhaps making use of chainid.network or the list of popular networks if we cannot make a request there).

Moving this PR back to draft until that is complete.

@mcmire mcmire marked this pull request as draft August 14, 2025 19:32
@mcmire mcmire dismissed stale reviews from MajorLift and cryptodev-2s via a366292 August 20, 2025 21:22
@github-actions github-actions bot added size-XL and removed size-L labels Aug 20, 2025
@metamaskbot
Copy link
Collaborator

Builds ready [d5d26ad]
UI Startup Metrics (1236 ± 55 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1236110813725512711331
load105394711905410931133
domContentLoaded104694011825410851126
domInteractive18145671733
firstPaint64674120143210671124
backgroundConnect2392262577243251
firstReactRender24154962440
getState1154171228
initialActions40597314
loadScripts81470394953852892
setupStore862631014
WebpackHomeuiStartup21781590265219723072493
load16301162196616517131876
domContentLoaded16231159195616417051861
domInteractive1811100161470
firstPaint1605740360172278
backgroundConnect26126093045
firstReactRender20289404106323381
getState3942978313290
initialActions5222369
loadScripts16191156194316217001849
setupStore3263027314295
FirefoxBrowserifyHomeuiStartup1320115816359613741510
load114199713717311921275
domContentLoaded114099713707311921275
domInteractive1023231849115204
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect26168192937
firstReactRender25204842730
getState7219520518
initialActions30648213
loadScripts112198013537211721251
setupStore8310013630
WebpackHomeuiStartup16391422211215817222019
load13551166172212314401563
domContentLoaded13541165172212314401562
domInteractive1013428251101263
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3220185183542
firstReactRender61488176576
getState10213014926
initialActions7012817321
loadScripts13301148170312114201541
setupStore12510414844
Benchmark value 1236 exceeds gate value 1234 for chrome browserify home mean uiStartup
Benchmark value 239 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 4 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 252 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 14 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 40 exceeds gate value 29 for chrome webpack home mean getState
Benchmark value 2493 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 70 exceeds gate value 57 for chrome webpack home p95 domInteractive
Benchmark value 381 exceeds gate value 370 for chrome webpack home p95 firstReactRender
Benchmark value 290 exceeds gate value 195 for chrome webpack home p95 getState
Benchmark value 9 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 295 exceeds gate value 65 for chrome webpack home p95 setupStore
Benchmark value 27 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 4 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 204 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 13 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 1639 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 33 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 62 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 2019 exceeds gate value 1935 for firefox webpack home p95 uiStartup
Benchmark value 263 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 76 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 21 exceeds gate value 2 for firefox webpack home p95 initialActions
Benchmark value 44 exceeds gate value 28 for firefox webpack home p95 setupStore
Sum of mean exceeds: 314ms | Sum of p95 exceeds: 911.8ms
Sum of all benchmark exceeds: 1225.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: -5.85 KiB (-0.13%)
  • ui: 589.25 KiB (8.46%)
  • common: 7.45 KiB (0.1%)

@metamaskbot
Copy link
Collaborator

Builds ready [75e1c81]
UI Startup Metrics (1203 ± 69 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1203108814216912451325
load102687711606210601144
domContentLoaded101887111546410541136
domInteractive16136061624
firstPaint70979116540710421144
backgroundConnect23522433813236251
firstReactRender22154652235
getState12491131328
initialActions407610414
loadScripts79064692964825909
setupStore9410310818
WebpackHomeuiStartup22491641258615623272517
load16801196193313417571873
domContentLoaded16731190191113217501865
domInteractive161181111534
firstPaint1716249574199344
backgroundConnect3713430533268
firstReactRender21688405114359387
getState2642906012257
initialActions8223023611
loadScripts16691187189813117461853
setupStore4673089315300
FirefoxBrowserifyHomeuiStartup13701195183011714321560
load1185104514158312391352
domContentLoaded1184104514158312391351
domInteractive1063333652115237
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect2917146163144
firstReactRender25223932632
getState62538524
initialActions5020421213
loadScripts1162103013898312181327
setupStore83449533
WebpackHomeuiStartup16241413216214217281885
load13501176161811314461572
domContentLoaded13501176161811314451571
domInteractive99303425499253
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3019108113443
firstReactRender61479176573
getState72306624
initialActions5012313314
loadScripts13271159159111314231550
setupStore11514415928
Benchmark value 236 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 5 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 252 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 14 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 18 exceeds gate value 17 for chrome browserify home p95 setupStore
Benchmark value 2250 exceeds gate value 2192 for chrome webpack home mean uiStartup
Benchmark value 8 exceeds gate value 7 for chrome webpack home mean initialActions
Benchmark value 47 exceeds gate value 32 for chrome webpack home mean setupStore
Benchmark value 2517 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 344 exceeds gate value 334 for chrome webpack home p95 firstPaint
Benchmark value 387 exceeds gate value 370 for chrome webpack home p95 firstReactRender
Benchmark value 257 exceeds gate value 195 for chrome webpack home p95 getState
Benchmark value 11 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 300 exceeds gate value 65 for chrome webpack home p95 setupStore
Benchmark value 29 exceeds gate value 25 for firefox browserify home mean backgroundConnect
Benchmark value 26 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 237 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 13 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 33 exceeds gate value 27 for firefox browserify home p95 setupStore
Benchmark value 1625 exceeds gate value 1615 for firefox webpack home mean uiStartup
Benchmark value 31 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 62 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 253 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 73 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 14 exceeds gate value 2 for firefox webpack home p95 initialActions
Sum of mean exceeds: 356ms | Sum of p95 exceeds: 829.8ms
Sum of all benchmark exceeds: 1185.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: -5.85 KiB (-0.13%)
  • ui: 589.25 KiB (8.46%)
  • common: 7.45 KiB (0.1%)

@mcmire mcmire marked this pull request as ready for review August 21, 2025 13:49
cursor[bot]

This comment was marked as outdated.

@metamaskbot
Copy link
Collaborator

Builds ready [f937b8b]
UI Startup Metrics (1377 ± 121 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup13771136178812114681612
load1165950151710412301348
domContentLoaded1156944150410512221345
domInteractive211580102146
firstPaint71398142745711461289
backgroundConnect26322842128271312
firstReactRender2817102123056
getState145106131729
initialActions407210416
loadScripts9017211103929681075
setupStore95466919
WebpackHomeuiStartup22051649267521023082579
load16571213196217517511906
domContentLoaded16511209194417417461894
domInteractive171288121450
firstPaint1556134657175272
backgroundConnect3113367363059
firstReactRender1959240597180390
getState3442827512277
initialActions5219369
loadScripts16461207193217317441881
setupStore207305481323
FirefoxBrowserifyHomeuiStartup14141187187711614701586
load1223104016309412761417
domContentLoaded1223104016309412761417
domInteractive1103231857121249
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3017103123250
firstReactRender26225642732
getState62467520
initialActions6019826215
loadScripts1200102215358912601386
setupStore837011634
WebpackHomeuiStartup16251422227815517021927
load13511175168612314501583
domContentLoaded13511174168612314501583
domInteractive1063331751113258
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect29215673443
firstReactRender61498476577
getState92438926
initialActions5010411415
loadScripts13291150165712314291562
setupStore12521322930
Benchmark value 1378 exceeds gate value 1234 for chrome browserify home mean uiStartup
Benchmark value 1165 exceeds gate value 1070 for chrome browserify home mean load
Benchmark value 1156 exceeds gate value 1061 for chrome browserify home mean domContentLoaded
Benchmark value 22 exceeds gate value 20 for chrome browserify home mean domInteractive
Benchmark value 264 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 28 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 902 exceeds gate value 830 for chrome browserify home mean loadScripts
Benchmark value 1613 exceeds gate value 1365 for chrome browserify home p95 uiStartup
Benchmark value 1349 exceeds gate value 1190 for chrome browserify home p95 load
Benchmark value 1345 exceeds gate value 1180 for chrome browserify home p95 domContentLoaded
Benchmark value 46 exceeds gate value 41 for chrome browserify home p95 domInteractive
Benchmark value 1290 exceeds gate value 1180 for chrome browserify home p95 firstPaint
Benchmark value 313 exceeds gate value 18 for chrome browserify home p95 backgroundConnect
Benchmark value 56 exceeds gate value 45 for chrome browserify home p95 firstReactRender
Benchmark value 16 exceeds gate value 1.2 for chrome browserify home p95 initialActions
Benchmark value 1076 exceeds gate value 940 for chrome browserify home p95 loadScripts
Benchmark value 19 exceeds gate value 17 for chrome browserify home p95 setupStore
Benchmark value 2205 exceeds gate value 2192 for chrome webpack home mean uiStartup
Benchmark value 34 exceeds gate value 29 for chrome webpack home mean getState
Benchmark value 2580 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 390 exceeds gate value 370 for chrome webpack home p95 firstReactRender
Benchmark value 277 exceeds gate value 195 for chrome webpack home p95 getState
Benchmark value 9 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 1414 exceeds gate value 1405 for firefox browserify home mean uiStartup
Benchmark value 111 exceeds gate value 110 for firefox browserify home mean domInteractive
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 7 exceeds gate value 1 for firefox browserify home mean initialActions
Benchmark value 249 exceeds gate value 195 for firefox browserify home p95 domInteractive
Benchmark value 15 exceeds gate value 2 for firefox browserify home p95 initialActions
Benchmark value 34 exceeds gate value 27 for firefox browserify home p95 setupStore
Benchmark value 1626 exceeds gate value 1615 for firefox webpack home mean uiStartup
Benchmark value 106 exceeds gate value 100 for firefox webpack home mean domInteractive
Benchmark value 30 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 61 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 258 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 77 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 15 exceeds gate value 2 for firefox webpack home p95 initialActions
Benchmark value 30 exceeds gate value 28 for firefox webpack home p95 setupStore
Sum of mean exceeds: 760ms | Sum of p95 exceeds: 1593.8ms
Sum of all benchmark exceeds: 2353.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 438 Bytes (0.01%)
  • ui: 0 Bytes (0%)
  • common: 84 Bytes (0%)

@metamaskbot
Copy link
Collaborator

Builds ready [b829962]
UI Startup Metrics (1218 ± 58 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1218105814235812591304
load104191712195410691132
domContentLoaded103491012055410631128
domInteractive16142521722
firstPaint69496120941710631111
backgroundConnect2382242859241258
firstReactRender23174852435
getState1156791224
initialActions40506515
loadScripts80368895652832881
setupStore942541018
WebpackHomeuiStartup22601799266716123472545
load17001238195412817641899
domContentLoaded16941232193612717591888
domInteractive171285131454
firstPaint1606734950180263
backgroundConnect281291123056
firstReactRender21190412106348384
getState3653177914286
initialActions62425613
loadScripts16901229192312617571876
setupStore2673116116243
FirefoxBrowserifyHomeuiStartup13501157173810913881589
load1160101613737312141275
domContentLoaded1160101513727312141275
domInteractive96333204699204
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3015126163153
firstReactRender26225042734
getState827611631
initialActions30305213
loadScripts113798713507011881256
setupStore10320222631
WebpackHomeuiStartup16131391207814216881876
load13501165169411814271558
domContentLoaded13501165169411814271558
domInteractive1013528053101259
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect29209193341
firstReactRender60477666471
getState72466621
initialActions30284312
loadScripts13281146167111714091535
setupStore94336923
Benchmark value 238 exceeds gate value 10 for chrome browserify home mean backgroundConnect
Benchmark value 4 exceeds gate value 1 for chrome browserify home mean initialActions
Benchmark value 259 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 18 exceeds gate value 17 for chrome browserify home p95 setupStore
Benchmark value 2260 exceeds gate value 2192 for chrome webpack home mean uiStartup
Benchmark value 37 exceeds gate value 29 for chrome webpack home mean getState
Benchmark value 2546 exceeds gate value 2454 for chrome webpack home p95 uiStartup
Benchmark value 384 exceeds gate value 370 for chrome webpack home p95 firstReactRender
Benchmark value 286 exceeds gate value 195 for chrome webpack home p95 getState
Benchmark value 13 exceeds gate value 7 for chrome webpack home p95 initialActions
Benchmark value 243 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 26 exceeds gate value 25 for firefox browserify home mean firstReactRender
Benchmark value 3 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 204 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 13 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 101 exceeds gate value 100 for firefox webpack home mean domInteractive
Benchmark value 30 exceeds gate value 26 for firefox webpack home mean backgroundConnect
Benchmark value 60 exceeds gate value 38 for firefox webpack home mean firstReactRender
Benchmark value 4 exceeds gate value 1 for firefox webpack home mean initialActions
Benchmark value 259 exceeds gate value 156 for firefox webpack home p95 domInteractive
Benchmark value 71 exceeds gate value 50 for firefox webpack home p95 firstReactRender
Benchmark value 12 exceeds gate value 2 for firefox webpack home p95 initialActions
Sum of mean exceeds: 347ms | Sum of p95 exceeds: 801.8ms
Sum of all benchmark exceeds: 1148.8ms

Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 438 Bytes (0.01%)
  • ui: 0 Bytes (0%)
  • common: 84 Bytes (0%)

@HowardBraham HowardBraham added this pull request to the merge queue Aug 25, 2025
Merged via the queue into main with commit e47a6f9 Aug 25, 2025
142 of 143 checks passed
@HowardBraham HowardBraham deleted the extend-metrics-for-rpc-endpoints branch August 25, 2025 16:36
@github-actions github-actions bot locked and limited conversation to collaborators Aug 25, 2025
@metamaskbot metamaskbot added the release-13.3.0 Issue or pull request that will be included in release 13.3.0 label Aug 25, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-13.3.0 Issue or pull request that will be included in release 13.3.0 size-XL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Increase visibility around degraded and unavailable custom RPC endpoints