diff --git a/substrate/client/network/src/protocol.rs b/substrate/client/network/src/protocol.rs index d3a729cc8d587938647f759b6ab89998c4ce7193..630471414b223d20f9bdbb7f2ef33435f22e2e71 100644 --- a/substrate/client/network/src/protocol.rs +++ b/substrate/client/network/src/protocol.rs @@ -48,7 +48,10 @@ use sp_runtime::traits::{ use sp_arithmetic::traits::SaturatedConversion; use message::{BlockAnnounce, Message}; use message::generic::{Message as GenericMessage, Roles}; -use prometheus_endpoint::{Registry, Gauge, Counter, GaugeVec, PrometheusError, Opts, register, U64}; +use prometheus_endpoint::{ + Registry, Gauge, Counter, CounterVec, GaugeVec, + PrometheusError, Opts, register, U64 +}; use sync::{ChainSync, SyncState}; use std::borrow::Cow; use std::collections::{BTreeMap, HashMap, HashSet, VecDeque, hash_map::Entry}; @@ -142,7 +145,7 @@ struct Metrics { finality_proofs: GaugeVec<U64>, justifications: GaugeVec<U64>, propagated_transactions: Counter<U64>, - legacy_requests_received: Counter<U64>, + legacy_requests_received: CounterVec<U64>, } impl Metrics { @@ -188,9 +191,12 @@ impl Metrics { "sync_propagated_transactions", "Number of transactions propagated to at least one peer", )?, r)?, - legacy_requests_received: register(Counter::new( - "sync_legacy_requests_received", - "Number of block/finality/light-client requests received on the legacy substream", + legacy_requests_received: register(CounterVec::new( + Opts::new( + "sync_legacy_requests_received", + "Number of block/finality/light-client requests received on the legacy substream", + ), + &["kind"] )?, r)?, }) } @@ -719,7 +725,7 @@ impl<B: BlockT, H: ExHashT> Protocol<B, H> { fn on_block_request(&mut self, peer: PeerId, request: message::BlockRequest<B>) { if let Some(metrics) = &self.metrics { - metrics.legacy_requests_received.inc(); + metrics.legacy_requests_received.with_label_values(&["block-request"]).inc(); } trace!(target: "sync", "BlockRequest {} from {}: from {:?} to {:?} max {:?} for {:?}", @@ -1395,7 +1401,7 @@ impl<B: BlockT, H: ExHashT> Protocol<B, H> { ); if let Some(metrics) = &self.metrics { - metrics.legacy_requests_received.inc(); + metrics.legacy_requests_received.with_label_values(&["remote-call"]).inc(); } let proof = match self.context_data.chain.execution_proof( @@ -1519,7 +1525,7 @@ impl<B: BlockT, H: ExHashT> Protocol<B, H> { request: message::RemoteReadRequest<B::Hash>, ) { if let Some(metrics) = &self.metrics { - metrics.legacy_requests_received.inc(); + metrics.legacy_requests_received.with_label_values(&["remote-read"]).inc(); } if request.keys.is_empty() { @@ -1572,7 +1578,7 @@ impl<B: BlockT, H: ExHashT> Protocol<B, H> { request: message::RemoteReadChildRequest<B::Hash>, ) { if let Some(metrics) = &self.metrics { - metrics.legacy_requests_received.inc(); + metrics.legacy_requests_received.with_label_values(&["remote-child"]).inc(); } if request.keys.is_empty() { @@ -1632,7 +1638,7 @@ impl<B: BlockT, H: ExHashT> Protocol<B, H> { request: message::RemoteHeaderRequest<NumberFor<B>>, ) { if let Some(metrics) = &self.metrics { - metrics.legacy_requests_received.inc(); + metrics.legacy_requests_received.with_label_values(&["remote-header"]).inc(); } trace!(target: "sync", "Remote header proof request {} from {} ({})", @@ -1666,7 +1672,7 @@ impl<B: BlockT, H: ExHashT> Protocol<B, H> { request: message::RemoteChangesRequest<B::Hash>, ) { if let Some(metrics) = &self.metrics { - metrics.legacy_requests_received.inc(); + metrics.legacy_requests_received.with_label_values(&["remote-changes"]).inc(); } trace!(target: "sync", "Remote changes proof request {} from {} for key {} ({}..{})", @@ -1733,7 +1739,7 @@ impl<B: BlockT, H: ExHashT> Protocol<B, H> { request: message::FinalityProofRequest<B::Hash>, ) { if let Some(metrics) = &self.metrics { - metrics.legacy_requests_received.inc(); + metrics.legacy_requests_received.with_label_values(&["finality-proof"]).inc(); } trace!(target: "sync", "Finality proof request from {} for {}", who, request.block);