Add ProgramCacheUs to execute timings (#473)

This commit is contained in:
Andrew Fitzgerald 2024-04-02 10:03:55 -05:00 committed by GitHub
parent e8159251e9
commit 65f54bec88
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 14 additions and 0 deletions

View File

@ -51,6 +51,7 @@ pub enum ExecuteTimingType {
CollectLogsUs,
TotalBatchesLen,
UpdateTransactionStatuses,
ProgramCacheUs,
}
pub struct Metrics([u64; ExecuteTimingType::CARDINALITY]);
@ -94,6 +95,13 @@ eager_macro_rules! { $eager_1
.index(ExecuteTimingType::CheckUs),
i64
),
(
"program_cache_us",
*$self
.metrics
.index(ExecuteTimingType::ProgramCacheUs),
i64
),
(
"load_us",
*$self

View File

@ -211,6 +211,7 @@ impl<FG: ForkGraph> TransactionBatchProcessor<FG> {
log_messages_bytes_limit: Option<usize>,
limit_to_load_programs: bool,
) -> LoadAndExecuteSanitizedTransactionsOutput {
let mut program_cache_time = Measure::start("program_cache");
let mut program_accounts_map = Self::filter_executable_program_accounts(
callbacks,
sanitized_txs,
@ -234,6 +235,7 @@ impl<FG: ForkGraph> TransactionBatchProcessor<FG> {
execution_results: vec![],
};
}
program_cache_time.stop();
let mut load_time = Measure::start("accounts_load");
let mut loaded_transactions = load_accounts(
@ -328,6 +330,10 @@ impl<FG: ForkGraph> TransactionBatchProcessor<FG> {
sanitized_txs.len(),
);
timings.saturating_add_in_place(
ExecuteTimingType::ProgramCacheUs,
program_cache_time.as_us(),
);
timings.saturating_add_in_place(ExecuteTimingType::LoadUs, load_time.as_us());
timings.saturating_add_in_place(ExecuteTimingType::ExecuteUs, execution_time.as_us());