From 019ead37f2910377afc8f33387b2e234634eb9c3 Mon Sep 17 00:00:00 2001 From: Chris Evanko <106608356+cjeva10@users.noreply.github.com> Date: Mon, 24 Jul 2023 14:25:47 -0400 Subject: [PATCH] feat: sidechain length metric (#3864) Co-authored-by: Matthias Seitz --- crates/blockchain-tree/src/blockchain_tree.rs | 5 +++++ crates/blockchain-tree/src/metrics.rs | 2 ++ 2 files changed, 7 insertions(+) diff --git a/crates/blockchain-tree/src/blockchain_tree.rs b/crates/blockchain-tree/src/blockchain_tree.rs index 6c5f2fe3d6..ce92f48b28 100644 --- a/crates/blockchain-tree/src/blockchain_tree.rs +++ b/crates/blockchain-tree/src/blockchain_tree.rs @@ -1102,6 +1102,11 @@ impl BlockchainTree pub(crate) fn update_chains_metrics(&mut self) { let height = self.canonical_chain().tip().number; + let longest_sidechain_height = self.chains.values().map(|chain| chain.tip().number).max(); + if let Some(longest_sidechain_height) = longest_sidechain_height { + self.metrics.longest_sidechain_height.set(longest_sidechain_height as f64); + } + self.metrics.sidechains.set(self.chains.len() as f64); self.metrics.canonical_chain_height.set(height as f64); if let Some(metrics_tx) = self.sync_metrics_tx.as_mut() { diff --git a/crates/blockchain-tree/src/metrics.rs b/crates/blockchain-tree/src/metrics.rs index 864fac9474..fd48307d4b 100644 --- a/crates/blockchain-tree/src/metrics.rs +++ b/crates/blockchain-tree/src/metrics.rs @@ -13,6 +13,8 @@ pub struct TreeMetrics { pub canonical_chain_height: Gauge, /// The number of reorgs pub reorgs: Counter, + /// Longest sidechain height + pub longest_sidechain_height: Gauge, } /// Metrics for the blockchain tree block buffer