Skip to content

Commit 3eb763b

Browse files
int88isaac.asimov
authored andcommitted
add attestation inclusion distance in http api (sigp#4148)
## Issue Addressed sigp#4097 ## Proposed Changes Add attestation inclusion distance in http api, extend `/lighthouse/ui/validator_metrics` to include it. ## Usage ``` curl -X POST "http://localhost:8001/lighthouse/ui/validator_metrics" -d '{"indices": [1]}' -H "Content-Type: application/json" | jq ``` ``` { "data": { "validators": { "1": { "attestation_hits": 3, "attestation_misses": 1, "attestation_hit_percentage": 75, "attestation_head_hits": 3, "attestation_head_misses": 0, "attestation_head_hit_percentage": 100, "attestation_target_hits": 3, "attestation_target_misses": 0, "attestation_target_hit_percentage": 100, "attestation_inclusion_distance": 1 } } } } ``` ## Additional Info NA
1 parent 53ea791 commit 3eb763b

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

beacon_node/beacon_chain/src/validator_monitor.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@ pub struct ValidatorMetrics {
199199
pub attestation_head_misses: u64,
200200
pub attestation_target_hits: u64,
201201
pub attestation_target_misses: u64,
202+
pub latest_attestation_inclusion_distance: u64,
202203
}
203204

204205
impl ValidatorMetrics {
@@ -225,6 +226,10 @@ impl ValidatorMetrics {
225226
pub fn increment_head_misses(&mut self) {
226227
self.attestation_head_misses += 1;
227228
}
229+
230+
pub fn set_latest_inclusion_distance(&mut self, distance: u64) {
231+
self.latest_attestation_inclusion_distance = distance;
232+
}
228233
}
229234

230235
/// A validator that is being monitored by the `ValidatorMonitor`.
@@ -568,7 +573,6 @@ impl<T: EthSpec> ValidatorMonitor<T> {
568573
} else {
569574
validator_metrics.increment_misses()
570575
}
571-
drop(validator_metrics);
572576

573577
// Indicates if any attestation made it on-chain.
574578
//
@@ -693,8 +697,10 @@ impl<T: EthSpec> ValidatorMonitor<T> {
693697
&[id],
694698
inclusion_delay as i64,
695699
);
700+
validator_metrics.set_latest_inclusion_distance(inclusion_delay);
696701
}
697702
}
703+
drop(validator_metrics);
698704

699705
// Indicates the number of sync committee signatures that made it into
700706
// a sync aggregate in the current_epoch (state.epoch - 1).

beacon_node/http_api/src/ui.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ pub struct ValidatorMetrics {
165165
attestation_target_hits: u64,
166166
attestation_target_misses: u64,
167167
attestation_target_hit_percentage: f64,
168+
latest_attestation_inclusion_distance: u64,
168169
}
169170

170171
#[derive(PartialEq, Serialize, Deserialize)]
@@ -210,6 +211,8 @@ pub fn post_validator_monitor_metrics<T: BeaconChainTypes>(
210211
let attestation_head_misses = val_metrics.attestation_head_misses;
211212
let attestation_target_hits = val_metrics.attestation_target_hits;
212213
let attestation_target_misses = val_metrics.attestation_target_misses;
214+
let latest_attestation_inclusion_distance =
215+
val_metrics.latest_attestation_inclusion_distance;
213216
drop(val_metrics);
214217

215218
let attestations = attestation_hits + attestation_misses;
@@ -242,6 +245,7 @@ pub fn post_validator_monitor_metrics<T: BeaconChainTypes>(
242245
attestation_target_hits,
243246
attestation_target_misses,
244247
attestation_target_hit_percentage,
248+
latest_attestation_inclusion_distance,
245249
};
246250

247251
validators.insert(id.clone(), metrics);

book/src/api-lighthouse.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,8 @@ curl -X POST "http://localhost:5052/lighthouse/ui/validator_metrics" -d '{"indic
141141
"attestation_head_hit_percentage": 100,
142142
"attestation_target_hits": 5,
143143
"attestation_target_misses": 5,
144-
"attestation_target_hit_percentage": 50
144+
"attestation_target_hit_percentage": 50,
145+
"latest_attestation_inclusion_distance": 1
145146
}
146147
}
147148
}

0 commit comments

Comments
 (0)