lighthouse/beacon_node
Joel Rousseau ac8811afac
Add missed blocks to monitored validators (#4731)
* add missed_block metric

* init missed_block in constructor

* declare beaconproposercache in ValidatorMonitor

* refacto proposer_shuffling_decision_root to use epoch instead of current.epoch

* imple new proposer_shuffling_decision_root in callers

* push missed_blocks

* prune missed_blocks

* only add to hashmap if it's a monitored validator

* remove current_epoch dup + typos

* extract in func

* add prom metrics

* checkpoint is not only epoch but slot as well

* add safeguard if we start a new chain at slot 0

* clean

* remove unnecessary negative value for a slot

* typo in comment

* remove unused current_epoch

* share beacon_proposer_cache between validator_monitor and beacon_chain

* pass Hash256::zero()

* debug objects

* fix loop: lag is at the head

* sed s/get_slot/get_epoch

* fewer calls to cache.get_epoch

* fix typos

* remove cache first call

* export TYPICAL_SLOTS_PER_EPOCH and use it in validator_monitor

* switch to gauge & loop over missed_blocks hashset

* fix subnet_service tests

* remove unused var

* clean + fix nits

* add beacon_proposer_cache + validator_monitor in builder

* fix store_tests

* fix builder tests

* add tests

* add validator monitor set of tests

* clean tests

* nits

* optimise imports

* lint

* typo

* added self.aggregatable

* duplicate proposer_shuffling_decision_root

* remove duplication in passing beacon_proposer_cache

* remove duplication in passing beacon_proposer_cache

* using indices

* fmt

* implement missed blocks total

* nits

* avoid heap allocation

* remove recursion limit

* fix lint

* Fix valdiator monitor builder pattern

Unify validator monitor config struct

* renaming metrics

* renaming metrics in validator monitor

* add log if there's a missing validator index

* consistent log

* fix loop

* better loop

* move gauge to counter

* fmt

* add error message

* lint

* fix prom metrics

* set gauge to 0 when non-finalized epochs

* better wording

* remove hash256::zero in favour of block_root

* fix gauge total label

* fix last missed block validator

* Add `MissedBlock` struct

* Fix comment

* Refactor non-finalized block loop

* Fix off-by-one

* Avoid string allocation

* Fix compile error

* Remove non-finalized blocks metric

* fix func clojure

* remove unused variable

* remove unused DEFAULT_INDIVIDUAL_TRACKING_THRESHOLD

* remove unused DEFAULT_INDIVIDUAL_TRACKING_THRESHOLD in builder

* add validator index depending on the fork name

* typos

---------

Co-authored-by: Paul Hauner <paul@paulhauner.com>
2023-11-09 15:05:14 +11:00
..
beacon_chain Add missed blocks to monitored validators (#4731) 2023-11-09 15:05:14 +11:00
beacon_processor Merge unstable 20230925 into deneb-free-blobs. 2023-09-26 10:32:18 +10:00
builder_client Merge unstable 20230925 into deneb-free-blobs. 2023-09-26 10:32:18 +10:00
client Add missed blocks to monitored validators (#4731) 2023-11-09 15:05:14 +11:00
eth1 fix typos (#4838) 2023-10-19 22:05:15 +00:00
execution_layer Block v3 endpoint (#4629) 2023-11-03 00:12:18 +00:00
genesis Move dependencies to workspace (#4650) 2023-09-22 04:30:56 +00:00
http_api Add missed blocks to monitored validators (#4731) 2023-11-09 15:05:14 +11:00
http_metrics Move dependencies to workspace (#4650) 2023-09-22 04:30:56 +00:00
lighthouse_network Activate clippy::manual_let_else lint (#4889) 2023-10-31 10:31:02 +00:00
network Add missed blocks to monitored validators (#4731) 2023-11-09 15:05:14 +11:00
operation_pool Enable BLS portable feature on all CI tests (#4868) 2023-10-20 07:30:27 +00:00
src Add missed blocks to monitored validators (#4731) 2023-11-09 15:05:14 +11:00
store Add commmand for pruning states (#4835) 2023-11-03 00:12:19 +00:00
tests Appease Clippy 1.68 and refactor http_api (#4068) 2023-03-13 01:40:03 +00:00
timer Activate clippy::manual_let_else lint (#4889) 2023-10-31 10:31:02 +00:00
Cargo.toml Merge unstable 20230925 into deneb-free-blobs. 2023-09-26 10:32:18 +10:00