From d9d6dd9ba653f3168014a459545fef570e13b5e0 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 22 Jun 2021 22:28:22 -0600 Subject: [PATCH] Add metrics for rpc send-tx failures (#18156) (#18164) (cherry picked from commit 64cff8c5a1a01ae93078114df6d6192f64705c89) Co-authored-by: Tyera Eulberg --- rpc/src/rpc.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/rpc/src/rpc.rs b/rpc/src/rpc.rs index bf4c08350c..f1920c126d 100644 --- a/rpc/src/rpc.rs +++ b/rpc/src/rpc.rs @@ -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, @@ -2994,12 +2994,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), } @@ -3008,6 +3010,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 {