From 645598e615a7fbaa021050119b29fb8f0680fa98 Mon Sep 17 00:00:00 2001 From: Tyera Eulberg Date: Tue, 17 Nov 2020 14:51:43 -0700 Subject: [PATCH] Improve monitoring of timestamp correction and bounding (#13656) * Include rejuvenated field in Clock parsing * Expand timestamp-correction logging info --- account-decoder/src/parse_sysvar.rs | 2 ++ runtime/src/bank.rs | 13 +++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/account-decoder/src/parse_sysvar.rs b/account-decoder/src/parse_sysvar.rs index 3c84acd99d..66c4ff3b3b 100644 --- a/account-decoder/src/parse_sysvar.rs +++ b/account-decoder/src/parse_sysvar.rs @@ -105,6 +105,7 @@ pub enum SysvarAccountType { pub struct UiClock { pub slot: Slot, pub epoch: Epoch, + pub epoch_start_timestamp: UnixTimestamp, pub leader_schedule_epoch: Epoch, pub unix_timestamp: UnixTimestamp, } @@ -114,6 +115,7 @@ impl From for UiClock { Self { slot: clock.slot, epoch: clock.epoch, + epoch_start_timestamp: clock.epoch_start_timestamp, leader_schedule_epoch: clock.leader_schedule_epoch, unix_timestamp: clock.unix_timestamp, } diff --git a/runtime/src/bank.rs b/runtime/src/bank.rs index 82ff2a13f8..1fcb847b21 100644 --- a/runtime/src/bank.rs +++ b/runtime/src/bank.rs @@ -1144,13 +1144,7 @@ impl Bank { self.get_timestamp_estimate(estimate_type, epoch_start_timestamp) { if timestamp_estimate > unix_timestamp { - datapoint_info!( - "bank-timestamp-correction", - ("from_genesis", unix_timestamp, i64), - ("corrected", timestamp_estimate, i64), - ); unix_timestamp = timestamp_estimate; - let ancestor_timestamp = self.clock().unix_timestamp; if self .feature_set @@ -1159,6 +1153,13 @@ impl Bank { { unix_timestamp = ancestor_timestamp; } + datapoint_info!( + "bank-timestamp-correction", + ("slot", self.slot(), i64), + ("from_genesis", unix_timestamp, i64), + ("corrected", timestamp_estimate, i64), + ("ancestor_timestamp", ancestor_timestamp, i64), + ); } } }