lighthouse/beacon_node/http_api/src
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
..
attestation_performance.rs improve error message (#4141) 2023-03-28 22:07:05 +00:00
attester_duties.rs attester_duties: remove unnecessary case (#4614) 2023-08-17 02:37:30 +00:00
block_id.rs Deneb pr updates 2 (#4851) 2023-10-17 09:53:46 +11:00
block_packing_efficiency.rs Rust 1.71 lints (#4503) 2023-07-17 00:14:19 +00:00
block_rewards.rs Cache target attester balances for unrealized FFG progression calculation (#4362) 2023-06-30 01:13:06 +00:00
build_block_contents.rs Block v3 endpoint (#4629) 2023-11-03 00:12:18 +00:00
builder_states.rs Implement expected withdrawals endpoint (#4390) 2023-08-24 05:54:36 +00:00
database.rs Improvements to Deneb store upon review (#4693) 2023-09-25 14:21:54 -04:00
lib.rs Block v3 endpoint (#4629) 2023-11-03 00:12:18 +00:00
metrics.rs More deneb cleanup (#4640) 2023-08-20 21:17:17 -04:00
produce_block.rs Block v3 endpoint (#4629) 2023-11-03 00:12:18 +00:00
proposer_duties.rs Add missed blocks to monitored validators (#4731) 2023-11-09 15:05:14 +11:00
publish_blocks.rs Reduce calls to network channel (#4863) 2023-10-20 19:42:47 +00:00
standard_block_rewards.rs Address Clippy 1.73 lints on Deneb branch (#4810) 2023-10-06 12:23:57 +05:30
state_id.rs Remove double-locking deadlock from HTTP API (#4687) 2023-08-31 11:18:00 +00:00
sync_committee_rewards.rs Add finalized to HTTP API responses (#3753) 2023-03-30 06:08:37 +00:00
sync_committees.rs Activate clippy::manual_let_else lint (#4889) 2023-10-31 10:31:02 +00:00
task_spawner.rs Send success code for duplicate blocks on HTTP (#4655) 2023-08-28 00:55:31 +00:00
test_utils.rs Merge unstable 20230925 into deneb-free-blobs. 2023-09-26 10:32:18 +10:00
ui.rs Split common crates out into their own repos (#3890) 2023-04-28 01:15:40 +00:00
validator_inclusion.rs Add finalized to HTTP API responses (#3753) 2023-03-30 06:08:37 +00:00
validator.rs Block v3 endpoint (#4629) 2023-11-03 00:12:18 +00:00
version.rs Block v3 endpoint (#4629) 2023-11-03 00:12:18 +00:00