parent
9a7b6abc91
commit
b3bb4357bb
|
@ -11,6 +11,7 @@ use {
|
|||
gossip_service::GossipService,
|
||||
legacy_contact_info::LegacyContactInfo as ContactInfo,
|
||||
},
|
||||
solana_metrics::datapoint_info,
|
||||
solana_rpc_client::rpc_client::RpcClient,
|
||||
solana_runtime::{
|
||||
snapshot_archive_info::SnapshotArchiveInfoGetter,
|
||||
|
@ -593,6 +594,9 @@ pub fn rpc_bootstrap(
|
|||
return;
|
||||
}
|
||||
|
||||
let total_snapshot_download_time = Instant::now();
|
||||
let mut get_rpc_nodes_time = Duration::new(0, 0);
|
||||
let mut snapshot_download_time = Duration::new(0, 0);
|
||||
let mut blacklisted_rpc_nodes = HashSet::new();
|
||||
let mut gossip = None;
|
||||
let mut vetted_rpc_nodes = vec![];
|
||||
|
@ -617,6 +621,7 @@ pub fn rpc_bootstrap(
|
|||
));
|
||||
}
|
||||
|
||||
let get_rpc_nodes_start = Instant::now();
|
||||
get_vetted_rpc_nodes(
|
||||
&mut vetted_rpc_nodes,
|
||||
&gossip.as_ref().unwrap().0,
|
||||
|
@ -626,8 +631,10 @@ pub fn rpc_bootstrap(
|
|||
&bootstrap_config,
|
||||
);
|
||||
let (rpc_contact_info, snapshot_hash, rpc_client) = vetted_rpc_nodes.pop().unwrap();
|
||||
get_rpc_nodes_time += get_rpc_nodes_start.elapsed();
|
||||
|
||||
match attempt_download_genesis_and_snapshot(
|
||||
let snapshot_download_start = Instant::now();
|
||||
let download_result = attempt_download_genesis_and_snapshot(
|
||||
&rpc_contact_info,
|
||||
ledger_path,
|
||||
validator_config,
|
||||
|
@ -646,7 +653,9 @@ pub fn rpc_bootstrap(
|
|||
identity_keypair,
|
||||
vote_account,
|
||||
authorized_voter_keypairs.clone(),
|
||||
) {
|
||||
);
|
||||
snapshot_download_time += snapshot_download_start.elapsed();
|
||||
match download_result {
|
||||
Ok(()) => break,
|
||||
Err(err) => {
|
||||
fail_rpc_node(
|
||||
|
@ -662,6 +671,23 @@ pub fn rpc_bootstrap(
|
|||
if let Some(gossip) = gossip.take() {
|
||||
shutdown_gossip_service(gossip);
|
||||
}
|
||||
|
||||
datapoint_info!(
|
||||
"bootstrap-snapshot-download",
|
||||
(
|
||||
"total_time_secs",
|
||||
total_snapshot_download_time.elapsed().as_secs(),
|
||||
i64
|
||||
),
|
||||
("get_rpc_nodes_time_secs", get_rpc_nodes_time.as_secs(), i64),
|
||||
(
|
||||
"snapshot_download_time_secs",
|
||||
snapshot_download_time.as_secs(),
|
||||
i64
|
||||
),
|
||||
("download_abort_count", download_abort_count, i64),
|
||||
("blacklisted_nodes_count", blacklisted_rpc_nodes.len(), i64),
|
||||
);
|
||||
}
|
||||
|
||||
/// Get RPC peer node candidates to download from.
|
||||
|
|
Loading…
Reference in New Issue