From a9e158663b16e5c097e809d0e6c021cd6f4b83a8 Mon Sep 17 00:00:00 2001 From: eklm Date: Mon, 20 Jun 2022 04:06:30 +0000 Subject: [PATCH] Fix validator_monitor_prev_epoch_ metrics (#2911) ## Issue Addressed #2820 ## Proposed Changes The problem is that validator_monitor_prev_epoch metrics are updated only if there is EpochSummary present in summaries map for the previous epoch and it is not the case for the offline validator. Ensure that EpochSummary is inserted into summaries map also for the offline validators. --- beacon_node/beacon_chain/src/validator_monitor.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/beacon_node/beacon_chain/src/validator_monitor.rs b/beacon_node/beacon_chain/src/validator_monitor.rs index 6292409d7..06734d3e6 100644 --- a/beacon_node/beacon_chain/src/validator_monitor.rs +++ b/beacon_node/beacon_chain/src/validator_monitor.rs @@ -231,6 +231,11 @@ impl MonitoredValidator { } } } + + /// Ensure epoch summary is added to the summaries map + fn touch_epoch_summary(&self, epoch: Epoch) { + self.with_epoch_summary(epoch, |_| {}); + } } /// Holds a collection of `MonitoredValidator` and is notified about a variety of events on the P2P @@ -306,6 +311,7 @@ impl ValidatorMonitor { // Update metrics for individual validators. for monitored_validator in self.validators.values() { if let Some(i) = monitored_validator.index { + monitored_validator.touch_epoch_summary(current_epoch); let i = i as usize; let id = &monitored_validator.id;