Refactor timestamp_now (#9094)

#9077


  Where possible replaces all instances of `validator_monitor::timestamp_now` with `chain.slot_clock.now_duration().unwrap_or_default()`.
Where chain/slot_clock is not available, instead replace it with a convenience function `slot_clock::timestamp_now`.
Remove the `validator_monitor::timestamp_now` function.


Co-Authored-By: Mac L <mjladson@pm.me>
This commit is contained in:
Mac L
2026-04-09 12:41:02 +04:00
committed by GitHub
parent fb5a0434d7
commit 7c2dcfc0d6
12 changed files with 60 additions and 60 deletions

View File

@@ -19,8 +19,8 @@ use lighthouse_network::{
};
use logging::TimeLatch;
use logging::crit;
use slot_clock::SlotClock;
use std::sync::Arc;
use std::time::{Duration, SystemTime, UNIX_EPOCH};
use tokio::sync::mpsc;
use tokio_stream::wrappers::UnboundedReceiverStream;
use tracing::{debug, error, trace, warn};
@@ -351,6 +351,7 @@ impl<T: BeaconChainTypes> Router<T> {
gossip_message: PubsubMessage<T::EthSpec>,
should_process: bool,
) {
let seen_timestamp = self.chain.slot_clock.now_duration().unwrap_or_default();
match gossip_message {
PubsubMessage::AggregateAndProofAttestation(aggregate_and_proof) => self
.handle_beacon_processor_send_result(
@@ -358,7 +359,7 @@ impl<T: BeaconChainTypes> Router<T> {
message_id,
peer_id,
*aggregate_and_proof,
timestamp_now(),
seen_timestamp,
),
),
PubsubMessage::Attestation(subnet_attestation) => self
@@ -369,7 +370,7 @@ impl<T: BeaconChainTypes> Router<T> {
subnet_attestation.1,
subnet_attestation.0,
should_process,
timestamp_now(),
seen_timestamp,
),
),
PubsubMessage::BeaconBlock(block) => self.handle_beacon_processor_send_result(
@@ -378,7 +379,7 @@ impl<T: BeaconChainTypes> Router<T> {
peer_id,
self.network_globals.client(&peer_id),
block,
timestamp_now(),
seen_timestamp,
),
),
PubsubMessage::BlobSidecar(data) => {
@@ -390,7 +391,7 @@ impl<T: BeaconChainTypes> Router<T> {
self.network_globals.client(&peer_id),
blob_index,
blob_sidecar,
timestamp_now(),
seen_timestamp,
),
)
}
@@ -403,7 +404,7 @@ impl<T: BeaconChainTypes> Router<T> {
peer_id,
subnet_id,
column_sidecar,
timestamp_now(),
seen_timestamp,
),
)
}
@@ -450,7 +451,7 @@ impl<T: BeaconChainTypes> Router<T> {
message_id,
peer_id,
*contribution_and_proof,
timestamp_now(),
seen_timestamp,
),
)
}
@@ -465,7 +466,7 @@ impl<T: BeaconChainTypes> Router<T> {
peer_id,
sync_committtee_msg.1,
sync_committtee_msg.0,
timestamp_now(),
seen_timestamp,
),
)
}
@@ -480,7 +481,7 @@ impl<T: BeaconChainTypes> Router<T> {
message_id,
peer_id,
*light_client_finality_update,
timestamp_now(),
seen_timestamp,
),
)
}
@@ -496,7 +497,7 @@ impl<T: BeaconChainTypes> Router<T> {
message_id,
peer_id,
*light_client_optimistic_update,
timestamp_now(),
seen_timestamp,
),
)
}
@@ -516,7 +517,7 @@ impl<T: BeaconChainTypes> Router<T> {
message_id,
peer_id,
signed_execution_payload_envelope,
timestamp_now(),
seen_timestamp,
),
)
}
@@ -642,7 +643,7 @@ impl<T: BeaconChainTypes> Router<T> {
peer_id,
sync_request_id,
beacon_block,
seen_timestamp: timestamp_now(),
seen_timestamp: self.chain.slot_clock.now_duration().unwrap_or_default(),
});
}
@@ -662,7 +663,7 @@ impl<T: BeaconChainTypes> Router<T> {
peer_id,
sync_request_id,
blob_sidecar,
seen_timestamp: timestamp_now(),
seen_timestamp: self.chain.slot_clock.now_duration().unwrap_or_default(),
});
} else {
crit!("All blobs by range responses should belong to sync");
@@ -699,7 +700,7 @@ impl<T: BeaconChainTypes> Router<T> {
peer_id,
sync_request_id,
beacon_block,
seen_timestamp: timestamp_now(),
seen_timestamp: self.chain.slot_clock.now_duration().unwrap_or_default(),
});
}
@@ -733,7 +734,7 @@ impl<T: BeaconChainTypes> Router<T> {
sync_request_id,
peer_id,
blob_sidecar,
seen_timestamp: timestamp_now(),
seen_timestamp: self.chain.slot_clock.now_duration().unwrap_or_default(),
});
}
@@ -767,7 +768,7 @@ impl<T: BeaconChainTypes> Router<T> {
sync_request_id,
peer_id,
data_column,
seen_timestamp: timestamp_now(),
seen_timestamp: self.chain.slot_clock.now_duration().unwrap_or_default(),
});
}
@@ -787,7 +788,7 @@ impl<T: BeaconChainTypes> Router<T> {
peer_id,
sync_request_id,
data_column,
seen_timestamp: timestamp_now(),
seen_timestamp: self.chain.slot_clock.now_duration().unwrap_or_default(),
});
} else {
crit!("All data columns by range responses should belong to sync");
@@ -855,9 +856,3 @@ impl<E: EthSpec> HandlerNetworkContext<E> {
})
}
}
fn timestamp_now() -> Duration {
SystemTime::now()
.duration_since(UNIX_EPOCH)
.unwrap_or_else(|_| Duration::from_secs(0))
}

View File

@@ -49,7 +49,6 @@ use crate::sync::block_lookups::{
use crate::sync::custody_backfill_sync::CustodyBackFillSync;
use crate::sync::network_context::{PeerGroup, RpcResponseResult};
use beacon_chain::block_verification_types::AsBlock;
use beacon_chain::validator_monitor::timestamp_now;
use beacon_chain::{
AvailabilityProcessingStatus, BeaconChain, BeaconChainTypes, BlockError, EngineState,
};
@@ -851,7 +850,7 @@ impl<T: BeaconChainTypes> SyncManager<T> {
BlockComponent::Block(DownloadResult {
value: block.block_cloned(),
block_root,
seen_timestamp: timestamp_now(),
seen_timestamp: self.chain.slot_clock.now_duration().unwrap_or_default(),
peer_group: PeerGroup::from_single(peer_id),
}),
);
@@ -869,7 +868,7 @@ impl<T: BeaconChainTypes> SyncManager<T> {
BlockComponent::Blob(DownloadResult {
value: blob,
block_root,
seen_timestamp: timestamp_now(),
seen_timestamp: self.chain.slot_clock.now_duration().unwrap_or_default(),
peer_group: PeerGroup::from_single(peer_id),
}),
);
@@ -889,7 +888,11 @@ impl<T: BeaconChainTypes> SyncManager<T> {
BlockComponent::DataColumn(DownloadResult {
value: data_column,
block_root,
seen_timestamp: timestamp_now(),
seen_timestamp: self
.chain
.slot_clock
.now_duration()
.unwrap_or_default(),
peer_group: PeerGroup::from_single(peer_id),
}),
);

View File

@@ -2,11 +2,11 @@ use crate::sync::network_context::{
DataColumnsByRootRequestId, DataColumnsByRootSingleBlockRequest,
};
use beacon_chain::BeaconChainTypes;
use beacon_chain::validator_monitor::timestamp_now;
use fnv::FnvHashMap;
use lighthouse_network::PeerId;
use lighthouse_network::service::api_types::{CustodyId, DataColumnsByRootRequester};
use parking_lot::RwLock;
use slot_clock::SlotClock;
use std::collections::HashSet;
use std::hash::{BuildHasher, RandomState};
use std::time::{Duration, Instant};
@@ -223,7 +223,10 @@ impl<T: BeaconChainTypes> ActiveCustodyRequest<T> {
.collect::<Result<Vec<_>, _>>()?;
let peer_group = PeerGroup::from_set(peers);
let max_seen_timestamp = seen_timestamps.into_iter().max().unwrap_or(timestamp_now());
let max_seen_timestamp = seen_timestamps
.into_iter()
.max()
.unwrap_or_else(|| cx.chain.slot_clock.now_duration().unwrap_or_default());
return Ok(Some((columns, peer_group, max_seen_timestamp)));
}

View File

@@ -1,9 +1,9 @@
use std::time::Instant;
use std::{collections::hash_map::Entry, hash::Hash};
use beacon_chain::validator_monitor::timestamp_now;
use fnv::FnvHashMap;
use lighthouse_network::PeerId;
use slot_clock::timestamp_now;
use strum::IntoStaticStr;
use tracing::{Span, debug};
use types::{Hash256, Slot};