From eadf28881d9a84525c4e5e2f3945e7376e6b6a81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20=C5=BBuk?= Date: Wed, 13 May 2020 12:02:14 +0200 Subject: [PATCH] Monitor transactions rejected from the pool as invalid (#5992) --- substrate/client/transaction-pool/src/lib.rs | 4 +++- substrate/client/transaction-pool/src/metrics.rs | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/substrate/client/transaction-pool/src/lib.rs b/substrate/client/transaction-pool/src/lib.rs index e095191c57..12d3b3a30e 100644 --- a/substrate/client/transaction-pool/src/lib.rs +++ b/substrate/client/transaction-pool/src/lib.rs @@ -296,7 +296,9 @@ impl TransactionPool for BasicPool } fn remove_invalid(&self, hashes: &[TxHash]) -> Vec> { - self.pool.validated_pool().remove_invalid(hashes) + let removed = self.pool.validated_pool().remove_invalid(hashes); + self.metrics.report(|metrics| metrics.validations_invalid.inc_by(removed.len() as u64)); + removed } fn status(&self) -> PoolStatus { diff --git a/substrate/client/transaction-pool/src/metrics.rs b/substrate/client/transaction-pool/src/metrics.rs index 78e49b3ca5..74c41a1262 100644 --- a/substrate/client/transaction-pool/src/metrics.rs +++ b/substrate/client/transaction-pool/src/metrics.rs @@ -45,6 +45,7 @@ impl MetricsLink { pub struct Metrics { pub validations_scheduled: Counter, pub validations_finished: Counter, + pub validations_invalid: Counter, } impl Metrics { @@ -64,6 +65,13 @@ impl Metrics { )?, registry, )?, + validations_invalid: register( + Counter::new( + "sub_txpool_validations_invalid", + "Total number of transactions that were removed from the pool as invalid", + )?, + registry, + )?, }) } }