From 5e61ae3638550575037de7b513c3be8f20d169fc Mon Sep 17 00:00:00 2001 From: Andrei Eres Date: Wed, 25 Jun 2025 10:00:51 +0200 Subject: [PATCH 1/3] Add polkadot_parachain_peer_connectivity metric --- polkadot/node/network/bridge/src/metrics.rs | 22 +++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/polkadot/node/network/bridge/src/metrics.rs b/polkadot/node/network/bridge/src/metrics.rs index 083a2a71aa0f8..91effc88d22ee 100644 --- a/polkadot/node/network/bridge/src/metrics.rs +++ b/polkadot/node/network/bridge/src/metrics.rs @@ -47,12 +47,11 @@ impl Metrics { } pub fn note_peer_count(&self, peer_set: PeerSet, version: ProtocolVersion, count: usize) { - self.0.as_ref().map(|metrics| { - metrics - .peer_count - .with_label_values(&[peer_set_label(peer_set, version)]) - .set(count as u64) - }); + if let Some(metrics) = self.0.as_ref() { + let label = peer_set_label(peer_set, version); + metrics.peer_count.with_label_values(&[label]).set(count as u64); + metrics.peer_connectivity.with_label_values(&[label]).observe(count as f64); + } } pub fn on_notification_received( @@ -131,6 +130,7 @@ impl Metrics { #[derive(Clone)] pub(crate) struct MetricsInner { peer_count: prometheus::GaugeVec, + peer_connectivity: prometheus::HistogramVec, connected_events: prometheus::CounterVec, disconnected_events: prometheus::CounterVec, desired_peer_count: prometheus::GaugeVec, @@ -165,6 +165,16 @@ impl metrics::Metrics for Metrics { )?, registry, )?, + peer_connectivity: prometheus::register( + prometheus::HistogramVec::new( + prometheus::HistogramOpts::new( + "polkadot_parachain_peer_connectivity", + "Histogram of peer counts on a parachain-related peer-set to track connectivity patterns", + ).buckets(vec![0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 40.0, 50.0, 100.0, 250.0, 500.0, 1000.0]), + &["protocol"] + )?, + registry, + )?, connected_events: prometheus::register( prometheus::CounterVec::new( prometheus::Opts::new( From 360192bd9513d5ab7c2d580207b46cd1370b5a2e Mon Sep 17 00:00:00 2001 From: "cmd[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 25 Jun 2025 08:05:30 +0000 Subject: [PATCH 2/3] Update from github-actions[bot] running command 'prdoc --audience node_dev --bump patch' --- prdoc/pr_8973.prdoc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 prdoc/pr_8973.prdoc diff --git a/prdoc/pr_8973.prdoc b/prdoc/pr_8973.prdoc new file mode 100644 index 0000000000000..c442383506dec --- /dev/null +++ b/prdoc/pr_8973.prdoc @@ -0,0 +1,14 @@ +title: Add polkadot_parachain_peer_connectivity metric +doc: +- audience: Node Dev + description: |- + # Description + + Fixes https://github.com/paritytech/polkadot-sdk/issues/8911 + + ## Integration + + Doesn't affect downstream projects. +crates: +- name: polkadot-network-bridge + bump: patch From ef918a8513c9527765aa14e36badc500148e0117 Mon Sep 17 00:00:00 2001 From: Andrei Eres Date: Wed, 25 Jun 2025 10:11:37 +0200 Subject: [PATCH 3/3] Update prdoc --- prdoc/pr_8973.prdoc | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/prdoc/pr_8973.prdoc b/prdoc/pr_8973.prdoc index c442383506dec..5e43d3b464e79 100644 --- a/prdoc/pr_8973.prdoc +++ b/prdoc/pr_8973.prdoc @@ -2,13 +2,8 @@ title: Add polkadot_parachain_peer_connectivity metric doc: - audience: Node Dev description: |- - # Description + Adds `polkadot_parachain_peer_connectivity` histogram metric to better understand connectivity patterns. - Fixes https://github.com/paritytech/polkadot-sdk/issues/8911 - - ## Integration - - Doesn't affect downstream projects. crates: - name: polkadot-network-bridge bump: patch