diff --git a/gossip/src/cluster_info_metrics.rs b/gossip/src/cluster_info_metrics.rs index 6ef5f786a..937cfdf2d 100644 --- a/gossip/src/cluster_info_metrics.rs +++ b/gossip/src/cluster_info_metrics.rs @@ -160,11 +160,12 @@ pub(crate) fn submit_gossip_stats( gossip: &CrdsGossip, stakes: &HashMap, ) { - let (table_size, num_nodes, purged_values_size, failed_inserts_size) = { + let (table_size, num_nodes, num_pubkeys, purged_values_size, failed_inserts_size) = { let gossip_crds = gossip.crds.read().unwrap(); ( gossip_crds.len(), gossip_crds.num_nodes(), + gossip_crds.num_pubkeys(), gossip_crds.num_purged(), gossip.pull.failed_inserts_size(), ) @@ -189,6 +190,7 @@ pub(crate) fn submit_gossip_stats( ("failed_inserts_size", failed_inserts_size as i64, i64), ("num_nodes", num_nodes as i64, i64), ("num_nodes_staked", num_nodes_staked as i64, i64), + ("num_pubkeys", num_pubkeys, i64), ); datapoint_info!( "cluster_info_stats2", diff --git a/gossip/src/crds.rs b/gossip/src/crds.rs index ecbdb643d..529ec8872 100644 --- a/gossip/src/crds.rs +++ b/gossip/src/crds.rs @@ -313,8 +313,13 @@ impl Crds { .map(move |i| self.table.index(*i)) } - /// Returns number of known pubkeys (network size). + /// Returns number of known contact-infos (network size). pub(crate) fn num_nodes(&self) -> usize { + self.nodes.len() + } + + /// Returns number of unique pubkeys. + pub(crate) fn num_pubkeys(&self) -> usize { self.records.len() }