From f08a863e124003ec941bf117b1d7f19a9aa87bcc Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Fri, 30 Jun 2023 14:57:46 +0200 Subject: [PATCH] chore: add total-transactions metric (#3500) --- crates/transaction-pool/src/metrics.rs | 3 +++ crates/transaction-pool/src/pool/txpool.rs | 2 ++ crates/transaction-pool/src/traits.rs | 4 ++++ 3 files changed, 9 insertions(+) diff --git a/crates/transaction-pool/src/metrics.rs b/crates/transaction-pool/src/metrics.rs index cb6ba58fc3..91e31992bf 100644 --- a/crates/transaction-pool/src/metrics.rs +++ b/crates/transaction-pool/src/metrics.rs @@ -30,4 +30,7 @@ pub struct TxPoolMetrics { pub(crate) queued_pool_transactions: Gauge, /// Total amount of memory used by the transactions in the queued sub-pool in bytes pub(crate) queued_pool_size_bytes: Gauge, + + /// Number of all transactions of all sub-pools: pending + basefee + queued + pub(crate) total_transactions: Gauge, } diff --git a/crates/transaction-pool/src/pool/txpool.rs b/crates/transaction-pool/src/pool/txpool.rs index 3b4b03e704..aba3e1e698 100644 --- a/crates/transaction-pool/src/pool/txpool.rs +++ b/crates/transaction-pool/src/pool/txpool.rs @@ -120,6 +120,7 @@ impl TxPool { basefee_size: self.basefee_pool.size(), queued: self.queued_pool.len(), queued_size: self.queued_pool.size(), + total: self.all_transactions.len(), } } @@ -272,6 +273,7 @@ impl TxPool { self.metrics.basefee_pool_size_bytes.set(stats.basefee_size as f64); self.metrics.queued_pool_transactions.set(stats.queued as f64); self.metrics.queued_pool_size_bytes.set(stats.queued_size as f64); + self.metrics.total_transactions.set(stats.total as f64); } /// Adds the transaction into the pool. diff --git a/crates/transaction-pool/src/traits.rs b/crates/transaction-pool/src/traits.rs index 121889bb18..1781e8f5e9 100644 --- a/crates/transaction-pool/src/traits.rs +++ b/crates/transaction-pool/src/traits.rs @@ -591,6 +591,10 @@ pub struct PoolSize { pub queued: usize, /// Reported size of transactions in the _queued_ sub-pool. pub queued_size: usize, + /// Number of all transactions of all sub-pools + /// + /// Note: this is the sum of ```pending + basefee + queued``` + pub total: usize, } /// Represents the current status of the pool.