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

feat: add logs for builder validator registrations #5986

Merged
merged 4 commits into from
Sep 23, 2023

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Sep 23, 2023

Motivation

Closes #5337

Description

Adds logs for builder validator registrations. Especially on the validator client this should be logged to info as it helps to detect issues like rocket-pool/smartnode-install#105 earlier. On the beacon node side, I opted to keep it as debug for now and only log errors.

Note: For users that want more visibility on the beacon node, it is possible to set --logLevelModule="api=debug" flag. This will print out the debug log Forwarded validator registrations ... to stdout instead of just the log file.

What are other clients doing?

  • Nimbus
    • vc : no log
    • bn: no log
  • Lighthouse
    • vc: INFO Published validator registrations to the builder network, count: 10, service: preparation
    • bn: INFO Forwarding register validator request to connected builder, count: 9
  • Teku
    • vc: INFO - Validator *** 10 out of 10 validator registration(s) were successfully sent to the builder network via the Beacon Node.
    • bn: no log
  • Prysm
    • vc: level=info msg="Submitted builder validator registration settings for custom builders" prefix=validator
    • bn: no log

@nflaig nflaig requested a review from a team as a code owner September 23, 2023 12:41
@github-actions
Copy link
Contributor

github-actions bot commented Sep 23, 2023

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 6406100 Previous: 9618dd1 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 739.99 us/op 814.25 us/op 0.91
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 75.302 us/op 109.28 us/op 0.69
BLS verify - blst-native 1.2841 ms/op 1.3630 ms/op 0.94
BLS verifyMultipleSignatures 3 - blst-native 2.6862 ms/op 2.8415 ms/op 0.95
BLS verifyMultipleSignatures 8 - blst-native 5.9164 ms/op 6.2390 ms/op 0.95
BLS verifyMultipleSignatures 32 - blst-native 21.655 ms/op 22.847 ms/op 0.95
BLS verifyMultipleSignatures 64 - blst-native 42.652 ms/op 44.905 ms/op 0.95
BLS verifyMultipleSignatures 128 - blst-native 84.695 ms/op 88.396 ms/op 0.96
BLS deserializing 10000 signatures 848.18 ms/op 918.63 ms/op 0.92
BLS deserializing 100000 signatures 8.6897 s/op 9.1709 s/op 0.95
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.3359 ms/op 1.3601 ms/op 0.98
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.4760 ms/op 1.6123 ms/op 0.92
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.2755 ms/op 2.3412 ms/op 0.97
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.4963 ms/op 3.5001 ms/op 1.00
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.4909 ms/op 5.6960 ms/op 0.96
BLS aggregatePubkeys 32 - blst-native 25.206 us/op 26.000 us/op 0.97
BLS aggregatePubkeys 128 - blst-native 98.540 us/op 102.50 us/op 0.96
getAttestationsForBlock 36.321 ms/op 44.286 ms/op 0.82
isKnown best case - 1 super set check 268.00 ns/op 360.00 ns/op 0.74
isKnown normal case - 2 super set checks 256.00 ns/op 453.00 ns/op 0.57
isKnown worse case - 16 super set checks 261.00 ns/op 441.00 ns/op 0.59
CheckpointStateCache - add get delete 4.7200 us/op 5.6820 us/op 0.83
validate api signedAggregateAndProof - struct 2.7390 ms/op 2.8749 ms/op 0.95
validate gossip signedAggregateAndProof - struct 2.6657 ms/op 2.8623 ms/op 0.93
validate gossip attestation - vc 640000 1.3210 ms/op 1.3890 ms/op 0.95
batch validate gossip attestation - vc 640000 - chunk 32 154.53 us/op 173.12 us/op 0.89
batch validate gossip attestation - vc 640000 - chunk 64 135.55 us/op 150.93 us/op 0.90
batch validate gossip attestation - vc 640000 - chunk 128 128.37 us/op 140.69 us/op 0.91
batch validate gossip attestation - vc 640000 - chunk 256 125.41 us/op 142.18 us/op 0.88
pickEth1Vote - no votes 1.1373 ms/op 1.5193 ms/op 0.75
pickEth1Vote - max votes 10.695 ms/op 11.269 ms/op 0.95
pickEth1Vote - Eth1Data hashTreeRoot value x2048 19.507 ms/op 19.651 ms/op 0.99
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 26.720 ms/op 30.533 ms/op 0.88
pickEth1Vote - Eth1Data fastSerialize value x2048 551.17 us/op 680.83 us/op 0.81
pickEth1Vote - Eth1Data fastSerialize tree x2048 7.2202 ms/op 7.3031 ms/op 0.99
bytes32 toHexString 459.00 ns/op 603.00 ns/op 0.76
bytes32 Buffer.toString(hex) 279.00 ns/op 319.00 ns/op 0.87
bytes32 Buffer.toString(hex) from Uint8Array 419.00 ns/op 531.00 ns/op 0.79
bytes32 Buffer.toString(hex) + 0x 281.00 ns/op 341.00 ns/op 0.82
Object access 1 prop 0.15600 ns/op 0.20800 ns/op 0.75
Map access 1 prop 0.14300 ns/op 0.17300 ns/op 0.83
Object get x1000 7.1600 ns/op 9.4670 ns/op 0.76
Map get x1000 0.59700 ns/op 0.79500 ns/op 0.75
Object set x1000 47.849 ns/op 65.441 ns/op 0.73
Map set x1000 37.391 ns/op 48.273 ns/op 0.77
Return object 10000 times 0.23250 ns/op 0.26940 ns/op 0.86
Throw Error 10000 times 3.6805 us/op 3.9723 us/op 0.93
fastMsgIdFn sha256 / 200 bytes 3.2260 us/op 3.4790 us/op 0.93
fastMsgIdFn h32 xxhash / 200 bytes 258.00 ns/op 320.00 ns/op 0.81
fastMsgIdFn h64 xxhash / 200 bytes 331.00 ns/op 379.00 ns/op 0.87
fastMsgIdFn sha256 / 1000 bytes 11.243 us/op 12.141 us/op 0.93
fastMsgIdFn h32 xxhash / 1000 bytes 385.00 ns/op 492.00 ns/op 0.78
fastMsgIdFn h64 xxhash / 1000 bytes 402.00 ns/op 465.00 ns/op 0.86
fastMsgIdFn sha256 / 10000 bytes 103.06 us/op 107.88 us/op 0.96
fastMsgIdFn h32 xxhash / 10000 bytes 1.8550 us/op 2.0480 us/op 0.91
fastMsgIdFn h64 xxhash / 10000 bytes 1.2670 us/op 1.4360 us/op 0.88
send data - 1000 256B messages 17.917 ms/op 19.762 ms/op 0.91
send data - 1000 512B messages 24.826 ms/op 28.649 ms/op 0.87
send data - 1000 1024B messages 39.076 ms/op 43.309 ms/op 0.90
send data - 1000 1200B messages 26.697 ms/op 33.923 ms/op 0.79
send data - 1000 2048B messages 29.191 ms/op 37.596 ms/op 0.78
send data - 1000 4096B messages 30.736 ms/op 33.552 ms/op 0.92
send data - 1000 16384B messages 71.817 ms/op 82.468 ms/op 0.87
send data - 1000 65536B messages 270.03 ms/op 297.83 ms/op 0.91
enrSubnets - fastDeserialize 64 bits 1.1550 us/op 1.3360 us/op 0.86
enrSubnets - ssz BitVector 64 bits 392.00 ns/op 457.00 ns/op 0.86
enrSubnets - fastDeserialize 4 bits 156.00 ns/op 177.00 ns/op 0.88
enrSubnets - ssz BitVector 4 bits 390.00 ns/op 502.00 ns/op 0.78
prioritizePeers score -10:0 att 32-0.1 sync 2-0 94.206 us/op 110.17 us/op 0.86
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 120.18 us/op 137.54 us/op 0.87
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 153.68 us/op 182.31 us/op 0.84
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 274.63 us/op 323.17 us/op 0.85
prioritizePeers score 0:0 att 64-1 sync 4-1 325.55 us/op 384.16 us/op 0.85
array of 16000 items push then shift 1.5603 us/op 1.8330 us/op 0.85
LinkedList of 16000 items push then shift 8.7330 ns/op 11.870 ns/op 0.74
array of 16000 items push then pop 65.435 ns/op 105.38 ns/op 0.62
LinkedList of 16000 items push then pop 8.5150 ns/op 10.157 ns/op 0.84
array of 24000 items push then shift 2.3199 us/op 2.8087 us/op 0.83
LinkedList of 24000 items push then shift 8.7380 ns/op 11.516 ns/op 0.76
array of 24000 items push then pop 74.812 ns/op 148.30 ns/op 0.50
LinkedList of 24000 items push then pop 8.2630 ns/op 9.9900 ns/op 0.83
intersect bitArray bitLen 8 6.6950 ns/op 7.2940 ns/op 0.92
intersect array and set length 8 53.222 ns/op 77.285 ns/op 0.69
intersect bitArray bitLen 128 36.828 ns/op 33.956 ns/op 1.08
intersect array and set length 128 728.89 ns/op 990.58 ns/op 0.74
bitArray.getTrueBitIndexes() bitLen 128 1.4090 us/op 1.8710 us/op 0.75
bitArray.getTrueBitIndexes() bitLen 248 2.4010 us/op 3.0380 us/op 0.79
bitArray.getTrueBitIndexes() bitLen 512 4.5500 us/op 6.3670 us/op 0.71
Buffer.concat 32 items 893.00 ns/op 1.1200 us/op 0.80
Uint8Array.set 32 items 1.9280 us/op 2.1630 us/op 0.89
Set add up to 64 items then delete first 4.1718 us/op 4.9342 us/op 0.85
OrderedSet add up to 64 items then delete first 5.2999 us/op 6.4115 us/op 0.83
Set add up to 64 items then delete last 4.4822 us/op 5.2377 us/op 0.86
OrderedSet add up to 64 items then delete last 5.6289 us/op 6.8059 us/op 0.83
Set add up to 64 items then delete middle 4.4693 us/op 5.2434 us/op 0.85
OrderedSet add up to 64 items then delete middle 6.8031 us/op 8.2281 us/op 0.83
Set add up to 128 items then delete first 9.1106 us/op 10.718 us/op 0.85
OrderedSet add up to 128 items then delete first 12.239 us/op 14.845 us/op 0.82
Set add up to 128 items then delete last 9.3947 us/op 10.670 us/op 0.88
OrderedSet add up to 128 items then delete last 11.778 us/op 13.819 us/op 0.85
Set add up to 128 items then delete middle 9.3893 us/op 10.516 us/op 0.89
OrderedSet add up to 128 items then delete middle 16.934 us/op 19.381 us/op 0.87
Set add up to 256 items then delete first 18.020 us/op 21.584 us/op 0.83
OrderedSet add up to 256 items then delete first 25.246 us/op 29.386 us/op 0.86
Set add up to 256 items then delete last 18.822 us/op 20.613 us/op 0.91
OrderedSet add up to 256 items then delete last 23.477 us/op 25.892 us/op 0.91
Set add up to 256 items then delete middle 19.444 us/op 20.589 us/op 0.94
OrderedSet add up to 256 items then delete middle 45.851 us/op 51.636 us/op 0.89
transfer serialized Status (84 B) 1.7470 us/op 1.8740 us/op 0.93
copy serialized Status (84 B) 1.4330 us/op 1.5680 us/op 0.91
transfer serialized SignedVoluntaryExit (112 B) 1.8870 us/op 2.1800 us/op 0.87
copy serialized SignedVoluntaryExit (112 B) 1.5100 us/op 1.7150 us/op 0.88
transfer serialized ProposerSlashing (416 B) 2.6090 us/op 3.1160 us/op 0.84
copy serialized ProposerSlashing (416 B) 2.4160 us/op 2.4560 us/op 0.98
transfer serialized Attestation (485 B) 2.6180 us/op 2.3640 us/op 1.11
copy serialized Attestation (485 B) 2.8940 us/op 2.0840 us/op 1.39
transfer serialized AttesterSlashing (33232 B) 2.9780 us/op 2.2330 us/op 1.33
copy serialized AttesterSlashing (33232 B) 5.6220 us/op 5.8190 us/op 0.97
transfer serialized Small SignedBeaconBlock (128000 B) 3.1330 us/op 2.5800 us/op 1.21
copy serialized Small SignedBeaconBlock (128000 B) 12.576 us/op 14.904 us/op 0.84
transfer serialized Avg SignedBeaconBlock (200000 B) 3.2800 us/op 2.9530 us/op 1.11
copy serialized Avg SignedBeaconBlock (200000 B) 17.792 us/op 20.919 us/op 0.85
transfer serialized BlobsSidecar (524380 B) 3.1320 us/op 2.7180 us/op 1.15
copy serialized BlobsSidecar (524380 B) 112.22 us/op 86.580 us/op 1.30
transfer serialized Big SignedBeaconBlock (1000000 B) 3.2700 us/op 2.9480 us/op 1.11
copy serialized Big SignedBeaconBlock (1000000 B) 194.40 us/op 155.85 us/op 1.25
pass gossip attestations to forkchoice per slot 3.7739 ms/op 3.9264 ms/op 0.96
forkChoice updateHead vc 100000 bc 64 eq 0 657.21 us/op 704.12 us/op 0.93
forkChoice updateHead vc 600000 bc 64 eq 0 5.1617 ms/op 5.4246 ms/op 0.95
forkChoice updateHead vc 1000000 bc 64 eq 0 7.1259 ms/op 7.4188 ms/op 0.96
forkChoice updateHead vc 600000 bc 320 eq 0 4.1035 ms/op 4.3828 ms/op 0.94
forkChoice updateHead vc 600000 bc 1200 eq 0 4.2899 ms/op 4.4126 ms/op 0.97
forkChoice updateHead vc 600000 bc 7200 eq 0 5.4108 ms/op 5.2476 ms/op 1.03
forkChoice updateHead vc 600000 bc 64 eq 1000 10.779 ms/op 11.350 ms/op 0.95
forkChoice updateHead vc 600000 bc 64 eq 10000 11.550 ms/op 12.399 ms/op 0.93
forkChoice updateHead vc 600000 bc 64 eq 300000 15.371 ms/op 16.835 ms/op 0.91
computeDeltas 500000 validators 300 proto nodes 6.3826 ms/op 6.3579 ms/op 1.00
computeDeltas 500000 validators 1200 proto nodes 6.1256 ms/op 6.3056 ms/op 0.97
computeDeltas 500000 validators 7200 proto nodes 6.1166 ms/op 6.2615 ms/op 0.98
computeDeltas 750000 validators 300 proto nodes 9.2666 ms/op 9.4485 ms/op 0.98
computeDeltas 750000 validators 1200 proto nodes 9.2090 ms/op 9.4529 ms/op 0.97
computeDeltas 750000 validators 7200 proto nodes 9.1573 ms/op 9.5841 ms/op 0.96
computeDeltas 1400000 validators 300 proto nodes 17.364 ms/op 18.846 ms/op 0.92
computeDeltas 1400000 validators 1200 proto nodes 17.496 ms/op 24.066 ms/op 0.73
computeDeltas 1400000 validators 7200 proto nodes 17.570 ms/op 18.752 ms/op 0.94
computeDeltas 2100000 validators 300 proto nodes 25.993 ms/op 30.066 ms/op 0.86
computeDeltas 2100000 validators 1200 proto nodes 26.005 ms/op 32.135 ms/op 0.81
computeDeltas 2100000 validators 7200 proto nodes 25.931 ms/op 32.038 ms/op 0.81
computeProposerBoostScoreFromBalances 500000 validators 3.2140 ms/op 4.2541 ms/op 0.76
computeProposerBoostScoreFromBalances 750000 validators 3.2116 ms/op 4.1316 ms/op 0.78
computeProposerBoostScoreFromBalances 1400000 validators 3.2074 ms/op 4.1514 ms/op 0.77
computeProposerBoostScoreFromBalances 2100000 validators 3.2115 ms/op 4.1921 ms/op 0.77
altair processAttestation - 250000 vs - 7PWei normalcase 2.3134 ms/op 4.5945 ms/op 0.50
altair processAttestation - 250000 vs - 7PWei worstcase 2.9026 ms/op 5.9816 ms/op 0.49
altair processAttestation - setStatus - 1/6 committees join 187.49 us/op 290.31 us/op 0.65
altair processAttestation - setStatus - 1/3 committees join 367.19 us/op 538.54 us/op 0.68
altair processAttestation - setStatus - 1/2 committees join 492.48 us/op 742.67 us/op 0.66
altair processAttestation - setStatus - 2/3 committees join 636.67 us/op 1.0453 ms/op 0.61
altair processAttestation - setStatus - 4/5 committees join 818.81 us/op 1.5646 ms/op 0.52
altair processAttestation - setStatus - 100% committees join 980.52 us/op 1.7582 ms/op 0.56
altair processBlock - 250000 vs - 7PWei normalcase 6.8125 ms/op 11.524 ms/op 0.59
altair processBlock - 250000 vs - 7PWei normalcase hashState 29.969 ms/op 50.702 ms/op 0.59
altair processBlock - 250000 vs - 7PWei worstcase 35.505 ms/op 51.292 ms/op 0.69
altair processBlock - 250000 vs - 7PWei worstcase hashState 88.334 ms/op 126.50 ms/op 0.70
phase0 processBlock - 250000 vs - 7PWei normalcase 2.5005 ms/op 3.9418 ms/op 0.63
phase0 processBlock - 250000 vs - 7PWei worstcase 29.572 ms/op 41.416 ms/op 0.71
altair processEth1Data - 250000 vs - 7PWei normalcase 477.68 us/op 806.05 us/op 0.59
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 10.857 us/op 25.822 us/op 0.42
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 51.147 us/op 88.959 us/op 0.57
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 15.902 us/op 28.374 us/op 0.56
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 10.146 us/op 24.124 us/op 0.42
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 129.72 us/op 226.39 us/op 0.57
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.0264 ms/op 2.2306 ms/op 0.46
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.4974 ms/op 2.4064 ms/op 0.62
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.4575 ms/op 2.4304 ms/op 0.60
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.4279 ms/op 5.9644 ms/op 0.57
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.2036 ms/op 4.2178 ms/op 0.52
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.1035 ms/op 10.601 ms/op 0.48
Tree 40 250000 create 307.81 ms/op 790.76 ms/op 0.39
Tree 40 250000 get(125000) 188.94 ns/op 250.28 ns/op 0.75
Tree 40 250000 set(125000) 889.53 ns/op 2.5086 us/op 0.35
Tree 40 250000 toArray() 16.620 ms/op 39.627 ms/op 0.42
Tree 40 250000 iterate all - toArray() + loop 16.943 ms/op 32.710 ms/op 0.52
Tree 40 250000 iterate all - get(i) 65.304 ms/op 87.468 ms/op 0.75
MutableVector 250000 create 11.582 ms/op 21.337 ms/op 0.54
MutableVector 250000 get(125000) 6.1860 ns/op 7.6050 ns/op 0.81
MutableVector 250000 set(125000) 247.58 ns/op 496.28 ns/op 0.50
MutableVector 250000 toArray() 2.9194 ms/op 5.3180 ms/op 0.55
MutableVector 250000 iterate all - toArray() + loop 2.6257 ms/op 4.9952 ms/op 0.53
MutableVector 250000 iterate all - get(i) 1.5100 ms/op 1.8371 ms/op 0.82
Array 250000 create 2.6774 ms/op 4.5527 ms/op 0.59
Array 250000 clone - spread 915.86 us/op 1.7392 ms/op 0.53
Array 250000 get(125000) 0.45400 ns/op 1.0610 ns/op 0.43
Array 250000 set(125000) 0.53000 ns/op 1.1780 ns/op 0.45
Array 250000 iterate all - loop 78.257 us/op 95.757 us/op 0.82
effectiveBalanceIncrements clone Uint8Array 300000 19.249 us/op 57.477 us/op 0.33
effectiveBalanceIncrements clone MutableVector 300000 240.00 ns/op 455.00 ns/op 0.53
effectiveBalanceIncrements rw all Uint8Array 300000 170.17 us/op 198.32 us/op 0.86
effectiveBalanceIncrements rw all MutableVector 300000 71.824 ms/op 163.85 ms/op 0.44
phase0 afterProcessEpoch - 250000 vs - 7PWei 110.79 ms/op 143.48 ms/op 0.77
phase0 beforeProcessEpoch - 250000 vs - 7PWei 30.709 ms/op 59.538 ms/op 0.52
altair processEpoch - mainnet_e81889 424.95 ms/op 665.07 ms/op 0.64
mainnet_e81889 - altair beforeProcessEpoch 58.574 ms/op 108.50 ms/op 0.54
mainnet_e81889 - altair processJustificationAndFinalization 14.619 us/op 34.756 us/op 0.42
mainnet_e81889 - altair processInactivityUpdates 6.3809 ms/op 14.014 ms/op 0.46
mainnet_e81889 - altair processRewardsAndPenalties 54.531 ms/op 87.327 ms/op 0.62
mainnet_e81889 - altair processRegistryUpdates 2.1240 us/op 8.5140 us/op 0.25
mainnet_e81889 - altair processSlashings 545.00 ns/op 1.4210 us/op 0.38
mainnet_e81889 - altair processEth1DataReset 512.00 ns/op 1.3370 us/op 0.38
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.1712 ms/op 1.8430 ms/op 0.64
mainnet_e81889 - altair processSlashingsReset 2.7210 us/op 9.3710 us/op 0.29
mainnet_e81889 - altair processRandaoMixesReset 4.0700 us/op 11.288 us/op 0.36
mainnet_e81889 - altair processHistoricalRootsUpdate 1.0030 us/op 1.8550 us/op 0.54
mainnet_e81889 - altair processParticipationFlagUpdates 1.8400 us/op 6.2810 us/op 0.29
mainnet_e81889 - altair processSyncCommitteeUpdates 583.00 ns/op 2.0950 us/op 0.28
mainnet_e81889 - altair afterProcessEpoch 121.27 ms/op 165.05 ms/op 0.73
capella processEpoch - mainnet_e217614 1.4186 s/op 2.0508 s/op 0.69
mainnet_e217614 - capella beforeProcessEpoch 212.33 ms/op 351.50 ms/op 0.60
mainnet_e217614 - capella processJustificationAndFinalization 12.475 us/op 33.460 us/op 0.37
mainnet_e217614 - capella processInactivityUpdates 20.435 ms/op 34.725 ms/op 0.59
mainnet_e217614 - capella processRewardsAndPenalties 253.39 ms/op 357.13 ms/op 0.71
mainnet_e217614 - capella processRegistryUpdates 20.609 us/op 39.240 us/op 0.53
mainnet_e217614 - capella processSlashings 529.00 ns/op 1.6660 us/op 0.32
mainnet_e217614 - capella processEth1DataReset 603.00 ns/op 1.3560 us/op 0.44
mainnet_e217614 - capella processEffectiveBalanceUpdates 3.9580 ms/op 6.1357 ms/op 0.65
mainnet_e217614 - capella processSlashingsReset 2.6570 us/op 8.8380 us/op 0.30
mainnet_e217614 - capella processRandaoMixesReset 3.9520 us/op 11.478 us/op 0.34
mainnet_e217614 - capella processHistoricalRootsUpdate 689.00 ns/op 1.6760 us/op 0.41
mainnet_e217614 - capella processParticipationFlagUpdates 1.8870 us/op 7.2050 us/op 0.26
mainnet_e217614 - capella afterProcessEpoch 291.17 ms/op 421.97 ms/op 0.69
phase0 processEpoch - mainnet_e58758 444.35 ms/op 691.03 ms/op 0.64
mainnet_e58758 - phase0 beforeProcessEpoch 130.99 ms/op 199.65 ms/op 0.66
mainnet_e58758 - phase0 processJustificationAndFinalization 14.120 us/op 34.067 us/op 0.41
mainnet_e58758 - phase0 processRewardsAndPenalties 60.697 ms/op 58.271 ms/op 1.04
mainnet_e58758 - phase0 processRegistryUpdates 9.8250 us/op 23.074 us/op 0.43
mainnet_e58758 - phase0 processSlashings 559.00 ns/op 1.5250 us/op 0.37
mainnet_e58758 - phase0 processEth1DataReset 469.00 ns/op 1.3960 us/op 0.34
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 989.59 us/op 1.8898 ms/op 0.52
mainnet_e58758 - phase0 processSlashingsReset 2.5370 us/op 6.6700 us/op 0.38
mainnet_e58758 - phase0 processRandaoMixesReset 3.9110 us/op 11.969 us/op 0.33
mainnet_e58758 - phase0 processHistoricalRootsUpdate 455.00 ns/op 1.3700 us/op 0.33
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.5040 us/op 13.241 us/op 0.26
mainnet_e58758 - phase0 afterProcessEpoch 99.001 ms/op 146.46 ms/op 0.68
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.1522 ms/op 2.2265 ms/op 0.52
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4081 ms/op 2.1124 ms/op 0.67
altair processInactivityUpdates - 250000 normalcase 19.139 ms/op 31.877 ms/op 0.60
altair processInactivityUpdates - 250000 worstcase 17.443 ms/op 35.846 ms/op 0.49
phase0 processRegistryUpdates - 250000 normalcase 8.6030 us/op 25.659 us/op 0.34
phase0 processRegistryUpdates - 250000 badcase_full_deposits 297.58 us/op 540.09 us/op 0.55
phase0 processRegistryUpdates - 250000 worstcase 0.5 133.90 ms/op 260.53 ms/op 0.51
altair processRewardsAndPenalties - 250000 normalcase 64.262 ms/op 63.438 ms/op 1.01
altair processRewardsAndPenalties - 250000 worstcase 63.659 ms/op 78.232 ms/op 0.81
phase0 getAttestationDeltas - 250000 normalcase 7.6892 ms/op 12.105 ms/op 0.64
phase0 getAttestationDeltas - 250000 worstcase 7.5034 ms/op 13.690 ms/op 0.55
phase0 processSlashings - 250000 worstcase 2.3014 ms/op 3.9747 ms/op 0.58
altair processSyncCommitteeUpdates - 250000 145.51 ms/op 232.80 ms/op 0.63
BeaconState.hashTreeRoot - No change 314.00 ns/op 483.00 ns/op 0.65
BeaconState.hashTreeRoot - 1 full validator 127.69 us/op 236.32 us/op 0.54
BeaconState.hashTreeRoot - 32 full validator 1.4851 ms/op 2.7098 ms/op 0.55
BeaconState.hashTreeRoot - 512 full validator 14.668 ms/op 24.159 ms/op 0.61
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 165.46 us/op 242.92 us/op 0.68
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.1519 ms/op 3.2249 ms/op 0.67
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 29.066 ms/op 43.732 ms/op 0.66
BeaconState.hashTreeRoot - 1 balances 132.98 us/op 189.85 us/op 0.70
BeaconState.hashTreeRoot - 32 balances 1.3180 ms/op 1.7412 ms/op 0.76
BeaconState.hashTreeRoot - 512 balances 11.958 ms/op 19.888 ms/op 0.60
BeaconState.hashTreeRoot - 250000 balances 209.27 ms/op 315.34 ms/op 0.66
aggregationBits - 2048 els - zipIndexesInBitList 13.789 us/op 43.688 us/op 0.32
regular array get 100000 times 43.606 us/op 70.874 us/op 0.62
wrappedArray get 100000 times 42.893 us/op 71.376 us/op 0.60
arrayWithProxy get 100000 times 14.294 ms/op 18.318 ms/op 0.78
ssz.Root.equals 209.00 ns/op 355.00 ns/op 0.59
byteArrayEquals 210.00 ns/op 339.00 ns/op 0.62
shuffle list - 16384 els 6.8338 ms/op 8.5713 ms/op 0.80
shuffle list - 250000 els 100.26 ms/op 127.44 ms/op 0.79
processSlot - 1 slots 15.477 us/op 23.731 us/op 0.65
processSlot - 32 slots 3.2415 ms/op 4.9891 ms/op 0.65
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 54.990 ms/op 64.586 ms/op 0.85
getCommitteeAssignments - req 1 vs - 250000 vc 2.4343 ms/op 2.9018 ms/op 0.84
getCommitteeAssignments - req 100 vs - 250000 vc 3.5939 ms/op 4.2675 ms/op 0.84
getCommitteeAssignments - req 1000 vs - 250000 vc 3.9101 ms/op 5.1379 ms/op 0.76
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.4400 ns/op 6.8300 ns/op 0.65
state getBlockRootAtSlot - 250000 vs - 7PWei 766.68 ns/op 720.37 ns/op 1.06
computeProposers - vc 250000 9.2359 ms/op 10.264 ms/op 0.90
computeEpochShuffling - vc 250000 103.25 ms/op 120.93 ms/op 0.85
getNextSyncCommittee - vc 250000 148.91 ms/op 177.55 ms/op 0.84
computeSigningRoot for AttestationData 24.652 us/op 31.778 us/op 0.78
hash AttestationData serialized data then Buffer.toString(base64) 2.2586 us/op 2.7157 us/op 0.83
toHexString serialized data 1.0729 us/op 2.0674 us/op 0.52
Buffer.toString(base64) 212.11 ns/op 305.32 ns/op 0.69

by benchmarkbot/action

@@ -816,6 +816,10 @@ export function getValidatorApi({
},

async registerValidator(registrations) {
if (!chain.executionBuilder) {
Copy link
Member Author

Choose a reason for hiding this comment

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

This API will now throw an error if a validator client tries to register validators and the beacon node does not have --builder flag set. This is quite important in my opinion as current behavior is that this API just succeeds without actually registering validators with the builder. Without this check, the earliest we would detect a missing builder configuration on the beacon node would be when trying to produce a blinded block.

@wemeetagain wemeetagain merged commit 0f74435 into unstable Sep 23, 2023
@wemeetagain wemeetagain deleted the nflaig/builder-registration-logs branch September 23, 2023 19:31
@wemeetagain
Copy link
Member

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

Log in BN when VC is registered with builder/mev-boost
2 participants