Add metrics for rpc send-tx failures (#18156)
This commit is contained in:
parent
755b7c7aee
commit
64cff8c5a1
|
@ -66,7 +66,7 @@ use {
|
|||
stake_history::StakeHistory,
|
||||
system_instruction,
|
||||
sysvar::stake_history,
|
||||
transaction::{self, Transaction},
|
||||
transaction::{self, Transaction, TransactionError},
|
||||
},
|
||||
solana_transaction_status::{
|
||||
EncodedConfirmedTransaction, Reward, RewardType, TransactionConfirmationStatus,
|
||||
|
@ -2993,12 +2993,14 @@ pub mod rpc_full {
|
|||
match meta.health.check() {
|
||||
RpcHealthStatus::Ok => (),
|
||||
RpcHealthStatus::Unknown => {
|
||||
inc_new_counter_info!("rpc-send-tx_health-unknown", 1);
|
||||
return Err(RpcCustomError::NodeUnhealthy {
|
||||
num_slots_behind: None,
|
||||
}
|
||||
.into());
|
||||
}
|
||||
RpcHealthStatus::Behind { num_slots } => {
|
||||
inc_new_counter_info!("rpc-send-tx_health-behind", 1);
|
||||
return Err(RpcCustomError::NodeUnhealthy {
|
||||
num_slots_behind: Some(num_slots),
|
||||
}
|
||||
|
@ -3007,6 +3009,14 @@ pub mod rpc_full {
|
|||
}
|
||||
|
||||
if let (Err(err), logs, _) = preflight_bank.simulate_transaction(&transaction) {
|
||||
match err {
|
||||
TransactionError::BlockhashNotFound => {
|
||||
inc_new_counter_info!("rpc-send-tx_err-blockhash-not-found", 1);
|
||||
}
|
||||
_ => {
|
||||
inc_new_counter_info!("rpc-send-tx_err-other", 1);
|
||||
}
|
||||
}
|
||||
return Err(RpcCustomError::SendTransactionPreflightFailure {
|
||||
message: format!("Transaction simulation failed: {}", err),
|
||||
result: RpcSimulateTransactionResult {
|
||||
|
|
Loading…
Reference in New Issue