fix(net): set tracked peers metric by value (#1420)

This commit is contained in:
Matthias Seitz
2023-02-16 22:27:40 +01:00
committed by GitHub
parent ae2441a9f9
commit 760f76ab86
2 changed files with 14 additions and 2 deletions

View File

@ -664,12 +664,16 @@ where
SwarmEvent::PeerAdded(peer_id) => {
trace!(target: "net", ?peer_id, "Peer added");
this.event_listeners.send(NetworkEvent::PeerAdded(peer_id));
this.metrics.tracked_peers.increment(1f64);
this.metrics
.tracked_peers
.set(this.swarm.state().peers().num_known_peers() as f64);
}
SwarmEvent::PeerRemoved(peer_id) => {
trace!(target: "net", ?peer_id, "Peer dropped");
this.event_listeners.send(NetworkEvent::PeerRemoved(peer_id));
this.metrics.tracked_peers.decrement(1f64);
this.metrics
.tracked_peers
.set(this.swarm.state().peers().num_known_peers() as f64);
}
SwarmEvent::SessionClosed { peer_id, remote_addr, error } => {
let total_active =

View File

@ -163,6 +163,12 @@ impl PeersManager {
PeersHandle { manager_tx: self.manager_tx.clone() }
}
/// Returns the number of peers in the peer set
#[inline]
pub(crate) fn num_known_peers(&self) -> usize {
self.peers.len()
}
/// Returns an iterator over all peers
pub(crate) fn iter_peers(&self) -> impl Iterator<Item = NodeRecord> + '_ {
self.peers.iter().map(|(peer_id, v)| NodeRecord::new(v.addr, *peer_id))
@ -199,11 +205,13 @@ impl PeersManager {
}
/// Returns the number of currently active inbound connections.
#[inline]
pub(crate) fn num_inbound_connections(&self) -> usize {
self.connection_info.num_inbound
}
/// Returns the number of currently active outbound connections.
#[inline]
pub(crate) fn num_outbound_connections(&self) -> usize {
self.connection_info.num_outbound
}