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

Add execution stats in grafana dashboard #4362

Merged
merged 3 commits into from
Aug 5, 2022
Merged

Conversation

g11tech
Copy link
Contributor

@g11tech g11tech commented Aug 4, 2022

Motivation

Add execution stats in grafana dashboard

Closes #4351

Execution dashboard

image

Modified eth1 dashboard (added retries and routeIds on some panels + a bit rearrangement)

image

@g11tech g11tech mentioned this pull request Aug 4, 2022
22 tasks
@github-actions
Copy link
Contributor

github-actions bot commented Aug 4, 2022

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 006d0c7 Previous: b34abb7 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.9669 ms/op 2.0731 ms/op 0.95
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 73.488 us/op 76.264 us/op 0.96
BLS verify - blst-native 1.8567 ms/op 2.5407 ms/op 0.73
BLS verifyMultipleSignatures 3 - blst-native 3.8012 ms/op 5.2459 ms/op 0.72
BLS verifyMultipleSignatures 8 - blst-native 8.1803 ms/op 10.990 ms/op 0.74
BLS verifyMultipleSignatures 32 - blst-native 29.646 ms/op 39.967 ms/op 0.74
BLS aggregatePubkeys 32 - blst-native 39.028 us/op 55.284 us/op 0.71
BLS aggregatePubkeys 128 - blst-native 152.45 us/op 209.85 us/op 0.73
getAttestationsForBlock 164.92 ms/op 179.16 ms/op 0.92
isKnown best case - 1 super set check 419.00 ns/op 465.00 ns/op 0.90
isKnown normal case - 2 super set checks 409.00 ns/op 479.00 ns/op 0.85
isKnown worse case - 16 super set checks 408.00 ns/op 475.00 ns/op 0.86
CheckpointStateCache - add get delete 8.6780 us/op 10.065 us/op 0.86
validate gossip signedAggregateAndProof - struct 4.2627 ms/op 5.6849 ms/op 0.75
validate gossip attestation - struct 2.0342 ms/op 2.7814 ms/op 0.73
altair verifyImport mainnet_s3766816:31 8.6786 s/op 10.056 s/op 0.86
pickEth1Vote - no votes 2.0716 ms/op 2.3491 ms/op 0.88
pickEth1Vote - max votes 21.444 ms/op 22.161 ms/op 0.97
pickEth1Vote - Eth1Data hashTreeRoot value x2048 10.950 ms/op 13.552 ms/op 0.81
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 20.709 ms/op 22.032 ms/op 0.94
pickEth1Vote - Eth1Data fastSerialize value x2048 1.6169 ms/op 1.7145 ms/op 0.94
pickEth1Vote - Eth1Data fastSerialize tree x2048 17.178 ms/op 15.849 ms/op 1.08
bytes32 toHexString 1.1090 us/op 1.1710 us/op 0.95
bytes32 Buffer.toString(hex) 728.00 ns/op 778.00 ns/op 0.94
bytes32 Buffer.toString(hex) from Uint8Array 937.00 ns/op 1.0580 us/op 0.89
bytes32 Buffer.toString(hex) + 0x 703.00 ns/op 786.00 ns/op 0.89
Object access 1 prop 0.36000 ns/op 0.41000 ns/op 0.88
Map access 1 prop 0.30900 ns/op 0.30800 ns/op 1.00
Object get x1000 17.581 ns/op 14.655 ns/op 1.20
Map get x1000 1.1040 ns/op 0.88900 ns/op 1.24
Object set x1000 119.48 ns/op 106.90 ns/op 1.12
Map set x1000 72.796 ns/op 74.839 ns/op 0.97
Return object 10000 times 0.36790 ns/op 0.39400 ns/op 0.93
Throw Error 10000 times 5.9452 us/op 6.5403 us/op 0.91
enrSubnets - fastDeserialize 64 bits 2.8350 us/op 3.0190 us/op 0.94
enrSubnets - ssz BitVector 64 bits 775.00 ns/op 905.00 ns/op 0.86
enrSubnets - fastDeserialize 4 bits 412.00 ns/op 401.00 ns/op 1.03
enrSubnets - ssz BitVector 4 bits 745.00 ns/op 867.00 ns/op 0.86
prioritizePeers score -10:0 att 32-0.1 sync 2-0 93.864 us/op 102.04 us/op 0.92
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 123.69 us/op 140.59 us/op 0.88
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 220.01 us/op 250.07 us/op 0.88
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 466.93 us/op 544.71 us/op 0.86
prioritizePeers score 0:0 att 64-1 sync 4-1 465.31 us/op 613.00 us/op 0.76
RateTracker 1000000 limit, 1 obj count per request 203.74 ns/op 203.20 ns/op 1.00
RateTracker 1000000 limit, 2 obj count per request 148.20 ns/op 149.11 ns/op 0.99
RateTracker 1000000 limit, 4 obj count per request 123.98 ns/op 125.36 ns/op 0.99
RateTracker 1000000 limit, 8 obj count per request 108.58 ns/op 121.56 ns/op 0.89
RateTracker with prune 4.7360 us/op 5.1230 us/op 0.92
array of 16000 items push then shift 3.0810 us/op 4.9314 us/op 0.62
LinkedList of 16000 items push then shift 27.409 ns/op 18.014 ns/op 1.52
array of 16000 items push then pop 266.48 ns/op 254.59 ns/op 1.05
LinkedList of 16000 items push then pop 24.080 ns/op 17.550 ns/op 1.37
array of 24000 items push then shift 4.5550 us/op 7.2688 us/op 0.63
LinkedList of 24000 items push then shift 29.198 ns/op 18.566 ns/op 1.57
array of 24000 items push then pop 205.91 ns/op 203.40 ns/op 1.01
LinkedList of 24000 items push then pop 23.853 ns/op 17.373 ns/op 1.37
intersect bitArray bitLen 8 11.664 ns/op 11.782 ns/op 0.99
intersect array and set length 8 171.15 ns/op 186.16 ns/op 0.92
intersect bitArray bitLen 128 72.193 ns/op 67.480 ns/op 1.07
intersect array and set length 128 2.3087 us/op 2.2906 us/op 1.01
Buffer.concat 32 items 1.9620 ns/op 2.0060 ns/op 0.98
pass gossip attestations to forkchoice per slot 3.2169 ms/op 3.8688 ms/op 0.83
computeDeltas 3.4205 ms/op 3.3988 ms/op 1.01
computeProposerBoostScoreFromBalances 907.46 us/op 819.94 us/op 1.11
altair processAttestation - 250000 vs - 7PWei normalcase 4.0463 ms/op 4.6460 ms/op 0.87
altair processAttestation - 250000 vs - 7PWei worstcase 6.0369 ms/op 6.5096 ms/op 0.93
altair processAttestation - setStatus - 1/6 committees join 206.89 us/op 231.16 us/op 0.90
altair processAttestation - setStatus - 1/3 committees join 394.55 us/op 414.40 us/op 0.95
altair processAttestation - setStatus - 1/2 committees join 554.38 us/op 598.37 us/op 0.93
altair processAttestation - setStatus - 2/3 committees join 705.45 us/op 805.68 us/op 0.88
altair processAttestation - setStatus - 4/5 committees join 993.02 us/op 1.1107 ms/op 0.89
altair processAttestation - setStatus - 100% committees join 1.1680 ms/op 1.3532 ms/op 0.86
altair processBlock - 250000 vs - 7PWei normalcase 29.182 ms/op 28.710 ms/op 1.02
altair processBlock - 250000 vs - 7PWei normalcase hashState 40.071 ms/op 38.800 ms/op 1.03
altair processBlock - 250000 vs - 7PWei worstcase 83.749 ms/op 91.707 ms/op 0.91
altair processBlock - 250000 vs - 7PWei worstcase hashState 100.00 ms/op 116.93 ms/op 0.86
phase0 processBlock - 250000 vs - 7PWei normalcase 4.4810 ms/op 4.5602 ms/op 0.98
phase0 processBlock - 250000 vs - 7PWei worstcase 47.697 ms/op 61.448 ms/op 0.78
altair processEth1Data - 250000 vs - 7PWei normalcase 849.27 us/op 980.18 us/op 0.87
Tree 40 250000 create 780.18 ms/op 918.48 ms/op 0.85
Tree 40 250000 get(125000) 283.12 ns/op 298.60 ns/op 0.95
Tree 40 250000 set(125000) 2.3863 us/op 2.8019 us/op 0.85
Tree 40 250000 toArray() 36.654 ms/op 32.276 ms/op 1.14
Tree 40 250000 iterate all - toArray() + loop 36.981 ms/op 32.271 ms/op 1.15
Tree 40 250000 iterate all - get(i) 113.11 ms/op 126.91 ms/op 0.89
MutableVector 250000 create 15.029 ms/op 17.823 ms/op 0.84
MutableVector 250000 get(125000) 14.803 ns/op 13.656 ns/op 1.08
MutableVector 250000 set(125000) 592.13 ns/op 779.96 ns/op 0.76
MutableVector 250000 toArray() 7.1628 ms/op 6.8777 ms/op 1.04
MutableVector 250000 iterate all - toArray() + loop 7.4066 ms/op 7.3602 ms/op 1.01
MutableVector 250000 iterate all - get(i) 3.4404 ms/op 3.2953 ms/op 1.04
Array 250000 create 6.4200 ms/op 6.4969 ms/op 0.99
Array 250000 clone - spread 3.2485 ms/op 3.9180 ms/op 0.83
Array 250000 get(125000) 1.4480 ns/op 1.6910 ns/op 0.86
Array 250000 set(125000) 1.4420 ns/op 1.7560 ns/op 0.82
Array 250000 iterate all - loop 167.86 us/op 130.41 us/op 1.29
effectiveBalanceIncrements clone Uint8Array 300000 77.138 us/op 172.22 us/op 0.45
effectiveBalanceIncrements clone MutableVector 300000 816.00 ns/op 669.00 ns/op 1.22
effectiveBalanceIncrements rw all Uint8Array 300000 252.51 us/op 287.62 us/op 0.88
effectiveBalanceIncrements rw all MutableVector 300000 177.08 ms/op 192.70 ms/op 0.92
phase0 afterProcessEpoch - 250000 vs - 7PWei 189.22 ms/op 214.63 ms/op 0.88
phase0 beforeProcessEpoch - 250000 vs - 7PWei 75.047 ms/op 70.692 ms/op 1.06
altair processEpoch - mainnet_e81889 601.90 ms/op 649.35 ms/op 0.93
mainnet_e81889 - altair beforeProcessEpoch 176.91 ms/op 97.808 ms/op 1.81
mainnet_e81889 - altair processJustificationAndFinalization 32.928 us/op 71.027 us/op 0.46
mainnet_e81889 - altair processInactivityUpdates 11.601 ms/op 12.793 ms/op 0.91
mainnet_e81889 - altair processRewardsAndPenalties 95.821 ms/op 97.949 ms/op 0.98
mainnet_e81889 - altair processRegistryUpdates 4.6390 us/op 18.119 us/op 0.26
mainnet_e81889 - altair processSlashings 1.6410 us/op 5.2380 us/op 0.31
mainnet_e81889 - altair processEth1DataReset 1.3990 us/op 5.8600 us/op 0.24
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.3694 ms/op 3.0218 ms/op 0.78
mainnet_e81889 - altair processSlashingsReset 12.216 us/op 29.822 us/op 0.41
mainnet_e81889 - altair processRandaoMixesReset 10.925 us/op 32.439 us/op 0.34
mainnet_e81889 - altair processHistoricalRootsUpdate 1.4390 us/op 5.5670 us/op 0.26
mainnet_e81889 - altair processParticipationFlagUpdates 4.0150 us/op 15.156 us/op 0.26
mainnet_e81889 - altair processSyncCommitteeUpdates 1.3260 us/op 4.3300 us/op 0.31
mainnet_e81889 - altair afterProcessEpoch 198.79 ms/op 204.62 ms/op 0.97
phase0 processEpoch - mainnet_e58758 545.47 ms/op 601.27 ms/op 0.91
mainnet_e58758 - phase0 beforeProcessEpoch 240.83 ms/op 260.94 ms/op 0.92
mainnet_e58758 - phase0 processJustificationAndFinalization 33.239 us/op 93.965 us/op 0.35
mainnet_e58758 - phase0 processRewardsAndPenalties 144.73 ms/op 92.259 ms/op 1.57
mainnet_e58758 - phase0 processRegistryUpdates 13.953 us/op 38.495 us/op 0.36
mainnet_e58758 - phase0 processSlashings 1.0650 us/op 5.6650 us/op 0.19
mainnet_e58758 - phase0 processEth1DataReset 1.1050 us/op 5.4560 us/op 0.20
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 2.0728 ms/op 2.5061 ms/op 0.83
mainnet_e58758 - phase0 processSlashingsReset 5.2210 us/op 29.701 us/op 0.18
mainnet_e58758 - phase0 processRandaoMixesReset 6.9180 us/op 33.825 us/op 0.20
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.0820 us/op 5.6110 us/op 0.19
mainnet_e58758 - phase0 processParticipationRecordUpdates 5.6080 us/op 29.180 us/op 0.19
mainnet_e58758 - phase0 afterProcessEpoch 161.82 ms/op 172.99 ms/op 0.94
phase0 processEffectiveBalanceUpdates - 250000 normalcase 2.8010 ms/op 2.4011 ms/op 1.17
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 3.4480 ms/op 2.6567 ms/op 1.30
altair processInactivityUpdates - 250000 normalcase 41.103 ms/op 50.490 ms/op 0.81
altair processInactivityUpdates - 250000 worstcase 50.372 ms/op 47.382 ms/op 1.06
phase0 processRegistryUpdates - 250000 normalcase 14.199 us/op 33.314 us/op 0.43
phase0 processRegistryUpdates - 250000 badcase_full_deposits 584.21 us/op 504.94 us/op 1.16
phase0 processRegistryUpdates - 250000 worstcase 0.5 215.03 ms/op 251.36 ms/op 0.86
altair processRewardsAndPenalties - 250000 normalcase 147.11 ms/op 138.55 ms/op 1.06
altair processRewardsAndPenalties - 250000 worstcase 88.280 ms/op 114.30 ms/op 0.77
phase0 getAttestationDeltas - 250000 normalcase 13.578 ms/op 14.744 ms/op 0.92
phase0 getAttestationDeltas - 250000 worstcase 13.667 ms/op 14.316 ms/op 0.95
phase0 processSlashings - 250000 worstcase 5.4415 ms/op 6.1379 ms/op 0.89
altair processSyncCommitteeUpdates - 250000 278.74 ms/op 322.63 ms/op 0.86
BeaconState.hashTreeRoot - No change 518.00 ns/op 563.00 ns/op 0.92
BeaconState.hashTreeRoot - 1 full validator 62.661 us/op 79.624 us/op 0.79
BeaconState.hashTreeRoot - 32 full validator 712.22 us/op 820.79 us/op 0.87
BeaconState.hashTreeRoot - 512 full validator 5.8994 ms/op 7.9605 ms/op 0.74
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 77.046 us/op 112.09 us/op 0.69
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.1364 ms/op 1.5251 ms/op 0.75
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 15.108 ms/op 18.925 ms/op 0.80
BeaconState.hashTreeRoot - 1 balances 61.347 us/op 107.70 us/op 0.57
BeaconState.hashTreeRoot - 32 balances 571.30 us/op 678.83 us/op 0.84
BeaconState.hashTreeRoot - 512 balances 5.8403 ms/op 6.8656 ms/op 0.85
BeaconState.hashTreeRoot - 250000 balances 91.636 ms/op 121.52 ms/op 0.75
aggregationBits - 2048 els - zipIndexesInBitList 29.094 us/op 38.464 us/op 0.76
regular array get 100000 times 67.487 us/op 62.012 us/op 1.09
wrappedArray get 100000 times 67.487 us/op 66.255 us/op 1.02
arrayWithProxy get 100000 times 28.988 ms/op 39.302 ms/op 0.74
ssz.Root.equals 498.00 ns/op 656.00 ns/op 0.76
byteArrayEquals 487.00 ns/op 600.00 ns/op 0.81
shuffle list - 16384 els 11.134 ms/op 13.617 ms/op 0.82
shuffle list - 250000 els 166.74 ms/op 181.90 ms/op 0.92
processSlot - 1 slots 12.529 us/op 16.746 us/op 0.75
processSlot - 32 slots 1.7163 ms/op 2.2220 ms/op 0.77
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 643.51 us/op 1.2044 ms/op 0.53
getCommitteeAssignments - req 1 vs - 250000 vc 5.2663 ms/op 5.2004 ms/op 1.01
getCommitteeAssignments - req 100 vs - 250000 vc 7.3076 ms/op 7.7633 ms/op 0.94
getCommitteeAssignments - req 1000 vs - 250000 vc 7.7987 ms/op 7.7833 ms/op 1.00
computeProposers - vc 250000 18.409 ms/op 20.892 ms/op 0.88
computeEpochShuffling - vc 250000 169.96 ms/op 179.90 ms/op 0.94
getNextSyncCommittee - vc 250000 267.30 ms/op 304.10 ms/op 0.88

by benchmarkbot/action

@g11tech g11tech marked this pull request as ready for review August 5, 2022 08:21
@g11tech g11tech requested a review from a team as a code owner August 5, 2022 08:21
@g11tech g11tech enabled auto-merge (squash) August 5, 2022 10:11
@g11tech g11tech merged commit c2b073e into unstable Aug 5, 2022
@g11tech g11tech deleted the g11tech/exec-metrics branch August 5, 2022 15:40
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.

Add execution metrics in dashboard
2 participants