Skip to content
This repository was archived by the owner on Jan 22, 2025. It is now read-only.

Commit 85e3058

Browse files
v1.16: Add metrics for locking the blockhash queue in banking stage (backport of #34382) (#34383)
* Add metrics for locking the blockhash queue in banking stage (#34382) (cherry picked from commit 2971e84) # Conflicts: # core/src/banking_stage/consume_worker.rs * resolve conflicts --------- Co-authored-by: Justin Starry <[email protected]> Co-authored-by: Justin Starry <[email protected]>
1 parent 87749a1 commit 85e3058

File tree

3 files changed

+12
-4
lines changed

3 files changed

+12
-4
lines changed

core/src/banking_stage/committer.rs

+3-4
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use {
1616
transaction_batch::TransactionBatch,
1717
vote_sender_types::ReplayVoteSender,
1818
},
19-
solana_sdk::{pubkey::Pubkey, saturating_add_assign},
19+
solana_sdk::{hash::Hash, pubkey::Pubkey, saturating_add_assign},
2020
solana_transaction_status::{
2121
token_balances::TransactionTokenBalancesSet, TransactionTokenBalance,
2222
},
@@ -65,6 +65,8 @@ impl Committer {
6565
batch: &TransactionBatch,
6666
loaded_transactions: &mut [TransactionLoadResult],
6767
execution_results: Vec<TransactionExecutionResult>,
68+
last_blockhash: Hash,
69+
lamports_per_signature: u64,
6870
starting_transaction_index: Option<usize>,
6971
bank: &Arc<Bank>,
7072
pre_balance_info: &mut PreBalanceInfo,
@@ -74,9 +76,6 @@ impl Committer {
7476
executed_non_vote_transactions_count: usize,
7577
executed_with_successful_result_count: usize,
7678
) -> (u64, Vec<CommitTransactionDetails>) {
77-
let (last_blockhash, lamports_per_signature) =
78-
bank.last_blockhash_and_lamports_per_signature();
79-
8079
let executed_transactions = execution_results
8180
.iter()
8281
.zip(batch.sanitized_transactions())

core/src/banking_stage/consumer.rs

+6
Original file line numberDiff line numberDiff line change
@@ -586,6 +586,10 @@ impl Consumer {
586586
let (freeze_lock, freeze_lock_us) = measure_us!(bank.freeze_lock());
587587
execute_and_commit_timings.freeze_lock_us = freeze_lock_us;
588588

589+
let ((last_blockhash, lamports_per_signature), last_blockhash_us) =
590+
measure_us!(bank.last_blockhash_and_lamports_per_signature());
591+
execute_and_commit_timings.last_blockhash_us = last_blockhash_us;
592+
589593
let (record_transactions_summary, record_us) = measure_us!(self
590594
.transaction_recorder
591595
.record_transactions(bank.slot(), executed_transactions));
@@ -622,6 +626,8 @@ impl Consumer {
622626
batch,
623627
&mut loaded_transactions,
624628
execution_results,
629+
last_blockhash,
630+
lamports_per_signature,
625631
starting_transaction_index,
626632
bank,
627633
&mut pre_balance_info,

core/src/leader_slot_banking_stage_timing_metrics.rs

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ pub struct LeaderExecuteAndCommitTimings {
1010
pub collect_balances_us: u64,
1111
pub load_execute_us: u64,
1212
pub freeze_lock_us: u64,
13+
pub last_blockhash_us: u64,
1314
pub record_us: u64,
1415
pub commit_us: u64,
1516
pub find_and_send_votes_us: u64,
@@ -22,6 +23,7 @@ impl LeaderExecuteAndCommitTimings {
2223
saturating_add_assign!(self.collect_balances_us, other.collect_balances_us);
2324
saturating_add_assign!(self.load_execute_us, other.load_execute_us);
2425
saturating_add_assign!(self.freeze_lock_us, other.freeze_lock_us);
26+
saturating_add_assign!(self.last_blockhash_us, other.last_blockhash_us);
2527
saturating_add_assign!(self.record_us, other.record_us);
2628
saturating_add_assign!(self.commit_us, other.commit_us);
2729
saturating_add_assign!(self.find_and_send_votes_us, other.find_and_send_votes_us);
@@ -38,6 +40,7 @@ impl LeaderExecuteAndCommitTimings {
3840
("collect_balances_us", self.collect_balances_us as i64, i64),
3941
("load_execute_us", self.load_execute_us as i64, i64),
4042
("freeze_lock_us", self.freeze_lock_us as i64, i64),
43+
("last_blockhash_us", self.last_blockhash_us as i64, i64),
4144
("record_us", self.record_us as i64, i64),
4245
("commit_us", self.commit_us as i64, i64),
4346
(

0 commit comments

Comments
 (0)