move `ExecuteTimings` from `runtime::bank` to `program_runtime::timings`
This commit is contained in:
parent
47b74e28ec
commit
7d32909e17
|
@ -5134,6 +5134,7 @@ dependencies = [
|
||||||
"solana-measure",
|
"solana-measure",
|
||||||
"solana-metrics",
|
"solana-metrics",
|
||||||
"solana-perf",
|
"solana-perf",
|
||||||
|
"solana-program-runtime",
|
||||||
"solana-rayon-threadlimit",
|
"solana-rayon-threadlimit",
|
||||||
"solana-runtime",
|
"solana-runtime",
|
||||||
"solana-sdk",
|
"solana-sdk",
|
||||||
|
|
|
@ -43,6 +43,7 @@ solana-metrics = { path = "../metrics", version = "=1.10.0" }
|
||||||
solana-net-utils = { path = "../net-utils", version = "=1.10.0" }
|
solana-net-utils = { path = "../net-utils", version = "=1.10.0" }
|
||||||
solana-perf = { path = "../perf", version = "=1.10.0" }
|
solana-perf = { path = "../perf", version = "=1.10.0" }
|
||||||
solana-poh = { path = "../poh", version = "=1.10.0" }
|
solana-poh = { path = "../poh", version = "=1.10.0" }
|
||||||
|
solana-program-runtime = { path = "../program-runtime", version = "=1.10.0" }
|
||||||
solana-rpc = { path = "../rpc", version = "=1.10.0" }
|
solana-rpc = { path = "../rpc", version = "=1.10.0" }
|
||||||
solana-replica-lib = { path = "../replica-lib", version = "=1.10.0" }
|
solana-replica-lib = { path = "../replica-lib", version = "=1.10.0" }
|
||||||
solana-runtime = { path = "../runtime", version = "=1.10.0" }
|
solana-runtime = { path = "../runtime", version = "=1.10.0" }
|
||||||
|
|
|
@ -18,12 +18,10 @@ use {
|
||||||
perf_libs,
|
perf_libs,
|
||||||
},
|
},
|
||||||
solana_poh::poh_recorder::{BankStart, PohRecorder, PohRecorderError, TransactionRecorder},
|
solana_poh::poh_recorder::{BankStart, PohRecorder, PohRecorderError, TransactionRecorder},
|
||||||
|
solana_program_runtime::timings::ExecuteTimings,
|
||||||
solana_runtime::{
|
solana_runtime::{
|
||||||
accounts_db::ErrorCounters,
|
accounts_db::ErrorCounters,
|
||||||
bank::{
|
bank::{Bank, TransactionBalancesSet, TransactionCheckResult, TransactionExecutionResult},
|
||||||
Bank, ExecuteTimings, TransactionBalancesSet, TransactionCheckResult,
|
|
||||||
TransactionExecutionResult,
|
|
||||||
},
|
|
||||||
bank_utils,
|
bank_utils,
|
||||||
cost_model::CostModel,
|
cost_model::CostModel,
|
||||||
transaction_batch::TransactionBatch,
|
transaction_batch::TransactionBatch,
|
||||||
|
|
|
@ -6,10 +6,8 @@
|
||||||
use {
|
use {
|
||||||
solana_ledger::blockstore::Blockstore,
|
solana_ledger::blockstore::Blockstore,
|
||||||
solana_measure::measure::Measure,
|
solana_measure::measure::Measure,
|
||||||
solana_runtime::{
|
solana_program_runtime::timings::ExecuteTimings,
|
||||||
bank::{Bank, ExecuteTimings},
|
solana_runtime::{bank::Bank, cost_model::CostModel},
|
||||||
cost_model::CostModel,
|
|
||||||
},
|
|
||||||
solana_sdk::timing::timestamp,
|
solana_sdk::timing::timestamp,
|
||||||
std::{
|
std::{
|
||||||
sync::{
|
sync::{
|
||||||
|
|
|
@ -40,13 +40,14 @@ use {
|
||||||
solana_measure::measure::Measure,
|
solana_measure::measure::Measure,
|
||||||
solana_metrics::inc_new_counter_info,
|
solana_metrics::inc_new_counter_info,
|
||||||
solana_poh::poh_recorder::{PohRecorder, GRACE_TICKS_FACTOR, MAX_GRACE_SLOTS},
|
solana_poh::poh_recorder::{PohRecorder, GRACE_TICKS_FACTOR, MAX_GRACE_SLOTS},
|
||||||
|
solana_program_runtime::timings::ExecuteTimings,
|
||||||
solana_rpc::{
|
solana_rpc::{
|
||||||
optimistically_confirmed_bank_tracker::{BankNotification, BankNotificationSender},
|
optimistically_confirmed_bank_tracker::{BankNotification, BankNotificationSender},
|
||||||
rpc_subscriptions::RpcSubscriptions,
|
rpc_subscriptions::RpcSubscriptions,
|
||||||
},
|
},
|
||||||
solana_runtime::{
|
solana_runtime::{
|
||||||
accounts_background_service::AbsRequestSender,
|
accounts_background_service::AbsRequestSender,
|
||||||
bank::{Bank, ExecuteTimings, NewBankOptions},
|
bank::{Bank, NewBankOptions},
|
||||||
bank_forks::BankForks,
|
bank_forks::BankForks,
|
||||||
commitment::BlockCommitmentCache,
|
commitment::BlockCommitmentCache,
|
||||||
vote_sender_types::ReplayVoteSender,
|
vote_sender_types::ReplayVoteSender,
|
||||||
|
|
|
@ -38,6 +38,7 @@ solana-frozen-abi-macro = { path = "../frozen-abi/macro", version = "=1.10.0" }
|
||||||
solana-transaction-status = { path = "../transaction-status", version = "=1.10.0" }
|
solana-transaction-status = { path = "../transaction-status", version = "=1.10.0" }
|
||||||
solana-measure = { path = "../measure", version = "=1.10.0" }
|
solana-measure = { path = "../measure", version = "=1.10.0" }
|
||||||
solana-metrics = { path = "../metrics", version = "=1.10.0" }
|
solana-metrics = { path = "../metrics", version = "=1.10.0" }
|
||||||
|
solana-program-runtime = { path = "../program-runtime", version = "=1.10.0" }
|
||||||
solana-perf = { path = "../perf", version = "=1.10.0" }
|
solana-perf = { path = "../perf", version = "=1.10.0" }
|
||||||
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.10.0" }
|
solana-rayon-threadlimit = { path = "../rayon-threadlimit", version = "=1.10.0" }
|
||||||
solana-runtime = { path = "../runtime", version = "=1.10.0" }
|
solana-runtime = { path = "../runtime", version = "=1.10.0" }
|
||||||
|
|
|
@ -14,13 +14,14 @@ use {
|
||||||
},
|
},
|
||||||
solana_measure::measure::Measure,
|
solana_measure::measure::Measure,
|
||||||
solana_metrics::{datapoint_error, inc_new_counter_debug},
|
solana_metrics::{datapoint_error, inc_new_counter_debug},
|
||||||
|
solana_program_runtime::timings::ExecuteTimings,
|
||||||
solana_rayon_threadlimit::get_thread_count,
|
solana_rayon_threadlimit::get_thread_count,
|
||||||
solana_runtime::{
|
solana_runtime::{
|
||||||
accounts_db::{AccountShrinkThreshold, AccountsDbConfig},
|
accounts_db::{AccountShrinkThreshold, AccountsDbConfig},
|
||||||
accounts_index::AccountSecondaryIndexes,
|
accounts_index::AccountSecondaryIndexes,
|
||||||
accounts_update_notifier_interface::AccountsUpdateNotifier,
|
accounts_update_notifier_interface::AccountsUpdateNotifier,
|
||||||
bank::{
|
bank::{
|
||||||
Bank, ExecuteTimings, RentDebits, TransactionBalancesSet, TransactionExecutionResult,
|
Bank, RentDebits, TransactionBalancesSet, TransactionExecutionResult,
|
||||||
TransactionResults,
|
TransactionResults,
|
||||||
},
|
},
|
||||||
bank_forks::BankForks,
|
bank_forks::BankForks,
|
||||||
|
|
|
@ -35,6 +35,39 @@ impl ProgramTiming {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Default, Debug)]
|
||||||
|
pub struct ExecuteTimings {
|
||||||
|
pub check_us: u64,
|
||||||
|
pub load_us: u64,
|
||||||
|
pub execute_us: u64,
|
||||||
|
pub store_us: u64,
|
||||||
|
pub update_stakes_cache_us: u64,
|
||||||
|
pub total_batches_len: usize,
|
||||||
|
pub num_execute_batches: u64,
|
||||||
|
pub collect_logs_us: u64,
|
||||||
|
pub details: ExecuteDetailsTimings,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl ExecuteTimings {
|
||||||
|
pub fn accumulate(&mut self, other: &ExecuteTimings) {
|
||||||
|
self.check_us = self.check_us.saturating_add(other.check_us);
|
||||||
|
self.load_us = self.load_us.saturating_add(other.load_us);
|
||||||
|
self.execute_us = self.execute_us.saturating_add(other.execute_us);
|
||||||
|
self.store_us = self.store_us.saturating_add(other.store_us);
|
||||||
|
self.update_stakes_cache_us = self
|
||||||
|
.update_stakes_cache_us
|
||||||
|
.saturating_add(other.update_stakes_cache_us);
|
||||||
|
self.total_batches_len = self
|
||||||
|
.total_batches_len
|
||||||
|
.saturating_add(other.total_batches_len);
|
||||||
|
self.num_execute_batches = self
|
||||||
|
.num_execute_batches
|
||||||
|
.saturating_add(other.num_execute_batches);
|
||||||
|
self.collect_logs_us = self.collect_logs_us.saturating_add(other.collect_logs_us);
|
||||||
|
self.details.accumulate(&other.details);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Default, Debug, PartialEq)]
|
#[derive(Default, Debug, PartialEq)]
|
||||||
pub struct ExecuteDetailsTimings {
|
pub struct ExecuteDetailsTimings {
|
||||||
pub serialize_us: u64,
|
pub serialize_us: u64,
|
||||||
|
|
|
@ -11,9 +11,11 @@ use {
|
||||||
log::*,
|
log::*,
|
||||||
solana_banks_client::start_client,
|
solana_banks_client::start_client,
|
||||||
solana_banks_server::banks_server::start_local_server,
|
solana_banks_server::banks_server::start_local_server,
|
||||||
solana_program_runtime::{ic_msg, invoke_context::ProcessInstructionWithContext, stable_log},
|
solana_program_runtime::{
|
||||||
|
ic_msg, invoke_context::ProcessInstructionWithContext, stable_log, timings::ExecuteTimings,
|
||||||
|
},
|
||||||
solana_runtime::{
|
solana_runtime::{
|
||||||
bank::{Bank, ExecuteTimings},
|
bank::Bank,
|
||||||
bank_forks::BankForks,
|
bank_forks::BankForks,
|
||||||
builtins::Builtin,
|
builtins::Builtin,
|
||||||
commitment::BlockCommitmentCache,
|
commitment::BlockCommitmentCache,
|
||||||
|
|
|
@ -3375,6 +3375,7 @@ dependencies = [
|
||||||
"num-traits",
|
"num-traits",
|
||||||
"rustc_version 0.4.0",
|
"rustc_version 0.4.0",
|
||||||
"serde",
|
"serde",
|
||||||
|
"solana-measure",
|
||||||
"solana-sdk",
|
"solana-sdk",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
]
|
]
|
||||||
|
|
|
@ -17,7 +17,7 @@ use solana_bpf_loader_program::{
|
||||||
use solana_bpf_rust_invoke::instructions::*;
|
use solana_bpf_rust_invoke::instructions::*;
|
||||||
use solana_bpf_rust_realloc::instructions::*;
|
use solana_bpf_rust_realloc::instructions::*;
|
||||||
use solana_bpf_rust_realloc_invoke::instructions::*;
|
use solana_bpf_rust_realloc_invoke::instructions::*;
|
||||||
use solana_program_runtime::invoke_context::with_mock_invoke_context;
|
use solana_program_runtime::{invoke_context::with_mock_invoke_context, timings::ExecuteTimings};
|
||||||
use solana_rbpf::{
|
use solana_rbpf::{
|
||||||
elf::Executable,
|
elf::Executable,
|
||||||
static_analysis::Analysis,
|
static_analysis::Analysis,
|
||||||
|
@ -25,7 +25,7 @@ use solana_rbpf::{
|
||||||
};
|
};
|
||||||
use solana_runtime::{
|
use solana_runtime::{
|
||||||
bank::{
|
bank::{
|
||||||
Bank, DurableNonceFee, ExecuteTimings, TransactionBalancesSet, TransactionExecutionDetails,
|
Bank, DurableNonceFee, TransactionBalancesSet, TransactionExecutionDetails,
|
||||||
TransactionExecutionResult, TransactionResults,
|
TransactionExecutionResult, TransactionResults,
|
||||||
},
|
},
|
||||||
bank_client::BankClient,
|
bank_client::BankClient,
|
||||||
|
|
|
@ -78,7 +78,7 @@ use {
|
||||||
BuiltinProgram, Executor, Executors, ProcessInstructionWithContext, TransactionExecutor,
|
BuiltinProgram, Executor, Executors, ProcessInstructionWithContext, TransactionExecutor,
|
||||||
},
|
},
|
||||||
log_collector::LogCollector,
|
log_collector::LogCollector,
|
||||||
timings::ExecuteDetailsTimings,
|
timings::{ExecuteDetailsTimings, ExecuteTimings},
|
||||||
},
|
},
|
||||||
solana_sdk::{
|
solana_sdk::{
|
||||||
account::{
|
account::{
|
||||||
|
@ -209,36 +209,6 @@ impl RentDebits {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Debug)]
|
|
||||||
pub struct ExecuteTimings {
|
|
||||||
pub check_us: u64,
|
|
||||||
pub load_us: u64,
|
|
||||||
pub execute_us: u64,
|
|
||||||
pub store_us: u64,
|
|
||||||
pub update_stakes_cache_us: u64,
|
|
||||||
pub total_batches_len: usize,
|
|
||||||
pub num_execute_batches: u64,
|
|
||||||
pub details: ExecuteDetailsTimings,
|
|
||||||
}
|
|
||||||
impl ExecuteTimings {
|
|
||||||
pub fn accumulate(&mut self, other: &ExecuteTimings) {
|
|
||||||
self.check_us = self.check_us.saturating_add(other.check_us);
|
|
||||||
self.load_us = self.load_us.saturating_add(other.load_us);
|
|
||||||
self.execute_us = self.execute_us.saturating_add(other.execute_us);
|
|
||||||
self.store_us = self.store_us.saturating_add(other.store_us);
|
|
||||||
self.update_stakes_cache_us = self
|
|
||||||
.update_stakes_cache_us
|
|
||||||
.saturating_add(other.update_stakes_cache_us);
|
|
||||||
self.total_batches_len = self
|
|
||||||
.total_batches_len
|
|
||||||
.saturating_add(other.total_batches_len);
|
|
||||||
self.num_execute_batches = self
|
|
||||||
.num_execute_batches
|
|
||||||
.saturating_add(other.num_execute_batches);
|
|
||||||
self.details.accumulate(&other.details);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
type BankStatusCache = StatusCache<Result<()>>;
|
type BankStatusCache = StatusCache<Result<()>>;
|
||||||
#[frozen_abi(digest = "6XG6H1FChrDdY39K62KFWj5XfDao4dd24WZgcJkdMu1E")]
|
#[frozen_abi(digest = "6XG6H1FChrDdY39K62KFWj5XfDao4dd24WZgcJkdMu1E")]
|
||||||
pub type BankSlotDelta = SlotDelta<Result<()>>;
|
pub type BankSlotDelta = SlotDelta<Result<()>>;
|
||||||
|
|
Loading…
Reference in New Issue