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 option to log validator monitor events as info #6009

Merged
merged 1 commit into from
Sep 29, 2023

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Sep 29, 2023

Motivation

Closes #5336

Description

Adds new CLI flag --validatorMonitorLogs to log validator monitor events as info.

  • simplified / cleaned up existing logs
  • added logs for previous epoch attestation and block proposal summary

Note: This requires metrics to be enabled as currently the validator monitor is tightly coupled to metrics. I looked into decoupling those but it seemed too big of a change just for this feature.

Alternative solution

Instead of adding a new CLI flag to achieve this it would also be possible to set --logLevelModule="vmon=debug". This would log all validator monitor events to stdout as well but it is less explicit and harder to communicate to users that this option exists.

Example logs

info: Published unaggregated attestation validator=461942, slot=6618672, committeeIndex=12, subnet=12, sentPeers=6, delaySec=0.0100

info: Published aggregated attestation validator=461942, slot=6618672, committeeIndex=12, sentPeers=45, delaySec=0.0260

info: Attestation is included in aggregate validator=461942, slot=6618672, committeeIndex=12, aggregatorIndex=86682

info: Attestation is included in block validator=461942, slot=6618672, committeeIndex=12, inclusionDistance=1, correctHead=true, participants=189

info: Previous epoch attestation validator=461942, epoch=206832, summary=timely_head


info: Published unaggregated attestation validator=504990, slot=6618658, committeeIndex=23, subnet=23, sentPeers=7, delaySec=0.0140

info: Failed attestation in previous epoch validator=504990, prevEpoch=206833, isPrevSourceAttester=false, isPrevHeadAttester=false, isPrevTargetAttester=false, inclusionDistance=null

info: Previous epoch attestation validator=504990, epoch=206833, summary=no_aggregate_inclusion


info: Previous epoch block proposal validator=462345, slot=6622259, epoch=206945, summary=canonical

@nflaig nflaig requested a review from a team as a code owner September 29, 2023 08:53
@github-actions
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: b58fb97 Previous: 1397834 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 734.69 us/op 828.51 us/op 0.89
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 98.282 us/op 128.68 us/op 0.76
BLS verify - blst-native 1.4050 ms/op 1.5866 ms/op 0.89
BLS verifyMultipleSignatures 3 - blst-native 2.9665 ms/op 3.0682 ms/op 0.97
BLS verifyMultipleSignatures 8 - blst-native 6.2974 ms/op 6.7124 ms/op 0.94
BLS verifyMultipleSignatures 32 - blst-native 24.062 ms/op 23.545 ms/op 1.02
BLS verifyMultipleSignatures 64 - blst-native 45.865 ms/op 45.354 ms/op 1.01
BLS verifyMultipleSignatures 128 - blst-native 93.877 ms/op 95.974 ms/op 0.98
BLS deserializing 10000 signatures 967.20 ms/op 946.52 ms/op 1.02
BLS deserializing 100000 signatures 9.5976 s/op 9.7745 s/op 0.98
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.4078 ms/op 1.5306 ms/op 0.92
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.5738 ms/op 1.6814 ms/op 0.94
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.4880 ms/op 2.7240 ms/op 0.91
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.6265 ms/op 3.8760 ms/op 0.94
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.9201 ms/op 6.9272 ms/op 0.85
BLS aggregatePubkeys 32 - blst-native 27.448 us/op 30.980 us/op 0.89
BLS aggregatePubkeys 128 - blst-native 108.36 us/op 115.05 us/op 0.94
getAttestationsForBlock 50.012 ms/op 105.10 ms/op 0.48
isKnown best case - 1 super set check 452.00 ns/op 1.0820 us/op 0.42
isKnown normal case - 2 super set checks 439.00 ns/op 944.00 ns/op 0.47
isKnown worse case - 16 super set checks 469.00 ns/op 923.00 ns/op 0.51
CheckpointStateCache - add get delete 6.4210 us/op 10.801 us/op 0.59
validate api signedAggregateAndProof - struct 2.9859 ms/op 3.4226 ms/op 0.87
validate gossip signedAggregateAndProof - struct 3.0003 ms/op 3.3552 ms/op 0.89
validate gossip attestation - vc 640000 1.4732 ms/op 1.5228 ms/op 0.97
batch validate gossip attestation - vc 640000 - chunk 32 187.16 us/op 221.22 us/op 0.85
batch validate gossip attestation - vc 640000 - chunk 64 151.64 us/op 183.34 us/op 0.83
batch validate gossip attestation - vc 640000 - chunk 128 133.58 us/op 165.57 us/op 0.81
batch validate gossip attestation - vc 640000 - chunk 256 129.52 us/op 144.67 us/op 0.90
pickEth1Vote - no votes 1.1732 ms/op 1.3427 ms/op 0.87
pickEth1Vote - max votes 9.7562 ms/op 10.995 ms/op 0.89
pickEth1Vote - Eth1Data hashTreeRoot value x2048 16.302 ms/op 18.569 ms/op 0.88
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 22.917 ms/op 27.534 ms/op 0.83
pickEth1Vote - Eth1Data fastSerialize value x2048 597.65 us/op 691.28 us/op 0.86
pickEth1Vote - Eth1Data fastSerialize tree x2048 7.3514 ms/op 8.2330 ms/op 0.89
bytes32 toHexString 511.00 ns/op 631.00 ns/op 0.81
bytes32 Buffer.toString(hex) 305.00 ns/op 310.00 ns/op 0.98
bytes32 Buffer.toString(hex) from Uint8Array 498.00 ns/op 555.00 ns/op 0.90
bytes32 Buffer.toString(hex) + 0x 306.00 ns/op 326.00 ns/op 0.94
Object access 1 prop 0.17600 ns/op 0.20600 ns/op 0.85
Map access 1 prop 0.15300 ns/op 0.15400 ns/op 0.99
Object get x1000 7.4460 ns/op 7.9840 ns/op 0.93
Map get x1000 0.61600 ns/op 0.67400 ns/op 0.91
Object set x1000 51.339 ns/op 65.025 ns/op 0.79
Map set x1000 41.288 ns/op 49.129 ns/op 0.84
Return object 10000 times 0.23720 ns/op 0.25030 ns/op 0.95
Throw Error 10000 times 3.8301 us/op 3.9370 us/op 0.97
fastMsgIdFn sha256 / 200 bytes 3.2780 us/op 3.4240 us/op 0.96
fastMsgIdFn h32 xxhash / 200 bytes 264.00 ns/op 325.00 ns/op 0.81
fastMsgIdFn h64 xxhash / 200 bytes 325.00 ns/op 378.00 ns/op 0.86
fastMsgIdFn sha256 / 1000 bytes 11.414 us/op 11.672 us/op 0.98
fastMsgIdFn h32 xxhash / 1000 bytes 402.00 ns/op 454.00 ns/op 0.89
fastMsgIdFn h64 xxhash / 1000 bytes 410.00 ns/op 450.00 ns/op 0.91
fastMsgIdFn sha256 / 10000 bytes 104.56 us/op 106.62 us/op 0.98
fastMsgIdFn h32 xxhash / 10000 bytes 1.9530 us/op 2.0450 us/op 0.96
fastMsgIdFn h64 xxhash / 10000 bytes 1.3300 us/op 1.4150 us/op 0.94
send data - 1000 256B messages 19.673 ms/op 21.634 ms/op 0.91
send data - 1000 512B messages 26.439 ms/op 29.872 ms/op 0.89
send data - 1000 1024B messages 40.675 ms/op 45.085 ms/op 0.90
send data - 1000 1200B messages 27.998 ms/op 34.476 ms/op 0.81
send data - 1000 2048B messages 28.969 ms/op 39.902 ms/op 0.73
send data - 1000 4096B messages 25.511 ms/op 39.309 ms/op 0.65
send data - 1000 16384B messages 73.864 ms/op 80.061 ms/op 0.92
send data - 1000 65536B messages 259.05 ms/op 297.29 ms/op 0.87
enrSubnets - fastDeserialize 64 bits 1.2070 us/op 1.3630 us/op 0.89
enrSubnets - ssz BitVector 64 bits 408.00 ns/op 483.00 ns/op 0.84
enrSubnets - fastDeserialize 4 bits 168.00 ns/op 194.00 ns/op 0.87
enrSubnets - ssz BitVector 4 bits 408.00 ns/op 457.00 ns/op 0.89
prioritizePeers score -10:0 att 32-0.1 sync 2-0 104.35 us/op 114.67 us/op 0.91
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 125.69 us/op 139.84 us/op 0.90
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 159.53 us/op 194.59 us/op 0.82
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 281.98 us/op 341.80 us/op 0.82
prioritizePeers score 0:0 att 64-1 sync 4-1 324.92 us/op 372.49 us/op 0.87
array of 16000 items push then shift 1.5562 us/op 1.7216 us/op 0.90
LinkedList of 16000 items push then shift 8.8230 ns/op 10.233 ns/op 0.86
array of 16000 items push then pop 77.499 ns/op 112.72 ns/op 0.69
LinkedList of 16000 items push then pop 8.6820 ns/op 9.7800 ns/op 0.89
array of 24000 items push then shift 2.3332 us/op 2.4651 us/op 0.95
LinkedList of 24000 items push then shift 8.7020 ns/op 10.731 ns/op 0.81
array of 24000 items push then pop 93.010 ns/op 167.62 ns/op 0.55
LinkedList of 24000 items push then pop 8.3890 ns/op 10.111 ns/op 0.83
intersect bitArray bitLen 8 6.5840 ns/op 6.8320 ns/op 0.96
intersect array and set length 8 52.382 ns/op 72.088 ns/op 0.73
intersect bitArray bitLen 128 31.035 ns/op 33.380 ns/op 0.93
intersect array and set length 128 721.71 ns/op 950.42 ns/op 0.76
bitArray.getTrueBitIndexes() bitLen 128 1.3920 us/op 1.7040 us/op 0.82
bitArray.getTrueBitIndexes() bitLen 248 2.3300 us/op 3.0530 us/op 0.76
bitArray.getTrueBitIndexes() bitLen 512 4.4070 us/op 6.2470 us/op 0.71
Buffer.concat 32 items 901.00 ns/op 1.0450 us/op 0.86
Uint8Array.set 32 items 1.6770 us/op 2.0830 us/op 0.81
Set add up to 64 items then delete first 4.4545 us/op 4.7453 us/op 0.94
OrderedSet add up to 64 items then delete first 5.1538 us/op 6.0750 us/op 0.85
Set add up to 64 items then delete last 4.6726 us/op 5.1108 us/op 0.91
OrderedSet add up to 64 items then delete last 5.5042 us/op 5.8796 us/op 0.94
Set add up to 64 items then delete middle 4.6522 us/op 4.9476 us/op 0.94
OrderedSet add up to 64 items then delete middle 6.8079 us/op 7.6051 us/op 0.90
Set add up to 128 items then delete first 9.5740 us/op 10.356 us/op 0.92
OrderedSet add up to 128 items then delete first 12.196 us/op 13.891 us/op 0.88
Set add up to 128 items then delete last 9.2365 us/op 10.195 us/op 0.91
OrderedSet add up to 128 items then delete last 11.289 us/op 13.721 us/op 0.82
Set add up to 128 items then delete middle 9.2523 us/op 10.188 us/op 0.91
OrderedSet add up to 128 items then delete middle 16.463 us/op 18.833 us/op 0.87
Set add up to 256 items then delete first 19.409 us/op 20.752 us/op 0.94
OrderedSet add up to 256 items then delete first 24.901 us/op 27.985 us/op 0.89
Set add up to 256 items then delete last 18.382 us/op 20.300 us/op 0.91
OrderedSet add up to 256 items then delete last 23.001 us/op 27.826 us/op 0.83
Set add up to 256 items then delete middle 18.431 us/op 20.253 us/op 0.91
OrderedSet add up to 256 items then delete middle 44.210 us/op 50.698 us/op 0.87
transfer serialized Status (84 B) 1.7900 us/op 2.0880 us/op 0.86
copy serialized Status (84 B) 1.5230 us/op 1.7470 us/op 0.87
transfer serialized SignedVoluntaryExit (112 B) 1.9280 us/op 2.0630 us/op 0.93
copy serialized SignedVoluntaryExit (112 B) 1.5820 us/op 1.7230 us/op 0.92
transfer serialized ProposerSlashing (416 B) 2.1650 us/op 2.4110 us/op 0.90
copy serialized ProposerSlashing (416 B) 2.1050 us/op 2.6710 us/op 0.79
transfer serialized Attestation (485 B) 2.3860 us/op 2.4080 us/op 0.99
copy serialized Attestation (485 B) 2.2010 us/op 2.4490 us/op 0.90
transfer serialized AttesterSlashing (33232 B) 2.3530 us/op 2.6500 us/op 0.89
copy serialized AttesterSlashing (33232 B) 4.8270 us/op 9.3130 us/op 0.52
transfer serialized Small SignedBeaconBlock (128000 B) 2.6430 us/op 3.1820 us/op 0.83
copy serialized Small SignedBeaconBlock (128000 B) 12.035 us/op 22.289 us/op 0.54
transfer serialized Avg SignedBeaconBlock (200000 B) 2.8570 us/op 3.2040 us/op 0.89
copy serialized Avg SignedBeaconBlock (200000 B) 16.357 us/op 33.244 us/op 0.49
transfer serialized BlobsSidecar (524380 B) 2.8490 us/op 4.1740 us/op 0.68
copy serialized BlobsSidecar (524380 B) 79.156 us/op 164.49 us/op 0.48
transfer serialized Big SignedBeaconBlock (1000000 B) 2.9740 us/op 5.4120 us/op 0.55
copy serialized Big SignedBeaconBlock (1000000 B) 140.57 us/op 192.39 us/op 0.73
pass gossip attestations to forkchoice per slot 3.7512 ms/op 4.5761 ms/op 0.82
forkChoice updateHead vc 100000 bc 64 eq 0 664.53 us/op 756.51 us/op 0.88
forkChoice updateHead vc 600000 bc 64 eq 0 4.4067 ms/op 5.2527 ms/op 0.84
forkChoice updateHead vc 1000000 bc 64 eq 0 7.1815 ms/op 8.4244 ms/op 0.85
forkChoice updateHead vc 600000 bc 320 eq 0 4.1068 ms/op 5.3494 ms/op 0.77
forkChoice updateHead vc 600000 bc 1200 eq 0 4.3025 ms/op 4.7779 ms/op 0.90
forkChoice updateHead vc 600000 bc 7200 eq 0 5.3665 ms/op 6.0353 ms/op 0.89
forkChoice updateHead vc 600000 bc 64 eq 1000 10.907 ms/op 11.952 ms/op 0.91
forkChoice updateHead vc 600000 bc 64 eq 10000 12.076 ms/op 13.228 ms/op 0.91
forkChoice updateHead vc 600000 bc 64 eq 300000 16.411 ms/op 27.170 ms/op 0.60
computeDeltas 500000 validators 300 proto nodes 6.2086 ms/op 6.9671 ms/op 0.89
computeDeltas 500000 validators 1200 proto nodes 6.1387 ms/op 6.9986 ms/op 0.88
computeDeltas 500000 validators 7200 proto nodes 6.1291 ms/op 6.8772 ms/op 0.89
computeDeltas 750000 validators 300 proto nodes 9.2673 ms/op 10.049 ms/op 0.92
computeDeltas 750000 validators 1200 proto nodes 9.5000 ms/op 10.003 ms/op 0.95
computeDeltas 750000 validators 7200 proto nodes 9.5680 ms/op 10.168 ms/op 0.94
computeDeltas 1400000 validators 300 proto nodes 18.139 ms/op 20.538 ms/op 0.88
computeDeltas 1400000 validators 1200 proto nodes 17.706 ms/op 20.998 ms/op 0.84
computeDeltas 1400000 validators 7200 proto nodes 17.882 ms/op 21.379 ms/op 0.84
computeDeltas 2100000 validators 300 proto nodes 25.948 ms/op 29.434 ms/op 0.88
computeDeltas 2100000 validators 1200 proto nodes 26.225 ms/op 29.961 ms/op 0.88
computeDeltas 2100000 validators 7200 proto nodes 26.628 ms/op 29.121 ms/op 0.91
computeProposerBoostScoreFromBalances 500000 validators 3.2843 ms/op 3.6451 ms/op 0.90
computeProposerBoostScoreFromBalances 750000 validators 3.3409 ms/op 3.7563 ms/op 0.89
computeProposerBoostScoreFromBalances 1400000 validators 3.2688 ms/op 3.7417 ms/op 0.87
computeProposerBoostScoreFromBalances 2100000 validators 3.3201 ms/op 3.6235 ms/op 0.92
altair processAttestation - 250000 vs - 7PWei normalcase 2.7344 ms/op 3.1421 ms/op 0.87
altair processAttestation - 250000 vs - 7PWei worstcase 3.6323 ms/op 4.3240 ms/op 0.84
altair processAttestation - setStatus - 1/6 committees join 186.85 us/op 224.94 us/op 0.83
altair processAttestation - setStatus - 1/3 committees join 362.23 us/op 353.56 us/op 1.02
altair processAttestation - setStatus - 1/2 committees join 490.47 us/op 515.41 us/op 0.95
altair processAttestation - setStatus - 2/3 committees join 579.83 us/op 635.66 us/op 0.91
altair processAttestation - setStatus - 4/5 committees join 803.16 us/op 907.56 us/op 0.88
altair processAttestation - setStatus - 100% committees join 952.43 us/op 1.0572 ms/op 0.90
altair processBlock - 250000 vs - 7PWei normalcase 6.9995 ms/op 9.6032 ms/op 0.73
altair processBlock - 250000 vs - 7PWei normalcase hashState 27.738 ms/op 37.180 ms/op 0.75
altair processBlock - 250000 vs - 7PWei worstcase 37.928 ms/op 49.435 ms/op 0.77
altair processBlock - 250000 vs - 7PWei worstcase hashState 87.060 ms/op 122.50 ms/op 0.71
phase0 processBlock - 250000 vs - 7PWei normalcase 2.3105 ms/op 3.7449 ms/op 0.62
phase0 processBlock - 250000 vs - 7PWei worstcase 30.890 ms/op 35.576 ms/op 0.87
altair processEth1Data - 250000 vs - 7PWei normalcase 517.19 us/op 671.65 us/op 0.77
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 12.966 us/op 16.589 us/op 0.78
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 44.350 us/op 83.131 us/op 0.53
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 14.673 us/op 31.937 us/op 0.46
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 12.176 us/op 18.251 us/op 0.67
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 172.55 us/op 200.24 us/op 0.86
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.1306 ms/op 1.8173 ms/op 0.62
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.7149 ms/op 1.8878 ms/op 0.91
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.9467 ms/op 1.8931 ms/op 1.03
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.4315 ms/op 4.7054 ms/op 0.73
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.5080 ms/op 3.5388 ms/op 0.71
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.2307 ms/op 8.6424 ms/op 0.61
Tree 40 250000 create 340.93 ms/op 612.16 ms/op 0.56
Tree 40 250000 get(125000) 207.44 ns/op 256.78 ns/op 0.81
Tree 40 250000 set(125000) 979.42 ns/op 2.7537 us/op 0.36
Tree 40 250000 toArray() 21.609 ms/op 31.202 ms/op 0.69
Tree 40 250000 iterate all - toArray() + loop 21.408 ms/op 29.589 ms/op 0.72
Tree 40 250000 iterate all - get(i) 71.026 ms/op 90.211 ms/op 0.79
MutableVector 250000 create 10.959 ms/op 12.321 ms/op 0.89
MutableVector 250000 get(125000) 6.6260 ns/op 7.1340 ns/op 0.93
MutableVector 250000 set(125000) 266.75 ns/op 286.53 ns/op 0.93
MutableVector 250000 toArray() 3.4699 ms/op 4.1770 ms/op 0.83
MutableVector 250000 iterate all - toArray() + loop 3.6288 ms/op 3.5924 ms/op 1.01
MutableVector 250000 iterate all - get(i) 1.5537 ms/op 1.6053 ms/op 0.97
Array 250000 create 3.0536 ms/op 3.6538 ms/op 0.84
Array 250000 clone - spread 1.1676 ms/op 1.1270 ms/op 1.04
Array 250000 get(125000) 0.57600 ns/op 0.53500 ns/op 1.08
Array 250000 set(125000) 0.64300 ns/op 0.59500 ns/op 1.08
Array 250000 iterate all - loop 84.121 us/op 114.58 us/op 0.73
effectiveBalanceIncrements clone Uint8Array 300000 29.631 us/op 43.954 us/op 0.67
effectiveBalanceIncrements clone MutableVector 300000 335.00 ns/op 261.00 ns/op 1.28
effectiveBalanceIncrements rw all Uint8Array 300000 182.99 us/op 180.53 us/op 1.01
effectiveBalanceIncrements rw all MutableVector 300000 87.174 ms/op 87.111 ms/op 1.00
phase0 afterProcessEpoch - 250000 vs - 7PWei 117.11 ms/op 117.62 ms/op 1.00
phase0 beforeProcessEpoch - 250000 vs - 7PWei 32.330 ms/op 45.211 ms/op 0.72
altair processEpoch - mainnet_e81889 426.07 ms/op 539.26 ms/op 0.79
mainnet_e81889 - altair beforeProcessEpoch 50.140 ms/op 73.030 ms/op 0.69
mainnet_e81889 - altair processJustificationAndFinalization 15.608 us/op 26.734 us/op 0.58
mainnet_e81889 - altair processInactivityUpdates 8.2716 ms/op 9.2618 ms/op 0.89
mainnet_e81889 - altair processRewardsAndPenalties 63.047 ms/op 72.098 ms/op 0.87
mainnet_e81889 - altair processRegistryUpdates 2.5890 us/op 3.5140 us/op 0.74
mainnet_e81889 - altair processSlashings 430.00 ns/op 483.00 ns/op 0.89
mainnet_e81889 - altair processEth1DataReset 491.00 ns/op 616.00 ns/op 0.80
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2553 ms/op 1.2717 ms/op 0.99
mainnet_e81889 - altair processSlashingsReset 2.8460 us/op 3.0380 us/op 0.94
mainnet_e81889 - altair processRandaoMixesReset 5.1110 us/op 5.4130 us/op 0.94
mainnet_e81889 - altair processHistoricalRootsUpdate 608.00 ns/op 675.00 ns/op 0.90
mainnet_e81889 - altair processParticipationFlagUpdates 1.6540 us/op 2.1690 us/op 0.76
mainnet_e81889 - altair processSyncCommitteeUpdates 683.00 ns/op 566.00 ns/op 1.21
mainnet_e81889 - altair afterProcessEpoch 124.61 ms/op 127.72 ms/op 0.98
capella processEpoch - mainnet_e217614 1.4036 s/op 1.4948 s/op 0.94
mainnet_e217614 - capella beforeProcessEpoch 229.01 ms/op 248.44 ms/op 0.92
mainnet_e217614 - capella processJustificationAndFinalization 13.449 us/op 13.190 us/op 1.02
mainnet_e217614 - capella processInactivityUpdates 18.005 ms/op 20.880 ms/op 0.86
mainnet_e217614 - capella processRewardsAndPenalties 254.58 ms/op 267.86 ms/op 0.95
mainnet_e217614 - capella processRegistryUpdates 18.576 us/op 21.471 us/op 0.87
mainnet_e217614 - capella processSlashings 448.00 ns/op 488.00 ns/op 0.92
mainnet_e217614 - capella processEth1DataReset 434.00 ns/op 686.00 ns/op 0.63
mainnet_e217614 - capella processEffectiveBalanceUpdates 3.9694 ms/op 4.1244 ms/op 0.96
mainnet_e217614 - capella processSlashingsReset 2.8390 us/op 2.6250 us/op 1.08
mainnet_e217614 - capella processRandaoMixesReset 4.7010 us/op 3.8080 us/op 1.23
mainnet_e217614 - capella processHistoricalRootsUpdate 449.00 ns/op 820.00 ns/op 0.55
mainnet_e217614 - capella processParticipationFlagUpdates 2.0000 us/op 3.5180 us/op 0.57
mainnet_e217614 - capella afterProcessEpoch 288.65 ms/op 305.07 ms/op 0.95
phase0 processEpoch - mainnet_e58758 421.16 ms/op 457.66 ms/op 0.92
mainnet_e58758 - phase0 beforeProcessEpoch 101.19 ms/op 105.88 ms/op 0.96
mainnet_e58758 - phase0 processJustificationAndFinalization 14.349 us/op 24.355 us/op 0.59
mainnet_e58758 - phase0 processRewardsAndPenalties 40.951 ms/op 50.684 ms/op 0.81
mainnet_e58758 - phase0 processRegistryUpdates 8.8210 us/op 10.551 us/op 0.84
mainnet_e58758 - phase0 processSlashings 473.00 ns/op 602.00 ns/op 0.79
mainnet_e58758 - phase0 processEth1DataReset 424.00 ns/op 593.00 ns/op 0.72
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 957.31 us/op 1.0484 ms/op 0.91
mainnet_e58758 - phase0 processSlashingsReset 2.3030 us/op 3.5800 us/op 0.64
mainnet_e58758 - phase0 processRandaoMixesReset 4.1310 us/op 5.7860 us/op 0.71
mainnet_e58758 - phase0 processHistoricalRootsUpdate 427.00 ns/op 405.00 ns/op 1.05
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.6680 us/op 4.0090 us/op 0.91
mainnet_e58758 - phase0 afterProcessEpoch 99.006 ms/op 106.61 ms/op 0.93
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.2745 ms/op 1.2626 ms/op 1.01
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4340 ms/op 1.9395 ms/op 0.74
altair processInactivityUpdates - 250000 normalcase 15.580 ms/op 22.712 ms/op 0.69
altair processInactivityUpdates - 250000 worstcase 15.546 ms/op 21.091 ms/op 0.74
phase0 processRegistryUpdates - 250000 normalcase 8.1820 us/op 9.6820 us/op 0.85
phase0 processRegistryUpdates - 250000 badcase_full_deposits 332.60 us/op 340.64 us/op 0.98
phase0 processRegistryUpdates - 250000 worstcase 0.5 132.17 ms/op 129.89 ms/op 1.02
altair processRewardsAndPenalties - 250000 normalcase 49.371 ms/op 65.411 ms/op 0.75
altair processRewardsAndPenalties - 250000 worstcase 52.424 ms/op 64.909 ms/op 0.81
phase0 getAttestationDeltas - 250000 normalcase 7.7817 ms/op 9.5013 ms/op 0.82
phase0 getAttestationDeltas - 250000 worstcase 7.7058 ms/op 9.5946 ms/op 0.80
phase0 processSlashings - 250000 worstcase 2.4052 ms/op 2.5712 ms/op 0.94
altair processSyncCommitteeUpdates - 250000 150.74 ms/op 153.09 ms/op 0.98
BeaconState.hashTreeRoot - No change 322.00 ns/op 385.00 ns/op 0.84
BeaconState.hashTreeRoot - 1 full validator 155.16 us/op 177.07 us/op 0.88
BeaconState.hashTreeRoot - 32 full validator 1.3100 ms/op 1.8060 ms/op 0.73
BeaconState.hashTreeRoot - 512 full validator 16.906 ms/op 13.170 ms/op 1.28
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 168.60 us/op 147.54 us/op 1.14
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.9530 ms/op 1.9974 ms/op 0.98
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 25.235 ms/op 33.619 ms/op 0.75
BeaconState.hashTreeRoot - 1 balances 128.35 us/op 125.59 us/op 1.02
BeaconState.hashTreeRoot - 32 balances 1.0664 ms/op 1.1438 ms/op 0.93
BeaconState.hashTreeRoot - 512 balances 10.582 ms/op 9.7644 ms/op 1.08
BeaconState.hashTreeRoot - 250000 balances 253.89 ms/op 177.21 ms/op 1.43
aggregationBits - 2048 els - zipIndexesInBitList 31.232 us/op 15.743 us/op 1.98
regular array get 100000 times 38.996 us/op 43.631 us/op 0.89
wrappedArray get 100000 times 45.184 us/op 33.569 us/op 1.35
arrayWithProxy get 100000 times 15.512 ms/op 15.936 ms/op 0.97
ssz.Root.equals 272.00 ns/op 224.00 ns/op 1.21
byteArrayEquals 252.00 ns/op 221.00 ns/op 1.14
shuffle list - 16384 els 7.2050 ms/op 7.1860 ms/op 1.00
shuffle list - 250000 els 104.24 ms/op 106.29 ms/op 0.98
processSlot - 1 slots 16.480 us/op 16.702 us/op 0.99
processSlot - 32 slots 3.1731 ms/op 4.1911 ms/op 0.76
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 48.939 ms/op 61.869 ms/op 0.79
getCommitteeAssignments - req 1 vs - 250000 vc 2.5257 ms/op 2.6481 ms/op 0.95
getCommitteeAssignments - req 100 vs - 250000 vc 3.7671 ms/op 3.8053 ms/op 0.99
getCommitteeAssignments - req 1000 vs - 250000 vc 4.1827 ms/op 4.2163 ms/op 0.99
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.8600 ns/op 5.1500 ns/op 0.94
state getBlockRootAtSlot - 250000 vs - 7PWei 978.18 ns/op 725.73 ns/op 1.35
computeProposers - vc 250000 9.1221 ms/op 9.7152 ms/op 0.94
computeEpochShuffling - vc 250000 107.74 ms/op 109.02 ms/op 0.99
getNextSyncCommittee - vc 250000 154.43 ms/op 164.06 ms/op 0.94
computeSigningRoot for AttestationData 22.857 us/op 29.969 us/op 0.76
hash AttestationData serialized data then Buffer.toString(base64) 2.3956 us/op 2.4455 us/op 0.98
toHexString serialized data 1.1671 us/op 1.2606 us/op 0.93
Buffer.toString(base64) 238.97 ns/op 240.19 ns/op 0.99

by benchmarkbot/action

Copy link
Member

@wemeetagain wemeetagain left a comment

Choose a reason for hiding this comment

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

Very nice feature

@wemeetagain wemeetagain merged commit 9cd65cc into unstable Sep 29, 2023
15 of 16 checks passed
@wemeetagain wemeetagain deleted the nflaig/validator-monitor-logs branch September 29, 2023 14:04
@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.

Expose validator monitor via logs
2 participants