mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-15 02:42:38 +00:00
Metrics and DEBG log for late gossip blocks (#2533)
## Issue Addressed Which issue # does this PR address? ## Proposed Changes - Add a counter metric to log when a block is received late from gossip. - Also push a `DEBG` log for the above condition. - Use Debug (`?`) instead of Display (`%`) for a bunch of logs in the beacon processor, so we don't have to deal with concatenated block roots. - Add new ERRO and CRIT to HTTP API to alert users when they're publishing late blocks. ## Additional Info NA
This commit is contained in:
@@ -895,7 +895,10 @@ pub fn serve<T: BeaconChainTypes>(
|
||||
info!(
|
||||
log,
|
||||
"Valid block from HTTP API";
|
||||
"root" => format!("{}", root)
|
||||
"block_delay" => ?delay,
|
||||
"root" => format!("{}", root),
|
||||
"proposer_index" => block.message().proposer_index(),
|
||||
"slot" => block.slot(),
|
||||
);
|
||||
|
||||
// Notify the validator monitor.
|
||||
@@ -917,25 +920,25 @@ pub fn serve<T: BeaconChainTypes>(
|
||||
//
|
||||
// Check to see the thresholds are non-zero to avoid logging errors with small
|
||||
// slot times (e.g., during testing)
|
||||
let crit_threshold = chain.spec.seconds_per_slot / 3;
|
||||
let warn_threshold = chain.spec.seconds_per_slot / 6;
|
||||
if crit_threshold > 0 && delay.as_secs() > crit_threshold {
|
||||
let crit_threshold = chain.slot_clock.unagg_attestation_production_delay();
|
||||
let error_threshold = crit_threshold / 2;
|
||||
if delay >= crit_threshold {
|
||||
crit!(
|
||||
log,
|
||||
"Block was broadcast too late";
|
||||
"root" => ?root,
|
||||
"slot" => block.slot(),
|
||||
"delay_ms" => delay.as_millis(),
|
||||
"msg" => "system may be overloaded, block likely to be orphaned",
|
||||
"delay_ms" => delay.as_millis(),
|
||||
"slot" => block.slot(),
|
||||
"root" => ?root,
|
||||
)
|
||||
} else if warn_threshold > 0 && delay.as_secs() > warn_threshold {
|
||||
warn!(
|
||||
} else if delay >= error_threshold {
|
||||
error!(
|
||||
log,
|
||||
"Block broadcast was delayed";
|
||||
"root" => ?root,
|
||||
"slot" => block.slot(),
|
||||
"delay_ms" => delay.as_millis(),
|
||||
"msg" => "system may be overloaded, block may be orphaned",
|
||||
"delay_ms" => delay.as_millis(),
|
||||
"slot" => block.slot(),
|
||||
"root" => ?root,
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user