Track gossip subscriptions as a metric (#1445)
## Issue Addressed #1399 ## Proposed Changes Set an Int gauge per topic and inc/dec when peers subscribe/unsubscribe
This commit is contained in:
parent
31707ccf45
commit
1bbecbcf26
@ -406,9 +406,23 @@ impl<TSpec: EthSpec> Behaviour<TSpec> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
GossipsubEvent::Subscribed { peer_id, topic } => {
|
GossipsubEvent::Subscribed { peer_id, topic } => {
|
||||||
|
if let Some(topic_metric) = metrics::get_int_gauge(
|
||||||
|
&metrics::GOSSIPSUB_SUBSCRIBED_PEERS_COUNT,
|
||||||
|
&[topic.as_str()],
|
||||||
|
) {
|
||||||
|
topic_metric.inc()
|
||||||
|
}
|
||||||
|
|
||||||
self.add_event(BehaviourEvent::PeerSubscribed(peer_id, topic));
|
self.add_event(BehaviourEvent::PeerSubscribed(peer_id, topic));
|
||||||
}
|
}
|
||||||
GossipsubEvent::Unsubscribed { .. } => {}
|
GossipsubEvent::Unsubscribed { peer_id: _, topic } => {
|
||||||
|
if let Some(topic_metric) = metrics::get_int_gauge(
|
||||||
|
&metrics::GOSSIPSUB_SUBSCRIBED_PEERS_COUNT,
|
||||||
|
&[topic.as_str()],
|
||||||
|
) {
|
||||||
|
topic_metric.dec()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -34,6 +34,11 @@ lazy_static! {
|
|||||||
"Unsolicited discovery requests per ip per second",
|
"Unsolicited discovery requests per ip per second",
|
||||||
&["Addresses"]
|
&["Addresses"]
|
||||||
);
|
);
|
||||||
|
pub static ref GOSSIPSUB_SUBSCRIBED_PEERS_COUNT: Result<IntGaugeVec> = try_create_int_gauge_vec(
|
||||||
|
"gossipsub_peers_per_topic_count",
|
||||||
|
"Peers subscribed per topic",
|
||||||
|
&["topic_hash"]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn scrape_discovery_metrics() {
|
pub fn scrape_discovery_metrics() {
|
||||||
|
Loading…
Reference in New Issue
Block a user