adds metrics for number of nodes vs number of pubkeys (backport #20512) (#20524)

* adds metrics for number of nodes vs number of pubkeys (#20512)

(cherry picked from commit 0da661de62)

# Conflicts:
#	gossip/src/cluster_info_metrics.rs

* removes backport merge conflicts

Co-authored-by: behzad nouri <behzadnouri@gmail.com>
This commit is contained in:
mergify[bot]
2021-10-07 22:27:48 +00:00
committed by GitHub
parent 7d0494fcaa
commit 6a73bf767b
2 changed files with 9 additions and 2 deletions

View File

@ -163,11 +163,12 @@ pub(crate) fn submit_gossip_stats(
gossip: &RwLock<CrdsGossip>, gossip: &RwLock<CrdsGossip>,
stakes: &HashMap<Pubkey, u64>, stakes: &HashMap<Pubkey, u64>,
) { ) {
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 = gossip.read().unwrap(); let gossip = gossip.read().unwrap();
( (
gossip.crds.len(), gossip.crds.len(),
gossip.crds.num_nodes(), gossip.crds.num_nodes(),
gossip.crds.num_pubkeys(),
gossip.crds.num_purged(), gossip.crds.num_purged(),
gossip.pull.failed_inserts.len(), gossip.pull.failed_inserts.len(),
) )
@ -192,6 +193,7 @@ pub(crate) fn submit_gossip_stats(
("failed_inserts_size", failed_inserts_size as i64, i64), ("failed_inserts_size", failed_inserts_size as i64, i64),
("num_nodes", num_nodes as i64, i64), ("num_nodes", num_nodes as i64, i64),
("num_nodes_staked", num_nodes_staked as i64, i64), ("num_nodes_staked", num_nodes_staked as i64, i64),
("num_pubkeys", num_pubkeys, i64),
); );
datapoint_info!( datapoint_info!(
"cluster_info_stats2", "cluster_info_stats2",

View File

@ -319,8 +319,13 @@ impl Crds {
.map(move |i| self.table.index(*i)) .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 { 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() self.records.len()
} }