Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: add more panels to Gossip Block Validation row #5540

Merged
merged 1 commit into from
May 25, 2023

Conversation

twoeths
Copy link
Contributor

@twoeths twoeths commented May 25, 2023

Motivation

We want to track how many gossip blocks are processed in 4s

Description
Add more panels to Gossip Block Validation row of Networking dashboard

Screenshot 2023-05-25 at 13 38 35

@twoeths twoeths requested a review from a team as a code owner May 25, 2023 06:39
@github-actions
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: ce9a811 Previous: 118f7b9 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 992.24 us/op 645.00 us/op 1.54
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 44.377 us/op 50.532 us/op 0.88
BLS verify - blst-native 1.1863 ms/op 1.2417 ms/op 0.96
BLS verifyMultipleSignatures 3 - blst-native 2.4156 ms/op 2.5166 ms/op 0.96
BLS verifyMultipleSignatures 8 - blst-native 5.1866 ms/op 5.4125 ms/op 0.96
BLS verifyMultipleSignatures 32 - blst-native 18.759 ms/op 19.570 ms/op 0.96
BLS aggregatePubkeys 32 - blst-native 25.029 us/op 26.032 us/op 0.96
BLS aggregatePubkeys 128 - blst-native 98.218 us/op 102.21 us/op 0.96
getAttestationsForBlock 62.831 ms/op 56.477 ms/op 1.11
isKnown best case - 1 super set check 267.00 ns/op 266.00 ns/op 1.00
isKnown normal case - 2 super set checks 250.00 ns/op 252.00 ns/op 0.99
isKnown worse case - 16 super set checks 253.00 ns/op 246.00 ns/op 1.03
CheckpointStateCache - add get delete 4.9440 us/op 5.4830 us/op 0.90
validate gossip signedAggregateAndProof - struct 2.7118 ms/op 2.8301 ms/op 0.96
validate gossip attestation - struct 1.2890 ms/op 1.3854 ms/op 0.93
pickEth1Vote - no votes 1.2299 ms/op 1.2989 ms/op 0.95
pickEth1Vote - max votes 10.298 ms/op 10.221 ms/op 1.01
pickEth1Vote - Eth1Data hashTreeRoot value x2048 8.5850 ms/op 9.2327 ms/op 0.93
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 17.638 ms/op 14.044 ms/op 1.26
pickEth1Vote - Eth1Data fastSerialize value x2048 645.66 us/op 659.13 us/op 0.98
pickEth1Vote - Eth1Data fastSerialize tree x2048 8.1339 ms/op 4.7311 ms/op 1.72
bytes32 toHexString 465.00 ns/op 523.00 ns/op 0.89
bytes32 Buffer.toString(hex) 329.00 ns/op 347.00 ns/op 0.95
bytes32 Buffer.toString(hex) from Uint8Array 540.00 ns/op 595.00 ns/op 0.91
bytes32 Buffer.toString(hex) + 0x 325.00 ns/op 372.00 ns/op 0.87
Object access 1 prop 0.16400 ns/op 0.19000 ns/op 0.86
Map access 1 prop 0.15900 ns/op 0.16600 ns/op 0.96
Object get x1000 7.0380 ns/op 6.6520 ns/op 1.06
Map get x1000 0.60500 ns/op 0.60800 ns/op 1.00
Object set x1000 49.067 ns/op 53.862 ns/op 0.91
Map set x1000 41.801 ns/op 44.386 ns/op 0.94
Return object 10000 times 0.23290 ns/op 0.24400 ns/op 0.95
Throw Error 10000 times 4.1066 us/op 4.3004 us/op 0.95
fastMsgIdFn sha256 / 200 bytes 3.3450 us/op 3.5640 us/op 0.94
fastMsgIdFn h32 xxhash / 200 bytes 288.00 ns/op 300.00 ns/op 0.96
fastMsgIdFn h64 xxhash / 200 bytes 420.00 ns/op 420.00 ns/op 1.00
fastMsgIdFn sha256 / 1000 bytes 11.273 us/op 12.018 us/op 0.94
fastMsgIdFn h32 xxhash / 1000 bytes 412.00 ns/op 414.00 ns/op 1.00
fastMsgIdFn h64 xxhash / 1000 bytes 493.00 ns/op 492.00 ns/op 1.00
fastMsgIdFn sha256 / 10000 bytes 101.10 us/op 104.83 us/op 0.96
fastMsgIdFn h32 xxhash / 10000 bytes 1.9040 us/op 1.9510 us/op 0.98
fastMsgIdFn h64 xxhash / 10000 bytes 1.3830 us/op 1.4330 us/op 0.97
enrSubnets - fastDeserialize 64 bits 1.2490 us/op 1.3990 us/op 0.89
enrSubnets - ssz BitVector 64 bits 491.00 ns/op 526.00 ns/op 0.93
enrSubnets - fastDeserialize 4 bits 182.00 ns/op 190.00 ns/op 0.96
enrSubnets - ssz BitVector 4 bits 482.00 ns/op 539.00 ns/op 0.89
prioritizePeers score -10:0 att 32-0.1 sync 2-0 103.89 us/op 117.97 us/op 0.88
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 126.30 us/op 142.14 us/op 0.89
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 156.07 us/op 187.01 us/op 0.83
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 286.23 us/op 340.68 us/op 0.84
prioritizePeers score 0:0 att 64-1 sync 4-1 349.85 us/op 394.25 us/op 0.89
array of 16000 items push then shift 1.5949 us/op 1.6654 us/op 0.96
LinkedList of 16000 items push then shift 8.8120 ns/op 9.0300 ns/op 0.98
array of 16000 items push then pop 70.021 ns/op 111.08 ns/op 0.63
LinkedList of 16000 items push then pop 8.2510 ns/op 8.8840 ns/op 0.93
array of 24000 items push then shift 2.2728 us/op 2.4288 us/op 0.94
LinkedList of 24000 items push then shift 11.126 ns/op 9.2030 ns/op 1.21
array of 24000 items push then pop 70.662 ns/op 88.281 ns/op 0.80
LinkedList of 24000 items push then pop 8.3140 ns/op 8.9620 ns/op 0.93
intersect bitArray bitLen 8 13.146 ns/op 13.851 ns/op 0.95
intersect array and set length 8 73.257 ns/op 101.97 ns/op 0.72
intersect bitArray bitLen 128 42.947 ns/op 45.646 ns/op 0.94
intersect array and set length 128 1.0121 us/op 1.1651 us/op 0.87
Buffer.concat 32 items 2.6580 us/op 3.1870 us/op 0.83
Uint8Array.set 32 items 3.2160 us/op 3.2070 us/op 1.00
pass gossip attestations to forkchoice per slot 2.6506 ms/op 2.9799 ms/op 0.89
computeDeltas 2.8641 ms/op 3.1512 ms/op 0.91
computeProposerBoostScoreFromBalances 1.7367 ms/op 1.8154 ms/op 0.96
altair processAttestation - 250000 vs - 7PWei normalcase 2.0728 ms/op 2.2126 ms/op 0.94
altair processAttestation - 250000 vs - 7PWei worstcase 3.2215 ms/op 4.3670 ms/op 0.74
altair processAttestation - setStatus - 1/6 committees join 135.41 us/op 145.24 us/op 0.93
altair processAttestation - setStatus - 1/3 committees join 269.04 us/op 293.89 us/op 0.92
altair processAttestation - setStatus - 1/2 committees join 363.72 us/op 437.64 us/op 0.83
altair processAttestation - setStatus - 2/3 committees join 453.12 us/op 478.63 us/op 0.95
altair processAttestation - setStatus - 4/5 committees join 659.06 us/op 674.80 us/op 0.98
altair processAttestation - setStatus - 100% committees join 749.05 us/op 811.27 us/op 0.92
altair processBlock - 250000 vs - 7PWei normalcase 22.290 ms/op 17.025 ms/op 1.31
altair processBlock - 250000 vs - 7PWei normalcase hashState 28.363 ms/op 25.174 ms/op 1.13
altair processBlock - 250000 vs - 7PWei worstcase 65.994 ms/op 54.334 ms/op 1.21
altair processBlock - 250000 vs - 7PWei worstcase hashState 83.117 ms/op 71.365 ms/op 1.16
phase0 processBlock - 250000 vs - 7PWei normalcase 1.9627 ms/op 2.3557 ms/op 0.83
phase0 processBlock - 250000 vs - 7PWei worstcase 27.163 ms/op 32.155 ms/op 0.84
altair processEth1Data - 250000 vs - 7PWei normalcase 463.87 us/op 637.63 us/op 0.73
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 11.131 us/op 11.562 us/op 0.96
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 31.532 us/op 25.363 us/op 1.24
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 13.066 us/op 10.313 us/op 1.27
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 10.251 us/op 8.1230 us/op 1.26
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 121.67 us/op 104.22 us/op 1.17
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.2313 ms/op 714.23 us/op 1.72
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.6549 ms/op 914.93 us/op 1.81
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.6218 ms/op 913.89 us/op 1.77
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.2932 ms/op 2.3729 ms/op 0.97
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.8798 ms/op 1.7319 ms/op 1.66
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.6250 ms/op 4.0726 ms/op 0.89
Tree 40 250000 create 303.77 ms/op 334.38 ms/op 0.91
Tree 40 250000 get(125000) 179.32 ns/op 192.04 ns/op 0.93
Tree 40 250000 set(125000) 907.75 ns/op 1.0172 us/op 0.89
Tree 40 250000 toArray() 17.157 ms/op 19.596 ms/op 0.88
Tree 40 250000 iterate all - toArray() + loop 16.740 ms/op 21.307 ms/op 0.79
Tree 40 250000 iterate all - get(i) 65.870 ms/op 73.294 ms/op 0.90
MutableVector 250000 create 13.345 ms/op 10.540 ms/op 1.27
MutableVector 250000 get(125000) 6.0370 ns/op 7.2430 ns/op 0.83
MutableVector 250000 set(125000) 244.28 ns/op 256.46 ns/op 0.95
MutableVector 250000 toArray() 2.7247 ms/op 2.7603 ms/op 0.99
MutableVector 250000 iterate all - toArray() + loop 2.8108 ms/op 3.0665 ms/op 0.92
MutableVector 250000 iterate all - get(i) 1.4202 ms/op 1.7405 ms/op 0.82
Array 250000 create 2.9939 ms/op 2.7465 ms/op 1.09
Array 250000 clone - spread 1.0690 ms/op 1.1835 ms/op 0.90
Array 250000 get(125000) 0.51900 ns/op 0.58400 ns/op 0.89
Array 250000 set(125000) 0.60200 ns/op 0.66300 ns/op 0.91
Array 250000 iterate all - loop 106.45 us/op 88.404 us/op 1.20
effectiveBalanceIncrements clone Uint8Array 300000 23.073 us/op 35.693 us/op 0.65
effectiveBalanceIncrements clone MutableVector 300000 325.00 ns/op 400.00 ns/op 0.81
effectiveBalanceIncrements rw all Uint8Array 300000 163.79 us/op 169.43 us/op 0.97
effectiveBalanceIncrements rw all MutableVector 300000 75.369 ms/op 92.619 ms/op 0.81
phase0 afterProcessEpoch - 250000 vs - 7PWei 106.32 ms/op 117.10 ms/op 0.91
phase0 beforeProcessEpoch - 250000 vs - 7PWei 43.585 ms/op 41.452 ms/op 1.05
altair processEpoch - mainnet_e81889 354.62 ms/op 358.35 ms/op 0.99
mainnet_e81889 - altair beforeProcessEpoch 67.993 ms/op 89.756 ms/op 0.76
mainnet_e81889 - altair processJustificationAndFinalization 26.599 us/op 27.113 us/op 0.98
mainnet_e81889 - altair processInactivityUpdates 5.4946 ms/op 7.0442 ms/op 0.78
mainnet_e81889 - altair processRewardsAndPenalties 93.908 ms/op 64.241 ms/op 1.46
mainnet_e81889 - altair processRegistryUpdates 3.9820 us/op 4.7590 us/op 0.84
mainnet_e81889 - altair processSlashings 790.00 ns/op 988.00 ns/op 0.80
mainnet_e81889 - altair processEth1DataReset 958.00 ns/op 923.00 ns/op 1.04
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.2861 ms/op 1.4421 ms/op 1.59
mainnet_e81889 - altair processSlashingsReset 6.4940 us/op 8.1150 us/op 0.80
mainnet_e81889 - altair processRandaoMixesReset 7.5790 us/op 9.3650 us/op 0.81
mainnet_e81889 - altair processHistoricalRootsUpdate 1.1100 us/op 1.8020 us/op 0.62
mainnet_e81889 - altair processParticipationFlagUpdates 3.9400 us/op 5.0800 us/op 0.78
mainnet_e81889 - altair processSyncCommitteeUpdates 769.00 ns/op 1.5570 us/op 0.49
mainnet_e81889 - altair afterProcessEpoch 115.39 ms/op 131.72 ms/op 0.88
phase0 processEpoch - mainnet_e58758 355.11 ms/op 432.50 ms/op 0.82
mainnet_e58758 - phase0 beforeProcessEpoch 142.38 ms/op 139.47 ms/op 1.02
mainnet_e58758 - phase0 processJustificationAndFinalization 21.745 us/op 27.554 us/op 0.79
mainnet_e58758 - phase0 processRewardsAndPenalties 65.955 ms/op 79.418 ms/op 0.83
mainnet_e58758 - phase0 processRegistryUpdates 11.206 us/op 15.474 us/op 0.72
mainnet_e58758 - phase0 processSlashings 1.0920 us/op 1.3260 us/op 0.82
mainnet_e58758 - phase0 processEth1DataReset 849.00 ns/op 1.3740 us/op 0.62
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.2675 ms/op 1.9462 ms/op 0.65
mainnet_e58758 - phase0 processSlashingsReset 8.4240 us/op 7.9220 us/op 1.06
mainnet_e58758 - phase0 processRandaoMixesReset 8.9130 us/op 11.320 us/op 0.79
mainnet_e58758 - phase0 processHistoricalRootsUpdate 898.00 ns/op 1.8220 us/op 0.49
mainnet_e58758 - phase0 processParticipationRecordUpdates 7.6460 us/op 10.043 us/op 0.76
mainnet_e58758 - phase0 afterProcessEpoch 96.761 ms/op 124.61 ms/op 0.78
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.4996 ms/op 2.1224 ms/op 0.71
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.5053 ms/op 3.4400 ms/op 0.73
altair processInactivityUpdates - 250000 normalcase 26.402 ms/op 31.842 ms/op 0.83
altair processInactivityUpdates - 250000 worstcase 25.103 ms/op 30.279 ms/op 0.83
phase0 processRegistryUpdates - 250000 normalcase 7.1930 us/op 8.4670 us/op 0.85
phase0 processRegistryUpdates - 250000 badcase_full_deposits 312.78 us/op 294.33 us/op 1.06
phase0 processRegistryUpdates - 250000 worstcase 0.5 128.92 ms/op 112.04 ms/op 1.15
altair processRewardsAndPenalties - 250000 normalcase 57.291 ms/op 64.931 ms/op 0.88
altair processRewardsAndPenalties - 250000 worstcase 53.290 ms/op 69.922 ms/op 0.76
phase0 getAttestationDeltas - 250000 normalcase 7.1726 ms/op 9.3365 ms/op 0.77
phase0 getAttestationDeltas - 250000 worstcase 7.1612 ms/op 7.2126 ms/op 0.99
phase0 processSlashings - 250000 worstcase 3.3993 ms/op 3.9329 ms/op 0.86
altair processSyncCommitteeUpdates - 250000 182.09 ms/op 196.25 ms/op 0.93
BeaconState.hashTreeRoot - No change 277.00 ns/op 301.00 ns/op 0.92
BeaconState.hashTreeRoot - 1 full validator 57.207 us/op 54.889 us/op 1.04
BeaconState.hashTreeRoot - 32 full validator 547.52 us/op 567.99 us/op 0.96
BeaconState.hashTreeRoot - 512 full validator 5.5221 ms/op 5.5610 ms/op 0.99
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 65.197 us/op 66.016 us/op 0.99
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 942.73 us/op 1.0342 ms/op 0.91
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 12.926 ms/op 12.983 ms/op 1.00
BeaconState.hashTreeRoot - 1 balances 53.684 us/op 52.538 us/op 1.02
BeaconState.hashTreeRoot - 32 balances 504.05 us/op 504.39 us/op 1.00
BeaconState.hashTreeRoot - 512 balances 5.0174 ms/op 4.5113 ms/op 1.11
BeaconState.hashTreeRoot - 250000 balances 81.971 ms/op 76.428 ms/op 1.07
aggregationBits - 2048 els - zipIndexesInBitList 17.163 us/op 19.541 us/op 0.88
regular array get 100000 times 33.248 us/op 34.227 us/op 0.97
wrappedArray get 100000 times 35.736 us/op 34.320 us/op 1.04
arrayWithProxy get 100000 times 15.674 ms/op 18.737 ms/op 0.84
ssz.Root.equals 572.00 ns/op 606.00 ns/op 0.94
byteArrayEquals 562.00 ns/op 607.00 ns/op 0.93
shuffle list - 16384 els 7.0330 ms/op 7.5681 ms/op 0.93
shuffle list - 250000 els 102.09 ms/op 109.07 ms/op 0.94
processSlot - 1 slots 9.2580 us/op 10.575 us/op 0.88
processSlot - 32 slots 1.5851 ms/op 1.5087 ms/op 1.05
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 35.801 ms/op 40.281 ms/op 0.89
getCommitteeAssignments - req 1 vs - 250000 vc 2.9724 ms/op 3.3873 ms/op 0.88
getCommitteeAssignments - req 100 vs - 250000 vc 4.2251 ms/op 4.7433 ms/op 0.89
getCommitteeAssignments - req 1000 vs - 250000 vc 4.5639 ms/op 5.1628 ms/op 0.88
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.3700 ns/op 5.8700 ns/op 0.91
state getBlockRootAtSlot - 250000 vs - 7PWei 812.08 ns/op 1.1918 us/op 0.68
computeProposers - vc 250000 11.278 ms/op 12.115 ms/op 0.93
computeEpochShuffling - vc 250000 107.63 ms/op 109.50 ms/op 0.98
getNextSyncCommittee - vc 250000 186.39 ms/op 198.08 ms/op 0.94
computeSigningRoot for AttestationData 14.508 us/op 14.754 us/op 0.98
hash AttestationData serialized data then Buffer.toString(base64) 2.5320 us/op 2.6448 us/op 0.96
toHexString serialized data 1.1655 us/op 1.1899 us/op 0.98
Buffer.toString(base64) 342.72 ns/op 375.61 ns/op 0.91

by benchmarkbot/action

@wemeetagain wemeetagain merged commit f9848b5 into unstable May 25, 2023
11 checks passed
@wemeetagain wemeetagain deleted the tuyen/gossip_block_validation_panels branch May 25, 2023 20:15
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.9.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.

None yet

3 participants