Skip to content

Conversation

@nflaig
Copy link
Member

@nflaig nflaig commented Jun 5, 2025

Motivation

We enabled IDONTWANT a while ago but haven't added panels for it yet.

Description

Add panels for IDONTWANT metrics to gossipsub dashboard

image

Related ChainSafe/js-libp2p-gossipsub#498

@nflaig nflaig requested a review from a team as a code owner June 5, 2025 21:30
@codecov
Copy link

codecov bot commented Jun 5, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 55.76%. Comparing base (a2ccd28) to head (8078914).
Report is 4 commits behind head on unstable.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #7924      +/-   ##
============================================
- Coverage     55.77%   55.76%   -0.01%     
============================================
  Files           830      830              
  Lines         59239    59239              
  Branches       4565     4562       -3     
============================================
- Hits          33039    33036       -3     
- Misses        26133    26136       +3     
  Partials         67       67              
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions
Copy link
Contributor

github-actions bot commented Jun 5, 2025

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 01c6304 Previous: a2ccd28 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 951.24 us/op 1.0016 ms/op 0.95
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 34.707 us/op 36.637 us/op 0.95
BLS verify - blst 751.95 us/op 916.83 us/op 0.82
BLS verifyMultipleSignatures 3 - blst 1.1554 ms/op 1.2544 ms/op 0.92
BLS verifyMultipleSignatures 8 - blst 1.6133 ms/op 1.9103 ms/op 0.84
BLS verifyMultipleSignatures 32 - blst 4.8014 ms/op 5.6294 ms/op 0.85
BLS verifyMultipleSignatures 64 - blst 8.8288 ms/op 10.794 ms/op 0.82
BLS verifyMultipleSignatures 128 - blst 16.873 ms/op 18.112 ms/op 0.93
BLS deserializing 10000 signatures 671.01 ms/op 706.50 ms/op 0.95
BLS deserializing 100000 signatures 6.7929 s/op 7.2213 s/op 0.94
BLS verifyMultipleSignatures - same message - 3 - blst 890.47 us/op 987.50 us/op 0.90
BLS verifyMultipleSignatures - same message - 8 - blst 1.0544 ms/op 1.1319 ms/op 0.93
BLS verifyMultipleSignatures - same message - 32 - blst 1.7321 ms/op 1.7436 ms/op 0.99
BLS verifyMultipleSignatures - same message - 64 - blst 2.6007 ms/op 2.6552 ms/op 0.98
BLS verifyMultipleSignatures - same message - 128 - blst 4.3905 ms/op 4.5017 ms/op 0.98
BLS aggregatePubkeys 32 - blst 19.434 us/op 21.663 us/op 0.90
BLS aggregatePubkeys 128 - blst 69.632 us/op 73.331 us/op 0.95
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 45.728 ms/op 55.117 ms/op 0.83
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 44.955 ms/op 54.193 ms/op 0.83
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 34.975 ms/op 43.327 ms/op 0.81
getSlashingsAndExits - default max 72.572 us/op 73.855 us/op 0.98
getSlashingsAndExits - 2k 281.91 us/op 322.79 us/op 0.87
proposeBlockBody type=full, size=empty 5.9517 ms/op 6.6782 ms/op 0.89
isKnown best case - 1 super set check 220.00 ns/op 225.00 ns/op 0.98
isKnown normal case - 2 super set checks 216.00 ns/op 218.00 ns/op 0.99
isKnown worse case - 16 super set checks 217.00 ns/op 221.00 ns/op 0.98
InMemoryCheckpointStateCache - add get delete 2.3880 us/op 2.5990 us/op 0.92
validate api signedAggregateAndProof - struct 1.3212 ms/op 1.4849 ms/op 0.89
validate gossip signedAggregateAndProof - struct 1.3241 ms/op 1.4714 ms/op 0.90
batch validate gossip attestation - vc 640000 - chunk 32 111.87 us/op 122.13 us/op 0.92
batch validate gossip attestation - vc 640000 - chunk 64 97.990 us/op 105.73 us/op 0.93
batch validate gossip attestation - vc 640000 - chunk 128 92.321 us/op 98.656 us/op 0.94
batch validate gossip attestation - vc 640000 - chunk 256 95.706 us/op 104.02 us/op 0.92
pickEth1Vote - no votes 946.30 us/op 1.0419 ms/op 0.91
pickEth1Vote - max votes 5.4096 ms/op 6.4971 ms/op 0.83
pickEth1Vote - Eth1Data hashTreeRoot value x2048 11.610 ms/op 11.796 ms/op 0.98
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 16.888 ms/op 18.558 ms/op 0.91
pickEth1Vote - Eth1Data fastSerialize value x2048 419.61 us/op 460.08 us/op 0.91
pickEth1Vote - Eth1Data fastSerialize tree x2048 2.1131 ms/op 2.2256 ms/op 0.95
bytes32 toHexString 365.00 ns/op 415.00 ns/op 0.88
bytes32 Buffer.toString(hex) 249.00 ns/op 245.00 ns/op 1.02
bytes32 Buffer.toString(hex) from Uint8Array 328.00 ns/op 383.00 ns/op 0.86
bytes32 Buffer.toString(hex) + 0x 251.00 ns/op 253.00 ns/op 0.99
Object access 1 prop 0.12100 ns/op 0.13600 ns/op 0.89
Map access 1 prop 0.12400 ns/op 0.13700 ns/op 0.91
Object get x1000 5.8890 ns/op 6.4970 ns/op 0.91
Map get x1000 6.3330 ns/op 6.7250 ns/op 0.94
Object set x1000 27.784 ns/op 30.764 ns/op 0.90
Map set x1000 19.478 ns/op 21.656 ns/op 0.90
Return object 10000 times 0.28720 ns/op 0.30290 ns/op 0.95
Throw Error 10000 times 4.4369 us/op 4.5866 us/op 0.97
toHex 130.74 ns/op 159.02 ns/op 0.82
Buffer.from 131.74 ns/op 128.24 ns/op 1.03
shared Buffer 85.257 ns/op 82.887 ns/op 1.03
fastMsgIdFn sha256 / 200 bytes 2.1540 us/op 2.3060 us/op 0.93
fastMsgIdFn h32 xxhash / 200 bytes 212.00 ns/op 237.00 ns/op 0.89
fastMsgIdFn h64 xxhash / 200 bytes 284.00 ns/op 354.00 ns/op 0.80
fastMsgIdFn sha256 / 1000 bytes 7.1480 us/op 7.6340 us/op 0.94
fastMsgIdFn h32 xxhash / 1000 bytes 341.00 ns/op 356.00 ns/op 0.96
fastMsgIdFn h64 xxhash / 1000 bytes 346.00 ns/op 365.00 ns/op 0.95
fastMsgIdFn sha256 / 10000 bytes 63.617 us/op 68.195 us/op 0.93
fastMsgIdFn h32 xxhash / 10000 bytes 1.7890 us/op 1.8780 us/op 0.95
fastMsgIdFn h64 xxhash / 10000 bytes 1.1870 us/op 1.2570 us/op 0.94
send data - 1000 256B messages 11.464 ms/op 14.572 ms/op 0.79
send data - 1000 512B messages 15.866 ms/op 18.390 ms/op 0.86
send data - 1000 1024B messages 25.607 ms/op 27.926 ms/op 0.92
send data - 1000 1200B messages 21.480 ms/op 20.901 ms/op 1.03
send data - 1000 2048B messages 21.709 ms/op 21.897 ms/op 0.99
send data - 1000 4096B messages 26.881 ms/op 24.135 ms/op 1.11
send data - 1000 16384B messages 70.664 ms/op 69.793 ms/op 1.01
send data - 1000 65536B messages 222.64 ms/op 227.29 ms/op 0.98
enrSubnets - fastDeserialize 64 bits 868.00 ns/op 943.00 ns/op 0.92
enrSubnets - ssz BitVector 64 bits 331.00 ns/op 364.00 ns/op 0.91
enrSubnets - fastDeserialize 4 bits 132.00 ns/op 157.00 ns/op 0.84
enrSubnets - ssz BitVector 4 bits 331.00 ns/op 362.00 ns/op 0.91
prioritizePeers score -10:0 att 32-0.1 sync 2-0 116.85 us/op 134.60 us/op 0.87
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 139.88 us/op 166.19 us/op 0.84
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 200.10 us/op 225.80 us/op 0.89
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 374.15 us/op 415.24 us/op 0.90
prioritizePeers score 0:0 att 64-1 sync 4-1 454.14 us/op 496.52 us/op 0.91
array of 16000 items push then shift 1.5726 us/op 1.7537 us/op 0.90
LinkedList of 16000 items push then shift 6.8520 ns/op 7.5220 ns/op 0.91
array of 16000 items push then pop 74.169 ns/op 80.743 ns/op 0.92
LinkedList of 16000 items push then pop 6.7130 ns/op 7.4500 ns/op 0.90
array of 24000 items push then shift 2.3284 us/op 2.4996 us/op 0.93
LinkedList of 24000 items push then shift 6.9030 ns/op 7.7930 ns/op 0.89
array of 24000 items push then pop 104.91 ns/op 118.50 ns/op 0.89
LinkedList of 24000 items push then pop 6.7260 ns/op 7.2370 ns/op 0.93
intersect bitArray bitLen 8 6.1230 ns/op 6.7470 ns/op 0.91
intersect array and set length 8 36.576 ns/op 39.788 ns/op 0.92
intersect bitArray bitLen 128 28.564 ns/op 31.607 ns/op 0.90
intersect array and set length 128 612.16 ns/op 658.50 ns/op 0.93
bitArray.getTrueBitIndexes() bitLen 128 1.0020 us/op 1.0800 us/op 0.93
bitArray.getTrueBitIndexes() bitLen 248 1.7510 us/op 1.8990 us/op 0.92
bitArray.getTrueBitIndexes() bitLen 512 3.6680 us/op 3.9160 us/op 0.94
Buffer.concat 32 items 603.00 ns/op 672.00 ns/op 0.90
Uint8Array.set 32 items 934.00 ns/op 998.00 ns/op 0.94
Buffer.copy 2.0150 us/op 2.0990 us/op 0.96
Uint8Array.set - with subarray 1.8010 us/op 1.6080 us/op 1.12
Uint8Array.set - without subarray 1.4550 us/op 902.00 ns/op 1.61
getUint32 - dataview 201.00 ns/op 217.00 ns/op 0.93
getUint32 - manual 127.00 ns/op 136.00 ns/op 0.93
Set add up to 64 items then delete first 2.1465 us/op 2.1589 us/op 0.99
OrderedSet add up to 64 items then delete first 3.1942 us/op 3.4792 us/op 0.92
Set add up to 64 items then delete last 2.2844 us/op 2.6318 us/op 0.87
OrderedSet add up to 64 items then delete last 3.9178 us/op 3.7783 us/op 1.04
Set add up to 64 items then delete middle 2.5679 us/op 2.5409 us/op 1.01
OrderedSet add up to 64 items then delete middle 5.1962 us/op 6.5358 us/op 0.80
Set add up to 128 items then delete first 5.2185 us/op 5.6053 us/op 0.93
OrderedSet add up to 128 items then delete first 8.2141 us/op 8.8011 us/op 0.93
Set add up to 128 items then delete last 5.2987 us/op 5.1423 us/op 1.03
OrderedSet add up to 128 items then delete last 7.5319 us/op 7.5650 us/op 1.00
Set add up to 128 items then delete middle 5.8705 us/op 5.1113 us/op 1.15
OrderedSet add up to 128 items then delete middle 14.380 us/op 15.814 us/op 0.91
Set add up to 256 items then delete first 9.9090 us/op 10.727 us/op 0.92
OrderedSet add up to 256 items then delete first 18.658 us/op 16.553 us/op 1.13
Set add up to 256 items then delete last 10.354 us/op 10.411 us/op 0.99
OrderedSet add up to 256 items then delete last 15.404 us/op 16.503 us/op 0.93
Set add up to 256 items then delete middle 10.121 us/op 10.021 us/op 1.01
OrderedSet add up to 256 items then delete middle 43.008 us/op 43.689 us/op 0.98
transfer serialized Status (84 B) 2.2660 us/op 2.3540 us/op 0.96
copy serialized Status (84 B) 1.2790 us/op 1.1610 us/op 1.10
transfer serialized SignedVoluntaryExit (112 B) 2.3330 us/op 2.4010 us/op 0.97
copy serialized SignedVoluntaryExit (112 B) 1.3040 us/op 1.3380 us/op 0.97
transfer serialized ProposerSlashing (416 B) 2.5070 us/op 2.4000 us/op 1.04
copy serialized ProposerSlashing (416 B) 2.1550 us/op 1.2500 us/op 1.72
transfer serialized Attestation (485 B) 2.8500 us/op 2.3980 us/op 1.19
copy serialized Attestation (485 B) 1.7460 us/op 1.3130 us/op 1.33
transfer serialized AttesterSlashing (33232 B) 2.5330 us/op 2.4510 us/op 1.03
copy serialized AttesterSlashing (33232 B) 3.5920 us/op 3.9140 us/op 0.92
transfer serialized Small SignedBeaconBlock (128000 B) 3.0860 us/op 3.2340 us/op 0.95
copy serialized Small SignedBeaconBlock (128000 B) 9.0040 us/op 10.766 us/op 0.84
transfer serialized Avg SignedBeaconBlock (200000 B) 3.4890 us/op 3.7500 us/op 0.93
copy serialized Avg SignedBeaconBlock (200000 B) 13.221 us/op 16.051 us/op 0.82
transfer serialized BlobsSidecar (524380 B) 3.6190 us/op 3.8150 us/op 0.95
copy serialized BlobsSidecar (524380 B) 67.819 us/op 67.287 us/op 1.01
transfer serialized Big SignedBeaconBlock (1000000 B) 4.0000 us/op 4.0540 us/op 0.99
copy serialized Big SignedBeaconBlock (1000000 B) 137.63 us/op 157.05 us/op 0.88
pass gossip attestations to forkchoice per slot 2.7473 ms/op 3.0168 ms/op 0.91
forkChoice updateHead vc 100000 bc 64 eq 0 451.19 us/op 498.66 us/op 0.90
forkChoice updateHead vc 600000 bc 64 eq 0 2.9009 ms/op 3.0469 ms/op 0.95
forkChoice updateHead vc 1000000 bc 64 eq 0 4.8774 ms/op 5.1947 ms/op 0.94
forkChoice updateHead vc 600000 bc 320 eq 0 2.9704 ms/op 3.0480 ms/op 0.97
forkChoice updateHead vc 600000 bc 1200 eq 0 3.3144 ms/op 3.1140 ms/op 1.06
forkChoice updateHead vc 600000 bc 7200 eq 0 3.6098 ms/op 3.5727 ms/op 1.01
forkChoice updateHead vc 600000 bc 64 eq 1000 10.969 ms/op 11.542 ms/op 0.95
forkChoice updateHead vc 600000 bc 64 eq 10000 10.485 ms/op 11.488 ms/op 0.91
forkChoice updateHead vc 600000 bc 64 eq 300000 15.640 ms/op 14.948 ms/op 1.05
computeDeltas 500000 validators 300 proto nodes 4.0329 ms/op 4.1765 ms/op 0.97
computeDeltas 500000 validators 1200 proto nodes 4.1678 ms/op 4.2658 ms/op 0.98
computeDeltas 500000 validators 7200 proto nodes 4.2064 ms/op 4.3086 ms/op 0.98
computeDeltas 750000 validators 300 proto nodes 5.9595 ms/op 6.3791 ms/op 0.93
computeDeltas 750000 validators 1200 proto nodes 5.8690 ms/op 6.4836 ms/op 0.91
computeDeltas 750000 validators 7200 proto nodes 5.9277 ms/op 6.3066 ms/op 0.94
computeDeltas 1400000 validators 300 proto nodes 11.452 ms/op 11.573 ms/op 0.99
computeDeltas 1400000 validators 1200 proto nodes 11.077 ms/op 11.530 ms/op 0.96
computeDeltas 1400000 validators 7200 proto nodes 10.921 ms/op 11.719 ms/op 0.93
computeDeltas 2100000 validators 300 proto nodes 16.244 ms/op 17.612 ms/op 0.92
computeDeltas 2100000 validators 1200 proto nodes 16.826 ms/op 19.441 ms/op 0.87
computeDeltas 2100000 validators 7200 proto nodes 17.081 ms/op 19.371 ms/op 0.88
altair processAttestation - 250000 vs - 7PWei normalcase 3.1330 ms/op 2.6864 ms/op 1.17
altair processAttestation - 250000 vs - 7PWei worstcase 4.0723 ms/op 4.0126 ms/op 1.01
altair processAttestation - setStatus - 1/6 committees join 147.11 us/op 158.13 us/op 0.93
altair processAttestation - setStatus - 1/3 committees join 273.70 us/op 319.64 us/op 0.86
altair processAttestation - setStatus - 1/2 committees join 386.16 us/op 433.49 us/op 0.89
altair processAttestation - setStatus - 2/3 committees join 481.13 us/op 523.52 us/op 0.92
altair processAttestation - setStatus - 4/5 committees join 655.46 us/op 768.11 us/op 0.85
altair processAttestation - setStatus - 100% committees join 707.64 us/op 917.59 us/op 0.77
altair processBlock - 250000 vs - 7PWei normalcase 5.1378 ms/op 6.7440 ms/op 0.76
altair processBlock - 250000 vs - 7PWei normalcase hashState 34.652 ms/op 34.836 ms/op 0.99
altair processBlock - 250000 vs - 7PWei worstcase 42.646 ms/op 45.270 ms/op 0.94
altair processBlock - 250000 vs - 7PWei worstcase hashState 82.134 ms/op 93.646 ms/op 0.88
phase0 processBlock - 250000 vs - 7PWei normalcase 1.8236 ms/op 2.1687 ms/op 0.84
phase0 processBlock - 250000 vs - 7PWei worstcase 29.658 ms/op 28.442 ms/op 1.04
altair processEth1Data - 250000 vs - 7PWei normalcase 357.70 us/op 392.42 us/op 0.91
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 6.0800 us/op 7.9010 us/op 0.77
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 39.711 us/op 63.433 us/op 0.63
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 10.192 us/op 22.308 us/op 0.46
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 6.2870 us/op 7.9260 us/op 0.79
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 136.30 us/op 175.64 us/op 0.78
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.9179 ms/op 2.3521 ms/op 0.82
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.4498 ms/op 2.5743 ms/op 0.95
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.4371 ms/op 2.6381 ms/op 0.92
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.5377 ms/op 5.0987 ms/op 0.89
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.6856 ms/op 2.7834 ms/op 0.96
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.7045 ms/op 5.5344 ms/op 0.85
Tree 40 250000 create 476.43 ms/op 468.49 ms/op 1.02
Tree 40 250000 get(125000) 144.52 ns/op 152.47 ns/op 0.95
Tree 40 250000 set(125000) 1.5203 us/op 1.4485 us/op 1.05
Tree 40 250000 toArray() 21.561 ms/op 15.064 ms/op 1.43
Tree 40 250000 iterate all - toArray() + loop 21.750 ms/op 15.371 ms/op 1.41
Tree 40 250000 iterate all - get(i) 52.153 ms/op 51.754 ms/op 1.01
Array 250000 create 2.4025 ms/op 2.4736 ms/op 0.97
Array 250000 clone - spread 820.37 us/op 830.77 us/op 0.99
Array 250000 get(125000) 0.41000 ns/op 0.51600 ns/op 0.79
Array 250000 set(125000) 0.43000 ns/op 0.45100 ns/op 0.95
Array 250000 iterate all - loop 83.280 us/op 106.13 us/op 0.78
phase0 afterProcessEpoch - 250000 vs - 7PWei 42.363 ms/op 43.965 ms/op 0.96
Array.fill - length 1000000 3.6158 ms/op 3.5406 ms/op 1.02
Array push - length 1000000 14.511 ms/op 12.951 ms/op 1.12
Array.get 0.27176 ns/op 0.28606 ns/op 0.95
Uint8Array.get 0.43216 ns/op 0.45684 ns/op 0.95
phase0 beforeProcessEpoch - 250000 vs - 7PWei 16.073 ms/op 16.055 ms/op 1.00
altair processEpoch - mainnet_e81889 265.78 ms/op 285.61 ms/op 0.93
mainnet_e81889 - altair beforeProcessEpoch 17.180 ms/op 17.737 ms/op 0.97
mainnet_e81889 - altair processJustificationAndFinalization 5.3670 us/op 5.6140 us/op 0.96
mainnet_e81889 - altair processInactivityUpdates 3.9629 ms/op 4.3550 ms/op 0.91
mainnet_e81889 - altair processRewardsAndPenalties 38.954 ms/op 44.631 ms/op 0.87
mainnet_e81889 - altair processRegistryUpdates 681.00 ns/op 742.00 ns/op 0.92
mainnet_e81889 - altair processSlashings 174.00 ns/op 200.00 ns/op 0.87
mainnet_e81889 - altair processEth1DataReset 166.00 ns/op 199.00 ns/op 0.83
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2217 ms/op 1.3271 ms/op 0.92
mainnet_e81889 - altair processSlashingsReset 841.00 ns/op 881.00 ns/op 0.95
mainnet_e81889 - altair processRandaoMixesReset 1.1100 us/op 1.2780 us/op 0.87
mainnet_e81889 - altair processHistoricalRootsUpdate 170.00 ns/op 198.00 ns/op 0.86
mainnet_e81889 - altair processParticipationFlagUpdates 509.00 ns/op 568.00 ns/op 0.90
mainnet_e81889 - altair processSyncCommitteeUpdates 136.00 ns/op 150.00 ns/op 0.91
mainnet_e81889 - altair afterProcessEpoch 43.062 ms/op 45.272 ms/op 0.95
capella processEpoch - mainnet_e217614 852.30 ms/op 1.0582 s/op 0.81
mainnet_e217614 - capella beforeProcessEpoch 58.917 ms/op 62.915 ms/op 0.94
mainnet_e217614 - capella processJustificationAndFinalization 5.2760 us/op 5.9840 us/op 0.88
mainnet_e217614 - capella processInactivityUpdates 15.822 ms/op 15.744 ms/op 1.01
mainnet_e217614 - capella processRewardsAndPenalties 179.10 ms/op 202.05 ms/op 0.89
mainnet_e217614 - capella processRegistryUpdates 6.3600 us/op 6.7770 us/op 0.94
mainnet_e217614 - capella processSlashings 181.00 ns/op 210.00 ns/op 0.86
mainnet_e217614 - capella processEth1DataReset 176.00 ns/op 191.00 ns/op 0.92
mainnet_e217614 - capella processEffectiveBalanceUpdates 5.2815 ms/op 4.7383 ms/op 1.11
mainnet_e217614 - capella processSlashingsReset 877.00 ns/op 1.0020 us/op 0.88
mainnet_e217614 - capella processRandaoMixesReset 1.1830 us/op 1.4270 us/op 0.83
mainnet_e217614 - capella processHistoricalRootsUpdate 177.00 ns/op 194.00 ns/op 0.91
mainnet_e217614 - capella processParticipationFlagUpdates 514.00 ns/op 540.00 ns/op 0.95
mainnet_e217614 - capella afterProcessEpoch 114.23 ms/op 119.35 ms/op 0.96
phase0 processEpoch - mainnet_e58758 279.26 ms/op 335.21 ms/op 0.83
mainnet_e58758 - phase0 beforeProcessEpoch 71.315 ms/op 82.112 ms/op 0.87
mainnet_e58758 - phase0 processJustificationAndFinalization 5.5870 us/op 6.1410 us/op 0.91
mainnet_e58758 - phase0 processRewardsAndPenalties 35.572 ms/op 38.602 ms/op 0.92
mainnet_e58758 - phase0 processRegistryUpdates 3.0450 us/op 3.8980 us/op 0.78
mainnet_e58758 - phase0 processSlashings 182.00 ns/op 206.00 ns/op 0.88
mainnet_e58758 - phase0 processEth1DataReset 177.00 ns/op 188.00 ns/op 0.94
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.1219 ms/op 1.2545 ms/op 0.89
mainnet_e58758 - phase0 processSlashingsReset 908.00 ns/op 1.0690 us/op 0.85
mainnet_e58758 - phase0 processRandaoMixesReset 1.1090 us/op 1.4190 us/op 0.78
mainnet_e58758 - phase0 processHistoricalRootsUpdate 177.00 ns/op 226.00 ns/op 0.78
mainnet_e58758 - phase0 processParticipationRecordUpdates 877.00 ns/op 969.00 ns/op 0.91
mainnet_e58758 - phase0 afterProcessEpoch 34.288 ms/op 39.123 ms/op 0.88
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.3256 ms/op 1.4230 ms/op 0.93
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.9371 ms/op 1.9375 ms/op 1.00
altair processInactivityUpdates - 250000 normalcase 16.750 ms/op 19.990 ms/op 0.84
altair processInactivityUpdates - 250000 worstcase 17.379 ms/op 20.520 ms/op 0.85
phase0 processRegistryUpdates - 250000 normalcase 6.3730 us/op 6.7290 us/op 0.95
phase0 processRegistryUpdates - 250000 badcase_full_deposits 224.32 us/op 276.38 us/op 0.81
phase0 processRegistryUpdates - 250000 worstcase 0.5 100.17 ms/op 106.67 ms/op 0.94
altair processRewardsAndPenalties - 250000 normalcase 26.726 ms/op 29.730 ms/op 0.90
altair processRewardsAndPenalties - 250000 worstcase 25.931 ms/op 27.308 ms/op 0.95
phase0 getAttestationDeltas - 250000 normalcase 6.9635 ms/op 7.3788 ms/op 0.94
phase0 getAttestationDeltas - 250000 worstcase 6.6016 ms/op 7.0584 ms/op 0.94
phase0 processSlashings - 250000 worstcase 79.613 us/op 103.93 us/op 0.77
altair processSyncCommitteeUpdates - 250000 10.753 ms/op 13.026 ms/op 0.83
BeaconState.hashTreeRoot - No change 210.00 ns/op 240.00 ns/op 0.88
BeaconState.hashTreeRoot - 1 full validator 77.101 us/op 100.85 us/op 0.76
BeaconState.hashTreeRoot - 32 full validator 1.0125 ms/op 1.0797 ms/op 0.94
BeaconState.hashTreeRoot - 512 full validator 8.9559 ms/op 12.175 ms/op 0.74
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 89.540 us/op 98.857 us/op 0.91
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.2479 ms/op 1.5139 ms/op 0.82
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 19.221 ms/op 19.797 ms/op 0.97
BeaconState.hashTreeRoot - 1 balances 71.787 us/op 81.720 us/op 0.88
BeaconState.hashTreeRoot - 32 balances 748.66 us/op 1.2707 ms/op 0.59
BeaconState.hashTreeRoot - 512 balances 7.9678 ms/op 7.2421 ms/op 1.10
BeaconState.hashTreeRoot - 250000 balances 158.79 ms/op 179.63 ms/op 0.88
aggregationBits - 2048 els - zipIndexesInBitList 21.137 us/op 22.386 us/op 0.94
byteArrayEquals 32 57.566 ns/op 56.537 ns/op 1.02
Buffer.compare 32 16.803 ns/op 18.975 ns/op 0.89
byteArrayEquals 1024 1.5701 us/op 1.6665 us/op 0.94
Buffer.compare 1024 25.095 ns/op 27.125 ns/op 0.93
byteArrayEquals 16384 25.460 us/op 26.627 us/op 0.96
Buffer.compare 16384 196.00 ns/op 209.13 ns/op 0.94
byteArrayEquals 123687377 192.74 ms/op 196.64 ms/op 0.98
Buffer.compare 123687377 13.242 ms/op 6.7205 ms/op 1.97
byteArrayEquals 32 - diff last byte 53.328 ns/op 54.251 ns/op 0.98
Buffer.compare 32 - diff last byte 17.528 ns/op 18.104 ns/op 0.97
byteArrayEquals 1024 - diff last byte 1.6032 us/op 1.6104 us/op 1.00
Buffer.compare 1024 - diff last byte 26.000 ns/op 26.174 ns/op 0.99
byteArrayEquals 16384 - diff last byte 25.543 us/op 25.705 us/op 0.99
Buffer.compare 16384 - diff last byte 200.90 ns/op 209.34 ns/op 0.96
byteArrayEquals 123687377 - diff last byte 203.02 ms/op 196.41 ms/op 1.03
Buffer.compare 123687377 - diff last byte 9.6427 ms/op 6.8244 ms/op 1.41
byteArrayEquals 32 - random bytes 5.1340 ns/op 5.2810 ns/op 0.97
Buffer.compare 32 - random bytes 17.079 ns/op 17.684 ns/op 0.97
byteArrayEquals 1024 - random bytes 5.1350 ns/op 5.2800 ns/op 0.97
Buffer.compare 1024 - random bytes 17.774 ns/op 17.618 ns/op 1.01
byteArrayEquals 16384 - random bytes 5.1320 ns/op 5.3290 ns/op 0.96
Buffer.compare 16384 - random bytes 17.134 ns/op 18.524 ns/op 0.92
byteArrayEquals 123687377 - random bytes 6.4200 ns/op 6.6300 ns/op 0.97
Buffer.compare 123687377 - random bytes 18.280 ns/op 21.090 ns/op 0.87
regular array get 100000 times 33.243 us/op 38.519 us/op 0.86
wrappedArray get 100000 times 33.197 us/op 33.541 us/op 0.99
arrayWithProxy get 100000 times 12.926 ms/op 23.053 ms/op 0.56
ssz.Root.equals 46.249 ns/op 47.343 ns/op 0.98
byteArrayEquals 45.562 ns/op 46.406 ns/op 0.98
Buffer.compare 10.671 ns/op 10.853 ns/op 0.98
processSlot - 1 slots 10.412 us/op 10.492 us/op 0.99
processSlot - 32 slots 2.5443 ms/op 2.2096 ms/op 1.15
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 3.6531 ms/op 3.0071 ms/op 1.21
getCommitteeAssignments - req 1 vs - 250000 vc 2.1147 ms/op 2.1812 ms/op 0.97
getCommitteeAssignments - req 100 vs - 250000 vc 4.0958 ms/op 4.2275 ms/op 0.97
getCommitteeAssignments - req 1000 vs - 250000 vc 4.3581 ms/op 4.5302 ms/op 0.96
findModifiedValidators - 10000 modified validators 734.15 ms/op 756.43 ms/op 0.97
findModifiedValidators - 1000 modified validators 736.88 ms/op 775.49 ms/op 0.95
findModifiedValidators - 100 modified validators 257.90 ms/op 279.68 ms/op 0.92
findModifiedValidators - 10 modified validators 225.78 ms/op 195.06 ms/op 1.16
findModifiedValidators - 1 modified validators 146.11 ms/op 144.63 ms/op 1.01
findModifiedValidators - no difference 173.61 ms/op 284.11 ms/op 0.61
compare ViewDUs 6.0224 s/op 6.3036 s/op 0.96
compare each validator Uint8Array 1.3892 s/op 1.2774 s/op 1.09
compare ViewDU to Uint8Array 1.1385 s/op 1.0438 s/op 1.09
migrate state 1000000 validators, 24 modified, 0 new 728.75 ms/op 924.72 ms/op 0.79
migrate state 1000000 validators, 1700 modified, 1000 new 1.1789 s/op 1.1600 s/op 1.02
migrate state 1000000 validators, 3400 modified, 2000 new 1.2881 s/op 1.2689 s/op 1.02
migrate state 1500000 validators, 24 modified, 0 new 877.46 ms/op 891.57 ms/op 0.98
migrate state 1500000 validators, 1700 modified, 1000 new 1.0664 s/op 1.1523 s/op 0.93
migrate state 1500000 validators, 3400 modified, 2000 new 1.2275 s/op 1.2699 s/op 0.97
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.2600 ns/op 5.5000 ns/op 0.77
state getBlockRootAtSlot - 250000 vs - 7PWei 472.89 ns/op 559.35 ns/op 0.85
naive computeProposerIndex 100000 validators 48.983 ms/op 54.614 ms/op 0.90
computeProposerIndex 100000 validators 1.4803 ms/op 1.5948 ms/op 0.93
naiveGetNextSyncCommitteeIndices 1000 validators 7.4603 s/op 7.7618 s/op 0.96
getNextSyncCommitteeIndices 1000 validators 110.17 ms/op 119.11 ms/op 0.92
naiveGetNextSyncCommitteeIndices 10000 validators 7.8330 s/op 7.8327 s/op 1.00
getNextSyncCommitteeIndices 10000 validators 111.51 ms/op 120.96 ms/op 0.92
naiveGetNextSyncCommitteeIndices 100000 validators 7.4976 s/op 7.3412 s/op 1.02
getNextSyncCommitteeIndices 100000 validators 114.62 ms/op 114.55 ms/op 1.00
naive computeShuffledIndex 100000 validators 26.358 s/op 22.644 s/op 1.16
cached computeShuffledIndex 100000 validators 543.92 ms/op 561.67 ms/op 0.97
naive computeShuffledIndex 2000000 validators 533.94 s/op 530.31 s/op 1.01
cached computeShuffledIndex 2000000 validators 49.705 s/op 43.502 s/op 1.14
computeProposers - vc 250000 596.02 us/op 656.69 us/op 0.91
computeEpochShuffling - vc 250000 42.341 ms/op 45.347 ms/op 0.93
getNextSyncCommittee - vc 250000 10.598 ms/op 11.169 ms/op 0.95
computeSigningRoot for AttestationData 21.225 us/op 22.612 us/op 0.94
hash AttestationData serialized data then Buffer.toString(base64) 1.5709 us/op 1.7299 us/op 0.91
toHexString serialized data 1.1081 us/op 1.3554 us/op 0.82
Buffer.toString(base64) 157.70 ns/op 157.95 ns/op 1.00
nodejs block root to RootHex using toHex 141.81 ns/op 160.35 ns/op 0.88
nodejs block root to RootHex using toRootHex 87.612 ns/op 94.047 ns/op 0.93
browser block root to RootHex using the deprecated toHexString 207.47 ns/op 237.02 ns/op 0.88
browser block root to RootHex using toHex 168.32 ns/op 184.29 ns/op 0.91
browser block root to RootHex using toRootHex 156.98 ns/op 172.69 ns/op 0.91

by benchmarkbot/action

@wemeetagain wemeetagain merged commit 7beba71 into unstable Jun 6, 2025
20 checks passed
@wemeetagain wemeetagain deleted the nflaig/idontwant-panels branch June 6, 2025 12:26
KatyaRyazantseva pushed a commit to KatyaRyazantseva/lodestar that referenced this pull request Jun 19, 2025
…Safe#7924)

**Motivation**

We enabled `IDONTWANT` a while ago but haven't added panels for it yet.

**Description**

Add panels for `IDONTWANT` metrics to gossipsub dashboard


![image](https://github.com/user-attachments/assets/8c39f565-81aa-4ba7-8171-e52cc296da65)


Related ChainSafe/js-libp2p-gossipsub#498
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.32.0 🎉

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants