diff --git a/node/network/bridge/src/lib.rs b/node/network/bridge/src/lib.rs index 5edfd576d6ea..400acba46d54 100644 --- a/node/network/bridge/src/lib.rs +++ b/node/network/bridge/src/lib.rs @@ -131,6 +131,14 @@ impl Metrics { .inc_by((size * to_peers) as u64); } } + + fn note_desired_peer_count(&self, peer_set: PeerSet, size: usize) { + self.0.as_ref().map(|metrics| metrics + .desired_peer_count + .with_label_values(&[peer_set.get_protocol_name_static()]) + .set(size as u64) + ); + } } #[derive(Clone)] @@ -138,6 +146,7 @@ struct MetricsInner { peer_count: prometheus::GaugeVec, connected_events: prometheus::CounterVec, disconnected_events: prometheus::CounterVec, + desired_peer_count: prometheus::GaugeVec, notifications_received: prometheus::CounterVec, notifications_sent: prometheus::CounterVec, @@ -181,6 +190,16 @@ impl metrics::Metrics for Metrics { )?, registry, )?, + desired_peer_count: prometheus::register( + prometheus::GaugeVec::new( + prometheus::Opts::new( + "parachain_desired_peer_count", + "The number of peers that the local node is expected to connect to on a parachain-related peer-set", + ), + &["protocol"] + )?, + registry, + )?, notifications_received: prometheus::register( prometheus::CounterVec::new( prometheus::Opts::new( @@ -519,6 +538,8 @@ where "Received a validator connection request", ); + metrics.note_desired_peer_count(peer_set, validator_ids.len()); + let (ns, ads) = validator_discovery.on_request( validator_ids, peer_set,