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

Dashboard to show validator_monitor_validators metric #4631

Merged
merged 1 commit into from Oct 5, 2022

Conversation

twoeths
Copy link
Contributor

@twoeths twoeths commented Oct 4, 2022

Motivation

  • Grafana dashboard was not able to show connected validators, it said "No Data" instead

Description

Closes #4620

@twoeths twoeths requested a review from a team as a code owner October 4, 2022 03:05
@github-actions
Copy link
Contributor

github-actions bot commented Oct 4, 2022

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 7b9e361 Previous: 19b5fe1 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.0894 ms/op 3.1945 ms/op 0.65
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 55.835 us/op 120.58 us/op 0.46
BLS verify - blst-native 1.5660 ms/op 1.8641 ms/op 0.84
BLS verifyMultipleSignatures 3 - blst-native 3.1951 ms/op 3.8090 ms/op 0.84
BLS verifyMultipleSignatures 8 - blst-native 6.9058 ms/op 8.2041 ms/op 0.84
BLS verifyMultipleSignatures 32 - blst-native 25.083 ms/op 29.739 ms/op 0.84
BLS aggregatePubkeys 32 - blst-native 33.746 us/op 40.198 us/op 0.84
BLS aggregatePubkeys 128 - blst-native 130.28 us/op 153.59 us/op 0.85
getAttestationsForBlock 70.196 ms/op 113.62 ms/op 0.62
isKnown best case - 1 super set check 363.00 ns/op 427.00 ns/op 0.85
isKnown normal case - 2 super set checks 349.00 ns/op 417.00 ns/op 0.84
isKnown worse case - 16 super set checks 349.00 ns/op 414.00 ns/op 0.84
CheckpointStateCache - add get delete 7.1510 us/op 10.281 us/op 0.70
validate gossip signedAggregateAndProof - struct 3.6969 ms/op 4.2667 ms/op 0.87
validate gossip attestation - struct 1.6985 ms/op 2.0377 ms/op 0.83
pickEth1Vote - no votes 1.6475 ms/op 2.3363 ms/op 0.71
pickEth1Vote - max votes 18.655 ms/op 25.415 ms/op 0.73
pickEth1Vote - Eth1Data hashTreeRoot value x2048 9.9885 ms/op 11.976 ms/op 0.83
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 18.206 ms/op 23.227 ms/op 0.78
pickEth1Vote - Eth1Data fastSerialize value x2048 1.1349 ms/op 1.5993 ms/op 0.71
pickEth1Vote - Eth1Data fastSerialize tree x2048 11.828 ms/op 16.162 ms/op 0.73
bytes32 toHexString 820.00 ns/op 1.1270 us/op 0.73
bytes32 Buffer.toString(hex) 608.00 ns/op 709.00 ns/op 0.86
bytes32 Buffer.toString(hex) from Uint8Array 829.00 ns/op 973.00 ns/op 0.85
bytes32 Buffer.toString(hex) + 0x 619.00 ns/op 703.00 ns/op 0.88
Object access 1 prop 0.34400 ns/op 0.36700 ns/op 0.94
Map access 1 prop 0.25400 ns/op 0.29900 ns/op 0.85
Object get x1000 7.9260 ns/op 18.390 ns/op 0.43
Map get x1000 0.68300 ns/op 1.0040 ns/op 0.68
Object set x1000 77.019 ns/op 142.14 ns/op 0.54
Map set x1000 46.693 ns/op 81.092 ns/op 0.58
Return object 10000 times 0.32220 ns/op 0.37870 ns/op 0.85
Throw Error 10000 times 4.3323 us/op 6.0074 us/op 0.72
enrSubnets - fastDeserialize 64 bits 2.4920 us/op 2.9560 us/op 0.84
enrSubnets - ssz BitVector 64 bits 700.00 ns/op 819.00 ns/op 0.85
enrSubnets - fastDeserialize 4 bits 342.00 ns/op 379.00 ns/op 0.90
enrSubnets - ssz BitVector 4 bits 693.00 ns/op 819.00 ns/op 0.85
prioritizePeers score -10:0 att 32-0.1 sync 2-0 72.599 us/op 97.761 us/op 0.74
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 84.155 us/op 127.79 us/op 0.66
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 155.58 us/op 214.48 us/op 0.73
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 333.70 us/op 516.50 us/op 0.65
prioritizePeers score 0:0 att 64-1 sync 4-1 297.01 us/op 479.41 us/op 0.62
RateTracker 1000000 limit, 1 obj count per request 144.76 ns/op 210.24 ns/op 0.69
RateTracker 1000000 limit, 2 obj count per request 108.25 ns/op 164.99 ns/op 0.66
RateTracker 1000000 limit, 4 obj count per request 90.031 ns/op 140.98 ns/op 0.64
RateTracker 1000000 limit, 8 obj count per request 81.640 ns/op 129.13 ns/op 0.63
RateTracker with prune 4.0670 us/op 6.6680 us/op 0.61
array of 16000 items push then shift 36.882 us/op 3.2785 us/op 11.25
LinkedList of 16000 items push then shift 10.288 ns/op 21.273 ns/op 0.48
array of 16000 items push then pop 179.03 ns/op 319.12 ns/op 0.56
LinkedList of 16000 items push then pop 9.8260 ns/op 18.565 ns/op 0.53
array of 24000 items push then shift 55.268 us/op 4.6309 us/op 11.93
LinkedList of 24000 items push then shift 12.129 ns/op 30.777 ns/op 0.39
array of 24000 items push then pop 123.92 ns/op 274.80 ns/op 0.45
LinkedList of 24000 items push then pop 9.1210 ns/op 21.964 ns/op 0.42
intersect bitArray bitLen 8 7.5750 ns/op 11.606 ns/op 0.65
intersect array and set length 8 104.92 ns/op 212.39 ns/op 0.49
intersect bitArray bitLen 128 39.748 ns/op 72.217 ns/op 0.55
intersect array and set length 128 1.3547 us/op 2.5535 us/op 0.53
Buffer.concat 32 items 1.3160 ns/op 2.0570 ns/op 0.64
pass gossip attestations to forkchoice per slot 5.1127 ms/op 4.2871 ms/op 1.19
computeDeltas 4.0247 ms/op 5.9766 ms/op 0.67
computeProposerBoostScoreFromBalances 576.68 us/op 908.13 us/op 0.64
altair processAttestation - 250000 vs - 7PWei normalcase 2.8783 ms/op 4.2577 ms/op 0.68
altair processAttestation - 250000 vs - 7PWei worstcase 3.7892 ms/op 6.8593 ms/op 0.55
altair processAttestation - setStatus - 1/6 committees join 139.99 us/op 238.41 us/op 0.59
altair processAttestation - setStatus - 1/3 committees join 263.90 us/op 448.58 us/op 0.59
altair processAttestation - setStatus - 1/2 committees join 378.84 us/op 631.21 us/op 0.60
altair processAttestation - setStatus - 2/3 committees join 491.51 us/op 796.35 us/op 0.62
altair processAttestation - setStatus - 4/5 committees join 669.19 us/op 1.1369 ms/op 0.59
altair processAttestation - setStatus - 100% committees join 808.28 us/op 1.3308 ms/op 0.61
altair processBlock - 250000 vs - 7PWei normalcase 25.161 ms/op 37.865 ms/op 0.66
altair processBlock - 250000 vs - 7PWei normalcase hashState 28.442 ms/op 51.034 ms/op 0.56
altair processBlock - 250000 vs - 7PWei worstcase 75.362 ms/op 92.713 ms/op 0.81
altair processBlock - 250000 vs - 7PWei worstcase hashState 78.765 ms/op 112.74 ms/op 0.70
phase0 processBlock - 250000 vs - 7PWei normalcase 2.4056 ms/op 4.0322 ms/op 0.60
phase0 processBlock - 250000 vs - 7PWei worstcase 36.577 ms/op 47.663 ms/op 0.77
altair processEth1Data - 250000 vs - 7PWei normalcase 637.95 us/op 1.0064 ms/op 0.63
Tree 40 250000 create 648.66 ms/op 1.1071 s/op 0.59
Tree 40 250000 get(125000) 170.16 ns/op 301.55 ns/op 0.56
Tree 40 250000 set(125000) 1.8153 us/op 2.9014 us/op 0.63
Tree 40 250000 toArray() 21.637 ms/op 41.757 ms/op 0.52
Tree 40 250000 iterate all - toArray() + loop 21.399 ms/op 41.541 ms/op 0.52
Tree 40 250000 iterate all - get(i) 80.166 ms/op 122.91 ms/op 0.65
MutableVector 250000 create 9.2671 ms/op 16.493 ms/op 0.56
MutableVector 250000 get(125000) 7.6190 ns/op 14.758 ns/op 0.52
MutableVector 250000 set(125000) 429.00 ns/op 855.48 ns/op 0.50
MutableVector 250000 toArray() 4.1873 ms/op 10.320 ms/op 0.41
MutableVector 250000 iterate all - toArray() + loop 4.3295 ms/op 10.285 ms/op 0.42
MutableVector 250000 iterate all - get(i) 1.8873 ms/op 3.2859 ms/op 0.57
Array 250000 create 4.1651 ms/op 9.4157 ms/op 0.44
Array 250000 clone - spread 2.7054 ms/op 4.9419 ms/op 0.55
Array 250000 get(125000) 1.2110 ns/op 1.8570 ns/op 0.65
Array 250000 set(125000) 1.2220 ns/op 1.7050 ns/op 0.72
Array 250000 iterate all - loop 113.29 us/op 167.97 us/op 0.67
effectiveBalanceIncrements clone Uint8Array 300000 69.462 us/op 162.22 us/op 0.43
effectiveBalanceIncrements clone MutableVector 300000 564.00 ns/op 1.2090 us/op 0.47
effectiveBalanceIncrements rw all Uint8Array 300000 177.22 us/op 252.76 us/op 0.70
effectiveBalanceIncrements rw all MutableVector 300000 102.47 ms/op 292.57 ms/op 0.35
phase0 afterProcessEpoch - 250000 vs - 7PWei 147.53 ms/op 191.35 ms/op 0.77
phase0 beforeProcessEpoch - 250000 vs - 7PWei 46.647 ms/op 114.32 ms/op 0.41
altair processEpoch - mainnet_e81889 464.79 ms/op 674.53 ms/op 0.69
mainnet_e81889 - altair beforeProcessEpoch 109.39 ms/op 177.17 ms/op 0.62
mainnet_e81889 - altair processJustificationAndFinalization 15.512 us/op 22.658 us/op 0.68
mainnet_e81889 - altair processInactivityUpdates 6.8013 ms/op 12.757 ms/op 0.53
mainnet_e81889 - altair processRewardsAndPenalties 71.087 ms/op 111.53 ms/op 0.64
mainnet_e81889 - altair processRegistryUpdates 2.3660 us/op 3.6760 us/op 0.64
mainnet_e81889 - altair processSlashings 599.00 ns/op 817.00 ns/op 0.73
mainnet_e81889 - altair processEth1DataReset 570.00 ns/op 904.00 ns/op 0.63
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.5695 ms/op 2.4198 ms/op 0.65
mainnet_e81889 - altair processSlashingsReset 3.8470 us/op 5.6050 us/op 0.69
mainnet_e81889 - altair processRandaoMixesReset 3.6720 us/op 8.7880 us/op 0.42
mainnet_e81889 - altair processHistoricalRootsUpdate 584.00 ns/op 1.5990 us/op 0.37
mainnet_e81889 - altair processParticipationFlagUpdates 2.1180 us/op 3.9660 us/op 0.53
mainnet_e81889 - altair processSyncCommitteeUpdates 624.00 ns/op 961.00 ns/op 0.65
mainnet_e81889 - altair afterProcessEpoch 145.11 ms/op 210.52 ms/op 0.69
phase0 processEpoch - mainnet_e58758 379.56 ms/op 733.22 ms/op 0.52
mainnet_e58758 - phase0 beforeProcessEpoch 159.79 ms/op 279.23 ms/op 0.57
mainnet_e58758 - phase0 processJustificationAndFinalization 19.761 us/op 22.034 us/op 0.90
mainnet_e58758 - phase0 processRewardsAndPenalties 96.176 ms/op 124.44 ms/op 0.77
mainnet_e58758 - phase0 processRegistryUpdates 6.8800 us/op 10.255 us/op 0.67
mainnet_e58758 - phase0 processSlashings 870.00 ns/op 745.00 ns/op 1.17
mainnet_e58758 - phase0 processEth1DataReset 842.00 ns/op 781.00 ns/op 1.08
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.2225 ms/op 2.0008 ms/op 0.61
mainnet_e58758 - phase0 processSlashingsReset 5.6970 us/op 4.6480 us/op 1.23
mainnet_e58758 - phase0 processRandaoMixesReset 5.6000 us/op 5.6890 us/op 0.98
mainnet_e58758 - phase0 processHistoricalRootsUpdate 693.00 ns/op 935.00 ns/op 0.74
mainnet_e58758 - phase0 processParticipationRecordUpdates 6.1170 us/op 5.1740 us/op 1.18
mainnet_e58758 - phase0 afterProcessEpoch 113.80 ms/op 168.51 ms/op 0.68
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.5070 ms/op 2.7531 ms/op 0.55
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.6955 ms/op 3.6656 ms/op 0.46
altair processInactivityUpdates - 250000 normalcase 29.301 ms/op 48.790 ms/op 0.60
altair processInactivityUpdates - 250000 worstcase 35.293 ms/op 60.180 ms/op 0.59
phase0 processRegistryUpdates - 250000 normalcase 7.9910 us/op 8.4930 us/op 0.94
phase0 processRegistryUpdates - 250000 badcase_full_deposits 292.51 us/op 415.65 us/op 0.70
phase0 processRegistryUpdates - 250000 worstcase 0.5 153.83 ms/op 269.35 ms/op 0.57
altair processRewardsAndPenalties - 250000 normalcase 102.38 ms/op 150.33 ms/op 0.68
altair processRewardsAndPenalties - 250000 worstcase 69.365 ms/op 104.01 ms/op 0.67
phase0 getAttestationDeltas - 250000 normalcase 11.157 ms/op 15.462 ms/op 0.72
phase0 getAttestationDeltas - 250000 worstcase 10.872 ms/op 14.478 ms/op 0.75
phase0 processSlashings - 250000 worstcase 3.7307 ms/op 5.2551 ms/op 0.71
altair processSyncCommitteeUpdates - 250000 229.23 ms/op 305.24 ms/op 0.75
BeaconState.hashTreeRoot - No change 423.00 ns/op 514.00 ns/op 0.82
BeaconState.hashTreeRoot - 1 full validator 55.951 us/op 67.731 us/op 0.83
BeaconState.hashTreeRoot - 32 full validator 534.21 us/op 667.62 us/op 0.80
BeaconState.hashTreeRoot - 512 full validator 6.9600 ms/op 6.9923 ms/op 1.00
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 67.444 us/op 85.382 us/op 0.79
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.0054 ms/op 1.2647 ms/op 0.79
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 14.019 ms/op 17.108 ms/op 0.82
BeaconState.hashTreeRoot - 1 balances 49.995 us/op 64.899 us/op 0.77
BeaconState.hashTreeRoot - 32 balances 500.41 us/op 643.34 us/op 0.78
BeaconState.hashTreeRoot - 512 balances 5.1957 ms/op 6.7537 ms/op 0.77
BeaconState.hashTreeRoot - 250000 balances 80.368 ms/op 100.98 ms/op 0.80
aggregationBits - 2048 els - zipIndexesInBitList 22.620 us/op 43.239 us/op 0.52
regular array get 100000 times 43.304 us/op 67.481 us/op 0.64
wrappedArray get 100000 times 43.491 us/op 67.560 us/op 0.64
arrayWithProxy get 100000 times 20.227 ms/op 29.743 ms/op 0.68
ssz.Root.equals 399.00 ns/op 559.00 ns/op 0.71
byteArrayEquals 398.00 ns/op 539.00 ns/op 0.74
shuffle list - 16384 els 8.4639 ms/op 11.085 ms/op 0.76
shuffle list - 250000 els 122.39 ms/op 167.50 ms/op 0.73
processSlot - 1 slots 11.499 us/op 14.047 us/op 0.82
processSlot - 32 slots 1.5931 ms/op 2.0176 ms/op 0.79
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 331.92 us/op 442.19 us/op 0.75
getCommitteeAssignments - req 1 vs - 250000 vc 3.9161 ms/op 5.3280 ms/op 0.73
getCommitteeAssignments - req 100 vs - 250000 vc 5.7386 ms/op 7.3347 ms/op 0.78
getCommitteeAssignments - req 1000 vs - 250000 vc 6.1320 ms/op 7.7905 ms/op 0.79
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.7900 ns/op 11.000 ns/op 0.53
state getBlockRootAtSlot - 250000 vs - 7PWei 979.94 ns/op 1.1644 us/op 0.84
computeProposers - vc 250000 13.954 ms/op 17.965 ms/op 0.78
computeEpochShuffling - vc 250000 126.04 ms/op 172.07 ms/op 0.73
getNextSyncCommittee - vc 250000 211.26 ms/op 291.21 ms/op 0.73

by benchmarkbot/action

@dapplion dapplion merged commit f54903b into unstable Oct 5, 2022
@dapplion dapplion deleted the tuyen/correct_connected_validators_metric branch October 5, 2022 09:55
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.

Missing number of validators in Grafana dashboard
2 participants