Add metrics for EE PayloadStatus returns (#3486)

## Issue Addressed

NA

## Proposed Changes

Adds some metrics so we can track payload status responses from the EE. I think this will be useful for troubleshooting and alerting.

I also bumped the `BecaonChain::per_slot_task` to `debug` since it doesn't seem too noisy and would have helped us with some things we were debugging in the past.

## Additional Info

NA
This commit is contained in:
Paul Hauner
2022-08-19 04:27:23 +00:00
parent 043fa2153e
commit df358b864d
6 changed files with 30 additions and 3 deletions

View File

@@ -893,6 +893,13 @@ impl<T: EthSpec> ExecutionLayer<T> {
.request(|engine| engine.api.new_payload_v1(execution_payload.clone()))
.await;
if let Ok(status) = &result {
metrics::inc_counter_vec(
&metrics::EXECUTION_LAYER_PAYLOAD_STATUS,
&["new_payload", status.status.into()],
);
}
process_payload_status(execution_payload.block_hash, result, self.log())
.map_err(Box::new)
.map_err(Error::EngineError)
@@ -1032,6 +1039,13 @@ impl<T: EthSpec> ExecutionLayer<T> {
})
.await;
if let Ok(status) = &result {
metrics::inc_counter_vec(
&metrics::EXECUTION_LAYER_PAYLOAD_STATUS,
&["forkchoice_updated", status.payload_status.status.into()],
);
}
process_payload_status(
head_block_hash,
result.map(|response| response.payload_status),