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 warning log to notifier if execution client is offline #6919

Merged
merged 2 commits into from
Jul 5, 2024

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Jun 29, 2024

Motivation

We are pretty silent about the execution client being offline after the initial error. The logs just show that the node is stalling and not updating head but we should make it more apparent that the issue is related to EL being offline and also notify the user about the issue.

Most users (including myself) just check the logs of the consensus client to see if their node is performing well and healthy.

Description

Add warning log to notifier if execution client is offline. The warning will be logged at the start of every epoch if EL is offline.

Related #6861

@nflaig nflaig requested a review from a team as a code owner June 29, 2024 11:16
Copy link

codecov bot commented Jun 29, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 62.52%. Comparing base (f69bc11) to head (1f8f8c5).

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #6919   +/-   ##
=========================================
  Coverage     62.52%   62.52%           
=========================================
  Files           575      575           
  Lines         60985    60985           
  Branches       2118     2121    +3     
=========================================
+ Hits          38128    38129    +1     
+ Misses        22818    22817    -1     
  Partials         39       39           

Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: e81e67b Previous: d87a901 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 618.26 us/op 516.28 us/op 1.20
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 46.163 us/op 37.733 us/op 1.22
BLS verify - blst-native 1.1972 ms/op 1.1111 ms/op 1.08
BLS verifyMultipleSignatures 3 - blst-native 2.5567 ms/op 2.3868 ms/op 1.07
BLS verifyMultipleSignatures 8 - blst-native 5.6699 ms/op 5.2575 ms/op 1.08
BLS verifyMultipleSignatures 32 - blst-native 20.821 ms/op 19.185 ms/op 1.09
BLS verifyMultipleSignatures 64 - blst-native 40.589 ms/op 37.936 ms/op 1.07
BLS verifyMultipleSignatures 128 - blst-native 80.590 ms/op 75.015 ms/op 1.07
BLS deserializing 10000 signatures 833.93 ms/op 794.42 ms/op 1.05
BLS deserializing 100000 signatures 8.2848 s/op 8.0156 s/op 1.03
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.2249 ms/op 1.1417 ms/op 1.07
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.3871 ms/op 1.2976 ms/op 1.07
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.1849 ms/op 2.0382 ms/op 1.07
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.2103 ms/op 3.4894 ms/op 0.92
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.3038 ms/op 6.1630 ms/op 0.86
BLS aggregatePubkeys 32 - blst-native 23.830 us/op 23.693 us/op 1.01
BLS aggregatePubkeys 128 - blst-native 93.888 us/op 88.669 us/op 1.06
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 73.997 ms/op 60.599 ms/op 1.22
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 52.446 ms/op 45.178 ms/op 1.16
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 30.707 ms/op 31.163 ms/op 0.99
getSlashingsAndExits - default max 93.158 us/op 73.939 us/op 1.26
getSlashingsAndExits - 2k 268.91 us/op 244.76 us/op 1.10
proposeBlockBody type=full, size=empty 5.6137 ms/op 4.9790 ms/op 1.13
isKnown best case - 1 super set check 278.00 ns/op 462.00 ns/op 0.60
isKnown normal case - 2 super set checks 270.00 ns/op 457.00 ns/op 0.59
isKnown worse case - 16 super set checks 272.00 ns/op 456.00 ns/op 0.60
InMemoryCheckpointStateCache - add get delete 4.4530 us/op 3.8230 us/op 1.16
validate api signedAggregateAndProof - struct 2.5716 ms/op 2.3082 ms/op 1.11
validate gossip signedAggregateAndProof - struct 2.5945 ms/op 2.3034 ms/op 1.13
validate gossip attestation - vc 640000 1.2319 ms/op 1.1201 ms/op 1.10
batch validate gossip attestation - vc 640000 - chunk 32 151.16 us/op 131.41 us/op 1.15
batch validate gossip attestation - vc 640000 - chunk 64 132.06 us/op 116.77 us/op 1.13
batch validate gossip attestation - vc 640000 - chunk 128 126.01 us/op 110.33 us/op 1.14
batch validate gossip attestation - vc 640000 - chunk 256 122.87 us/op 109.06 us/op 1.13
pickEth1Vote - no votes 1.0562 ms/op 818.11 us/op 1.29
pickEth1Vote - max votes 8.1905 ms/op 5.7678 ms/op 1.42
pickEth1Vote - Eth1Data hashTreeRoot value x2048 15.272 ms/op 9.4287 ms/op 1.62
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 20.574 ms/op 15.641 ms/op 1.32
pickEth1Vote - Eth1Data fastSerialize value x2048 475.97 us/op 337.18 us/op 1.41
pickEth1Vote - Eth1Data fastSerialize tree x2048 6.7736 ms/op 7.1937 ms/op 0.94
bytes32 toHexString 443.00 ns/op 611.00 ns/op 0.73
bytes32 Buffer.toString(hex) 244.00 ns/op 440.00 ns/op 0.55
bytes32 Buffer.toString(hex) from Uint8Array 374.00 ns/op 547.00 ns/op 0.68
bytes32 Buffer.toString(hex) + 0x 246.00 ns/op 427.00 ns/op 0.58
Object access 1 prop 0.13800 ns/op 0.30800 ns/op 0.45
Map access 1 prop 0.12700 ns/op 0.30900 ns/op 0.41
Object get x1000 5.9470 ns/op 4.7810 ns/op 1.24
Map get x1000 6.2820 ns/op 5.5400 ns/op 1.13
Object set x1000 32.472 ns/op 22.508 ns/op 1.44
Map set x1000 22.230 ns/op 18.621 ns/op 1.19
Return object 10000 times 0.29200 ns/op 0.29990 ns/op 0.97
Throw Error 10000 times 3.3934 us/op 2.7011 us/op 1.26
fastMsgIdFn sha256 / 200 bytes 2.2000 us/op 1.9710 us/op 1.12
fastMsgIdFn h32 xxhash / 200 bytes 237.00 ns/op 409.00 ns/op 0.58
fastMsgIdFn h64 xxhash / 200 bytes 268.00 ns/op 453.00 ns/op 0.59
fastMsgIdFn sha256 / 1000 bytes 7.1990 us/op 6.0390 us/op 1.19
fastMsgIdFn h32 xxhash / 1000 bytes 372.00 ns/op 525.00 ns/op 0.71
fastMsgIdFn h64 xxhash / 1000 bytes 342.00 ns/op 528.00 ns/op 0.65
fastMsgIdFn sha256 / 10000 bytes 63.707 us/op 52.245 us/op 1.22
fastMsgIdFn h32 xxhash / 10000 bytes 1.8300 us/op 1.8840 us/op 0.97
fastMsgIdFn h64 xxhash / 10000 bytes 1.1850 us/op 1.3070 us/op 0.91
send data - 1000 256B messages 12.060 ms/op 9.8411 ms/op 1.23
send data - 1000 512B messages 16.430 ms/op 13.058 ms/op 1.26
send data - 1000 1024B messages 25.298 ms/op 21.032 ms/op 1.20
send data - 1000 1200B messages 25.278 ms/op 22.802 ms/op 1.11
send data - 1000 2048B messages 31.784 ms/op 28.359 ms/op 1.12
send data - 1000 4096B messages 32.063 ms/op 24.802 ms/op 1.29
send data - 1000 16384B messages 70.426 ms/op 68.316 ms/op 1.03
send data - 1000 65536B messages 198.30 ms/op 237.85 ms/op 0.83
enrSubnets - fastDeserialize 64 bits 1.1110 us/op 1.1500 us/op 0.97
enrSubnets - ssz BitVector 64 bits 376.00 ns/op 551.00 ns/op 0.68
enrSubnets - fastDeserialize 4 bits 156.00 ns/op 355.00 ns/op 0.44
enrSubnets - ssz BitVector 4 bits 379.00 ns/op 557.00 ns/op 0.68
prioritizePeers score -10:0 att 32-0.1 sync 2-0 132.29 us/op 138.45 us/op 0.96
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 154.18 us/op 177.79 us/op 0.87
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 219.93 us/op 308.69 us/op 0.71
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 404.24 us/op 471.96 us/op 0.86
prioritizePeers score 0:0 att 64-1 sync 4-1 480.72 us/op 538.95 us/op 0.89
array of 16000 items push then shift 1.5583 us/op 1.2559 us/op 1.24
LinkedList of 16000 items push then shift 6.8300 ns/op 7.6440 ns/op 0.89
array of 16000 items push then pop 73.541 ns/op 124.99 ns/op 0.59
LinkedList of 16000 items push then pop 6.7230 ns/op 6.3420 ns/op 1.06
array of 24000 items push then shift 2.3306 us/op 1.9249 us/op 1.21
LinkedList of 24000 items push then shift 7.1260 ns/op 6.4600 ns/op 1.10
array of 24000 items push then pop 147.05 ns/op 108.85 ns/op 1.35
LinkedList of 24000 items push then pop 6.9360 ns/op 6.3100 ns/op 1.10
intersect bitArray bitLen 8 6.2920 ns/op 5.4460 ns/op 1.16
intersect array and set length 8 43.091 ns/op 39.930 ns/op 1.08
intersect bitArray bitLen 128 29.727 ns/op 26.613 ns/op 1.12
intersect array and set length 128 646.47 ns/op 587.12 ns/op 1.10
bitArray.getTrueBitIndexes() bitLen 128 1.3190 us/op 2.1410 us/op 0.62
bitArray.getTrueBitIndexes() bitLen 248 2.0960 us/op 2.8960 us/op 0.72
bitArray.getTrueBitIndexes() bitLen 512 4.1540 us/op 6.0840 us/op 0.68
Buffer.concat 32 items 913.00 ns/op 1.1660 us/op 0.78
Uint8Array.set 32 items 2.2420 us/op 1.5940 us/op 1.41
Buffer.copy 2.0000 us/op 1.7800 us/op 1.12
Uint8Array.set - with subarray 2.8910 us/op 2.3520 us/op 1.23
Uint8Array.set - without subarray 1.8090 us/op 1.7810 us/op 1.02
Set add up to 64 items then delete first 2.1236 us/op 1.7539 us/op 1.21
OrderedSet add up to 64 items then delete first 3.3148 us/op 2.8310 us/op 1.17
Set add up to 64 items then delete last 2.4371 us/op 2.0768 us/op 1.17
OrderedSet add up to 64 items then delete last 3.5406 us/op 3.1329 us/op 1.13
Set add up to 64 items then delete middle 2.4544 us/op 2.0780 us/op 1.18
OrderedSet add up to 64 items then delete middle 5.0475 us/op 4.5539 us/op 1.11
Set add up to 128 items then delete first 4.8018 us/op 4.0770 us/op 1.18
OrderedSet add up to 128 items then delete first 7.5042 us/op 6.4254 us/op 1.17
Set add up to 128 items then delete last 4.7467 us/op 3.9591 us/op 1.20
OrderedSet add up to 128 items then delete last 7.0190 us/op 6.0400 us/op 1.16
Set add up to 128 items then delete middle 4.5992 us/op 3.9699 us/op 1.16
OrderedSet add up to 128 items then delete middle 13.057 us/op 12.024 us/op 1.09
Set add up to 256 items then delete first 10.152 us/op 7.9777 us/op 1.27
OrderedSet add up to 256 items then delete first 15.467 us/op 12.766 us/op 1.21
Set add up to 256 items then delete last 9.2432 us/op 7.7762 us/op 1.19
OrderedSet add up to 256 items then delete last 14.120 us/op 12.034 us/op 1.17
Set add up to 256 items then delete middle 9.4042 us/op 7.7617 us/op 1.21
OrderedSet add up to 256 items then delete middle 41.144 us/op 34.684 us/op 1.19
transfer serialized Status (84 B) 1.3570 us/op 1.4630 us/op 0.93
copy serialized Status (84 B) 1.1060 us/op 1.2770 us/op 0.87
transfer serialized SignedVoluntaryExit (112 B) 1.4330 us/op 1.4750 us/op 0.97
copy serialized SignedVoluntaryExit (112 B) 1.1480 us/op 1.2550 us/op 0.91
transfer serialized ProposerSlashing (416 B) 1.5320 us/op 1.5490 us/op 0.99
copy serialized ProposerSlashing (416 B) 1.4470 us/op 1.6010 us/op 0.90
transfer serialized Attestation (485 B) 1.5840 us/op 1.6520 us/op 0.96
copy serialized Attestation (485 B) 2.4590 us/op 1.3630 us/op 1.80
transfer serialized AttesterSlashing (33232 B) 2.5910 us/op 1.8650 us/op 1.39
copy serialized AttesterSlashing (33232 B) 5.9730 us/op 3.7160 us/op 1.61
transfer serialized Small SignedBeaconBlock (128000 B) 3.0580 us/op 2.0020 us/op 1.53
copy serialized Small SignedBeaconBlock (128000 B) 15.024 us/op 10.450 us/op 1.44
transfer serialized Avg SignedBeaconBlock (200000 B) 2.9980 us/op 2.5950 us/op 1.16
copy serialized Avg SignedBeaconBlock (200000 B) 19.757 us/op 14.089 us/op 1.40
transfer serialized BlobsSidecar (524380 B) 2.6750 us/op 2.9520 us/op 0.91
copy serialized BlobsSidecar (524380 B) 84.853 us/op 87.951 us/op 0.96
transfer serialized Big SignedBeaconBlock (1000000 B) 2.9970 us/op 3.5070 us/op 0.85
copy serialized Big SignedBeaconBlock (1000000 B) 145.94 us/op 326.06 us/op 0.45
pass gossip attestations to forkchoice per slot 3.0695 ms/op 2.5701 ms/op 1.19
forkChoice updateHead vc 100000 bc 64 eq 0 493.48 us/op 471.84 us/op 1.05
forkChoice updateHead vc 600000 bc 64 eq 0 2.9561 ms/op 2.6297 ms/op 1.12
forkChoice updateHead vc 1000000 bc 64 eq 0 5.2757 ms/op 4.6138 ms/op 1.14
forkChoice updateHead vc 600000 bc 320 eq 0 3.1053 ms/op 2.5207 ms/op 1.23
forkChoice updateHead vc 600000 bc 1200 eq 0 3.0570 ms/op 2.5689 ms/op 1.19
forkChoice updateHead vc 600000 bc 7200 eq 0 4.1621 ms/op 2.8233 ms/op 1.47
forkChoice updateHead vc 600000 bc 64 eq 1000 10.469 ms/op 9.6644 ms/op 1.08
forkChoice updateHead vc 600000 bc 64 eq 10000 10.682 ms/op 9.5619 ms/op 1.12
forkChoice updateHead vc 600000 bc 64 eq 300000 14.497 ms/op 11.786 ms/op 1.23
computeDeltas 500000 validators 300 proto nodes 3.5033 ms/op 2.9917 ms/op 1.17
computeDeltas 500000 validators 1200 proto nodes 3.5177 ms/op 3.0944 ms/op 1.14
computeDeltas 500000 validators 7200 proto nodes 3.4342 ms/op 3.0398 ms/op 1.13
computeDeltas 750000 validators 300 proto nodes 5.0912 ms/op 4.6112 ms/op 1.10
computeDeltas 750000 validators 1200 proto nodes 5.0492 ms/op 4.5042 ms/op 1.12
computeDeltas 750000 validators 7200 proto nodes 5.1540 ms/op 4.3965 ms/op 1.17
computeDeltas 1400000 validators 300 proto nodes 9.5620 ms/op 8.2221 ms/op 1.16
computeDeltas 1400000 validators 1200 proto nodes 9.5218 ms/op 8.2180 ms/op 1.16
computeDeltas 1400000 validators 7200 proto nodes 9.5524 ms/op 8.1976 ms/op 1.17
computeDeltas 2100000 validators 300 proto nodes 14.186 ms/op 12.061 ms/op 1.18
computeDeltas 2100000 validators 1200 proto nodes 14.195 ms/op 12.074 ms/op 1.18
computeDeltas 2100000 validators 7200 proto nodes 14.308 ms/op 12.371 ms/op 1.16
altair processAttestation - 250000 vs - 7PWei normalcase 1.6128 ms/op 1.3205 ms/op 1.22
altair processAttestation - 250000 vs - 7PWei worstcase 2.9221 ms/op 2.0709 ms/op 1.41
altair processAttestation - setStatus - 1/6 committees join 84.712 us/op 60.905 us/op 1.39
altair processAttestation - setStatus - 1/3 committees join 344.93 us/op 122.72 us/op 2.81
altair processAttestation - setStatus - 1/2 committees join 242.34 us/op 190.82 us/op 1.27
altair processAttestation - setStatus - 2/3 committees join 518.79 us/op 260.91 us/op 1.99
altair processAttestation - setStatus - 4/5 committees join 457.46 us/op 382.79 us/op 1.20
altair processAttestation - setStatus - 100% committees join 542.57 us/op 461.22 us/op 1.18
altair processBlock - 250000 vs - 7PWei normalcase 3.7428 ms/op 4.0258 ms/op 0.93
altair processBlock - 250000 vs - 7PWei normalcase hashState 24.257 ms/op 29.123 ms/op 0.83
altair processBlock - 250000 vs - 7PWei worstcase 38.905 ms/op 42.882 ms/op 0.91
altair processBlock - 250000 vs - 7PWei worstcase hashState 83.892 ms/op 60.704 ms/op 1.38
phase0 processBlock - 250000 vs - 7PWei normalcase 1.6422 ms/op 1.7358 ms/op 0.95
phase0 processBlock - 250000 vs - 7PWei worstcase 25.497 ms/op 23.487 ms/op 1.09
altair processEth1Data - 250000 vs - 7PWei normalcase 298.21 us/op 242.22 us/op 1.23
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 4.9630 us/op 3.8410 us/op 1.29
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 17.558 us/op 18.332 us/op 0.96
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 7.5280 us/op 6.6010 us/op 1.14
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 5.0920 us/op 4.4490 us/op 1.14
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 69.957 us/op 69.419 us/op 1.01
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 664.47 us/op 752.50 us/op 0.88
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 935.05 us/op 641.96 us/op 1.46
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 908.58 us/op 1.0186 ms/op 0.89
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.4608 ms/op 1.9452 ms/op 1.27
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.5828 ms/op 1.2129 ms/op 1.30
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.7573 ms/op 3.1920 ms/op 1.18
Tree 40 250000 create 214.58 ms/op 173.63 ms/op 1.24
Tree 40 250000 get(125000) 143.11 ns/op 111.22 ns/op 1.29
Tree 40 250000 set(125000) 710.71 ns/op 506.95 ns/op 1.40
Tree 40 250000 toArray() 15.908 ms/op 9.5716 ms/op 1.66
Tree 40 250000 iterate all - toArray() + loop 15.335 ms/op 9.4960 ms/op 1.61
Tree 40 250000 iterate all - get(i) 50.205 ms/op 39.558 ms/op 1.27
MutableVector 250000 create 8.1311 ms/op 7.6832 ms/op 1.06
MutableVector 250000 get(125000) 5.9920 ns/op 5.5880 ns/op 1.07
MutableVector 250000 set(125000) 189.68 ns/op 151.38 ns/op 1.25
MutableVector 250000 toArray() 3.3176 ms/op 2.9338 ms/op 1.13
MutableVector 250000 iterate all - toArray() + loop 3.3951 ms/op 3.0193 ms/op 1.12
MutableVector 250000 iterate all - get(i) 1.5507 ms/op 1.5593 ms/op 0.99
Array 250000 create 2.9936 ms/op 2.3377 ms/op 1.28
Array 250000 clone - spread 1.3481 ms/op 1.2525 ms/op 1.08
Array 250000 get(125000) 0.40700 ns/op 0.57500 ns/op 0.71
Array 250000 set(125000) 0.43000 ns/op 0.59800 ns/op 0.72
Array 250000 iterate all - loop 109.15 us/op 77.148 us/op 1.41
effectiveBalanceIncrements clone Uint8Array 300000 29.298 us/op 13.514 us/op 2.17
effectiveBalanceIncrements clone MutableVector 300000 124.00 ns/op 314.00 ns/op 0.39
effectiveBalanceIncrements rw all Uint8Array 300000 197.14 us/op 167.07 us/op 1.18
effectiveBalanceIncrements rw all MutableVector 300000 63.401 ms/op 50.373 ms/op 1.26
phase0 afterProcessEpoch - 250000 vs - 7PWei 86.201 ms/op 76.054 ms/op 1.13
phase0 beforeProcessEpoch - 250000 vs - 7PWei 41.101 ms/op 39.270 ms/op 1.05
altair processEpoch - mainnet_e81889 376.26 ms/op 329.63 ms/op 1.14
mainnet_e81889 - altair beforeProcessEpoch 63.687 ms/op 35.486 ms/op 1.79
mainnet_e81889 - altair processJustificationAndFinalization 12.104 us/op 10.356 us/op 1.17
mainnet_e81889 - altair processInactivityUpdates 6.1204 ms/op 5.4628 ms/op 1.12
mainnet_e81889 - altair processRewardsAndPenalties 36.778 ms/op 46.940 ms/op 0.78
mainnet_e81889 - altair processRegistryUpdates 1.9020 us/op 1.7930 us/op 1.06
mainnet_e81889 - altair processSlashings 613.00 ns/op 824.00 ns/op 0.74
mainnet_e81889 - altair processEth1DataReset 343.00 ns/op 735.00 ns/op 0.47
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.0440 ms/op 1.2955 ms/op 0.81
mainnet_e81889 - altair processSlashingsReset 2.8260 us/op 2.5020 us/op 1.13
mainnet_e81889 - altair processRandaoMixesReset 3.6810 us/op 2.7990 us/op 1.32
mainnet_e81889 - altair processHistoricalRootsUpdate 326.00 ns/op 710.00 ns/op 0.46
mainnet_e81889 - altair processParticipationFlagUpdates 1.8750 us/op 1.5550 us/op 1.21
mainnet_e81889 - altair processSyncCommitteeUpdates 455.00 ns/op 772.00 ns/op 0.59
mainnet_e81889 - altair afterProcessEpoch 89.623 ms/op 79.831 ms/op 1.12
capella processEpoch - mainnet_e217614 1.2782 s/op 1.2421 s/op 1.03
mainnet_e217614 - capella beforeProcessEpoch 238.91 ms/op 236.03 ms/op 1.01
mainnet_e217614 - capella processJustificationAndFinalization 13.678 us/op 11.981 us/op 1.14
mainnet_e217614 - capella processInactivityUpdates 16.906 ms/op 17.211 ms/op 0.98
mainnet_e217614 - capella processRewardsAndPenalties 229.07 ms/op 268.71 ms/op 0.85
mainnet_e217614 - capella processRegistryUpdates 15.704 us/op 13.790 us/op 1.14
mainnet_e217614 - capella processSlashings 430.00 ns/op 875.00 ns/op 0.49
mainnet_e217614 - capella processEth1DataReset 334.00 ns/op 995.00 ns/op 0.34
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.9455 ms/op 15.735 ms/op 0.31
mainnet_e217614 - capella processSlashingsReset 3.9250 us/op 5.5430 us/op 0.71
mainnet_e217614 - capella processRandaoMixesReset 4.2940 us/op 5.1500 us/op 0.83
mainnet_e217614 - capella processHistoricalRootsUpdate 365.00 ns/op 1.5570 us/op 0.23
mainnet_e217614 - capella processParticipationFlagUpdates 1.5270 us/op 1.9510 us/op 0.78
mainnet_e217614 - capella afterProcessEpoch 258.98 ms/op 216.68 ms/op 1.20
phase0 processEpoch - mainnet_e58758 336.61 ms/op 380.87 ms/op 0.88
mainnet_e58758 - phase0 beforeProcessEpoch 101.23 ms/op 121.94 ms/op 0.83
mainnet_e58758 - phase0 processJustificationAndFinalization 14.964 us/op 18.443 us/op 0.81
mainnet_e58758 - phase0 processRewardsAndPenalties 30.072 ms/op 25.891 ms/op 1.16
mainnet_e58758 - phase0 processRegistryUpdates 8.1270 us/op 9.1420 us/op 0.89
mainnet_e58758 - phase0 processSlashings 381.00 ns/op 770.00 ns/op 0.49
mainnet_e58758 - phase0 processEth1DataReset 335.00 ns/op 856.00 ns/op 0.39
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 949.44 us/op 1.1723 ms/op 0.81
mainnet_e58758 - phase0 processSlashingsReset 2.9280 us/op 2.7470 us/op 1.07
mainnet_e58758 - phase0 processRandaoMixesReset 4.5420 us/op 2.0440 us/op 2.22
mainnet_e58758 - phase0 processHistoricalRootsUpdate 602.00 ns/op 441.00 ns/op 1.37
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.4220 us/op 5.7860 us/op 0.59
mainnet_e58758 - phase0 afterProcessEpoch 75.203 ms/op 70.087 ms/op 1.07
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.1208 ms/op 813.58 us/op 1.38
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.0265 ms/op 1.3944 ms/op 1.45
altair processInactivityUpdates - 250000 normalcase 15.400 ms/op 18.115 ms/op 0.85
altair processInactivityUpdates - 250000 worstcase 15.892 ms/op 17.457 ms/op 0.91
phase0 processRegistryUpdates - 250000 normalcase 7.0550 us/op 5.9530 us/op 1.19
phase0 processRegistryUpdates - 250000 badcase_full_deposits 243.79 us/op 302.52 us/op 0.81
phase0 processRegistryUpdates - 250000 worstcase 0.5 104.01 ms/op 110.36 ms/op 0.94
altair processRewardsAndPenalties - 250000 normalcase 34.395 ms/op 44.707 ms/op 0.77
altair processRewardsAndPenalties - 250000 worstcase 37.760 ms/op 36.224 ms/op 1.04
phase0 getAttestationDeltas - 250000 normalcase 7.0050 ms/op 7.2376 ms/op 0.97
phase0 getAttestationDeltas - 250000 worstcase 7.4008 ms/op 8.0911 ms/op 0.91
phase0 processSlashings - 250000 worstcase 78.639 us/op 94.771 us/op 0.83
altair processSyncCommitteeUpdates - 250000 127.15 ms/op 115.98 ms/op 1.10
BeaconState.hashTreeRoot - No change 277.00 ns/op 616.00 ns/op 0.45
BeaconState.hashTreeRoot - 1 full validator 112.45 us/op 137.10 us/op 0.82
BeaconState.hashTreeRoot - 32 full validator 1.2573 ms/op 1.1547 ms/op 1.09
BeaconState.hashTreeRoot - 512 full validator 12.566 ms/op 12.793 ms/op 0.98
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 124.78 us/op 159.80 us/op 0.78
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.7400 ms/op 2.4495 ms/op 0.71
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 25.279 ms/op 31.628 ms/op 0.80
BeaconState.hashTreeRoot - 1 balances 123.92 us/op 120.70 us/op 1.03
BeaconState.hashTreeRoot - 32 balances 1.2519 ms/op 1.0581 ms/op 1.18
BeaconState.hashTreeRoot - 512 balances 9.7165 ms/op 6.7121 ms/op 1.45
BeaconState.hashTreeRoot - 250000 balances 178.69 ms/op 216.36 ms/op 0.83
aggregationBits - 2048 els - zipIndexesInBitList 24.396 us/op 31.026 us/op 0.79
byteArrayEquals 32 53.319 ns/op 48.735 ns/op 1.09
Buffer.compare 32 16.910 ns/op 15.542 ns/op 1.09
byteArrayEquals 1024 1.5765 us/op 1.2757 us/op 1.24
Buffer.compare 1024 24.579 ns/op 24.104 ns/op 1.02
byteArrayEquals 16384 25.033 us/op 20.922 us/op 1.20
Buffer.compare 16384 182.38 ns/op 184.75 ns/op 0.99
byteArrayEquals 123687377 184.99 ms/op 157.45 ms/op 1.17
Buffer.compare 123687377 6.4749 ms/op 6.9997 ms/op 0.93
byteArrayEquals 32 - diff last byte 51.943 ns/op 48.414 ns/op 1.07
Buffer.compare 32 - diff last byte 16.773 ns/op 16.244 ns/op 1.03
byteArrayEquals 1024 - diff last byte 1.5289 us/op 1.2996 us/op 1.18
Buffer.compare 1024 - diff last byte 24.079 ns/op 25.156 ns/op 0.96
byteArrayEquals 16384 - diff last byte 24.117 us/op 20.968 us/op 1.15
Buffer.compare 16384 - diff last byte 193.90 ns/op 206.13 ns/op 0.94
byteArrayEquals 123687377 - diff last byte 187.01 ms/op 152.30 ms/op 1.23
Buffer.compare 123687377 - diff last byte 6.1435 ms/op 6.5050 ms/op 0.94
byteArrayEquals 32 - random bytes 5.1800 ns/op 4.8290 ns/op 1.07
Buffer.compare 32 - random bytes 16.455 ns/op 15.669 ns/op 1.05
byteArrayEquals 1024 - random bytes 4.9100 ns/op 4.9140 ns/op 1.00
Buffer.compare 1024 - random bytes 16.583 ns/op 15.435 ns/op 1.07
byteArrayEquals 16384 - random bytes 4.9350 ns/op 4.9280 ns/op 1.00
Buffer.compare 16384 - random bytes 16.426 ns/op 15.685 ns/op 1.05
byteArrayEquals 123687377 - random bytes 6.2400 ns/op 7.9800 ns/op 0.78
Buffer.compare 123687377 - random bytes 17.750 ns/op 18.590 ns/op 0.95
regular array get 100000 times 31.332 us/op 30.655 us/op 1.02
wrappedArray get 100000 times 31.544 us/op 30.494 us/op 1.03
arrayWithProxy get 100000 times 14.563 ms/op 8.8857 ms/op 1.64
ssz.Root.equals 45.429 ns/op 44.216 ns/op 1.03
byteArrayEquals 44.962 ns/op 43.019 ns/op 1.05
Buffer.compare 10.258 ns/op 8.9440 ns/op 1.15
shuffle list - 16384 els 6.2104 ms/op 5.7012 ms/op 1.09
shuffle list - 250000 els 91.400 ms/op 81.917 ms/op 1.12
processSlot - 1 slots 13.368 us/op 11.994 us/op 1.11
processSlot - 32 slots 2.8545 ms/op 2.6349 ms/op 1.08
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 37.890 ms/op 36.560 ms/op 1.04
getCommitteeAssignments - req 1 vs - 250000 vc 2.0877 ms/op 1.7649 ms/op 1.18
getCommitteeAssignments - req 100 vs - 250000 vc 4.0553 ms/op 3.4828 ms/op 1.16
getCommitteeAssignments - req 1000 vs - 250000 vc 4.2934 ms/op 3.7196 ms/op 1.15
findModifiedValidators - 10000 modified validators 251.85 ms/op 216.53 ms/op 1.16
findModifiedValidators - 1000 modified validators 160.95 ms/op 146.48 ms/op 1.10
findModifiedValidators - 100 modified validators 199.81 ms/op 142.39 ms/op 1.40
findModifiedValidators - 10 modified validators 205.17 ms/op 135.05 ms/op 1.52
findModifiedValidators - 1 modified validators 180.36 ms/op 128.43 ms/op 1.40
findModifiedValidators - no difference 161.98 ms/op 156.97 ms/op 1.03
compare ViewDUs 2.8649 s/op 2.9490 s/op 0.97
compare each validator Uint8Array 1.6031 s/op 1.1731 s/op 1.37
compare ViewDU to Uint8Array 997.32 ms/op 725.82 ms/op 1.37
migrate state 1000000 validators, 24 modified, 0 new 552.97 ms/op 508.98 ms/op 1.09
migrate state 1000000 validators, 1700 modified, 1000 new 789.77 ms/op 677.18 ms/op 1.17
migrate state 1000000 validators, 3400 modified, 2000 new 1.0166 s/op 844.18 ms/op 1.20
migrate state 1500000 validators, 24 modified, 0 new 560.12 ms/op 533.91 ms/op 1.05
migrate state 1500000 validators, 1700 modified, 1000 new 761.40 ms/op 858.95 ms/op 0.89
migrate state 1500000 validators, 3400 modified, 2000 new 995.20 ms/op 978.06 ms/op 1.02
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.1900 ns/op 7.0400 ns/op 0.60
state getBlockRootAtSlot - 250000 vs - 7PWei 662.95 ns/op 357.81 ns/op 1.85
computeProposers - vc 250000 7.6602 ms/op 5.3130 ms/op 1.44
computeEpochShuffling - vc 250000 93.761 ms/op 83.497 ms/op 1.12
getNextSyncCommittee - vc 250000 125.28 ms/op 94.406 ms/op 1.33
computeSigningRoot for AttestationData 20.582 us/op 15.766 us/op 1.31
hash AttestationData serialized data then Buffer.toString(base64) 1.5046 us/op 1.1652 us/op 1.29
toHexString serialized data 870.77 ns/op 803.09 ns/op 1.08
Buffer.toString(base64) 181.66 ns/op 150.52 ns/op 1.21

by benchmarkbot/action

@wemeetagain wemeetagain merged commit 0c810b8 into unstable Jul 5, 2024
20 checks passed
@wemeetagain wemeetagain deleted the nflaig/execution-offline-warning branch July 5, 2024 14:32
@wemeetagain
Copy link
Member

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

2 participants