From 084c2e6c6404b20f92e03660d93d65784a0e440a Mon Sep 17 00:00:00 2001 From: Svyatoslav Nikolsky Date: Thu, 1 Jul 2021 08:24:17 +0300 Subject: [PATCH] fixed metrics prefix (#1037) --- .../src/chains/millau_messages_to_rialto.rs | 10 +++++++++- bridges/relays/bin-substrate/src/chains/mod.rs | 3 ++- .../src/chains/rialto_messages_to_millau.rs | 10 +++++++++- .../src/chains/rococo_headers_to_wococo.rs | 2 +- .../src/chains/rococo_messages_to_wococo.rs | 10 +++++++++- .../src/chains/westend_headers_to_millau.rs | 2 +- .../src/chains/wococo_headers_to_rococo.rs | 2 +- .../src/chains/wococo_messages_to_rococo.rs | 10 +++++++++- .../src/cli/relay_headers_and_messages.rs | 4 ++-- bridges/relays/bin-substrate/src/messages_lane.rs | 3 ++- 10 files changed, 45 insertions(+), 11 deletions(-) diff --git a/bridges/relays/bin-substrate/src/chains/millau_messages_to_rialto.rs b/bridges/relays/bin-substrate/src/chains/millau_messages_to_rialto.rs index 5231aaa9a2..77f1adbd37 100644 --- a/bridges/relays/bin-substrate/src/chains/millau_messages_to_rialto.rs +++ b/bridges/relays/bin-substrate/src/chains/millau_messages_to_rialto.rs @@ -171,7 +171,13 @@ pub async fn run( max_messages_weight_in_single_batch, ); - let (metrics_params, _) = add_standalone_metrics(params.metrics_params, source_client.clone())?; + let (metrics_params, _) = add_standalone_metrics( + Some(messages_relay::message_lane_loop::metrics_prefix::< + MillauMessagesToRialto, + >(&lane_id)), + params.metrics_params, + source_client.clone(), + )?; messages_relay::message_lane_loop::run( messages_relay::message_lane_loop::Params { lane: lane_id, @@ -210,10 +216,12 @@ pub async fn run( /// Add standalone metrics for the Millau -> Rialto messages loop. pub(crate) fn add_standalone_metrics( + metrics_prefix: Option, metrics_params: MetricsParams, source_client: Client, ) -> anyhow::Result<(MetricsParams, StandaloneMessagesMetrics)> { crate::messages_lane::add_standalone_metrics::( + metrics_prefix, metrics_params, source_client, None, diff --git a/bridges/relays/bin-substrate/src/chains/mod.rs b/bridges/relays/bin-substrate/src/chains/mod.rs index 7c624179b9..b79bfcaaad 100644 --- a/bridges/relays/bin-substrate/src/chains/mod.rs +++ b/bridges/relays/bin-substrate/src/chains/mod.rs @@ -35,11 +35,12 @@ mod wococo; use relay_utils::metrics::{FloatJsonValueMetric, MetricsParams, PrometheusError, Registry}; pub(crate) fn add_polkadot_kusama_price_metrics( + prefix: Option, params: MetricsParams, ) -> anyhow::Result { // Polkadot/Kusama prices are added as metrics here, because atm we don't have Polkadot <-> Kusama // relays, but we want to test metrics/dashboards in advance - Ok(relay_utils::relay_metrics(None, params) + Ok(relay_utils::relay_metrics(prefix, params) .standalone_metric(|registry, prefix| token_price_metric(registry, prefix, "polkadot"))? .standalone_metric(|registry, prefix| token_price_metric(registry, prefix, "kusama"))? .into_params()) diff --git a/bridges/relays/bin-substrate/src/chains/rialto_messages_to_millau.rs b/bridges/relays/bin-substrate/src/chains/rialto_messages_to_millau.rs index e491a14caf..8a82456cdf 100644 --- a/bridges/relays/bin-substrate/src/chains/rialto_messages_to_millau.rs +++ b/bridges/relays/bin-substrate/src/chains/rialto_messages_to_millau.rs @@ -170,7 +170,13 @@ pub async fn run( max_messages_weight_in_single_batch, ); - let (metrics_params, _) = add_standalone_metrics(params.metrics_params, source_client.clone())?; + let (metrics_params, _) = add_standalone_metrics( + Some(messages_relay::message_lane_loop::metrics_prefix::< + RialtoMessagesToMillau, + >(&lane_id)), + params.metrics_params, + source_client.clone(), + )?; messages_relay::message_lane_loop::run( messages_relay::message_lane_loop::Params { lane: lane_id, @@ -209,10 +215,12 @@ pub async fn run( /// Add standalone metrics for the Rialto -> Millau messages loop. pub(crate) fn add_standalone_metrics( + metrics_prefix: Option, metrics_params: MetricsParams, source_client: Client, ) -> anyhow::Result<(MetricsParams, StandaloneMessagesMetrics)> { crate::messages_lane::add_standalone_metrics::( + metrics_prefix, metrics_params, source_client, None, diff --git a/bridges/relays/bin-substrate/src/chains/rococo_headers_to_wococo.rs b/bridges/relays/bin-substrate/src/chains/rococo_headers_to_wococo.rs index c7f60100f1..026c918bec 100644 --- a/bridges/relays/bin-substrate/src/chains/rococo_headers_to_wococo.rs +++ b/bridges/relays/bin-substrate/src/chains/rococo_headers_to_wococo.rs @@ -36,7 +36,7 @@ impl SubstrateFinalitySyncPipeline for RococoFinalityToWococo { type TargetChain = Wococo; fn customize_metrics(params: MetricsParams) -> anyhow::Result { - crate::chains::add_polkadot_kusama_price_metrics::(params) + crate::chains::add_polkadot_kusama_price_metrics::(Some(finality_relay::metrics_prefix::()), params) } fn start_relay_guards(&self) { diff --git a/bridges/relays/bin-substrate/src/chains/rococo_messages_to_wococo.rs b/bridges/relays/bin-substrate/src/chains/rococo_messages_to_wococo.rs index e30896dd5f..1e30f97f49 100644 --- a/bridges/relays/bin-substrate/src/chains/rococo_messages_to_wococo.rs +++ b/bridges/relays/bin-substrate/src/chains/rococo_messages_to_wococo.rs @@ -185,7 +185,13 @@ pub async fn run( max_messages_weight_in_single_batch, ); - let (metrics_params, _) = add_standalone_metrics(params.metrics_params, source_client.clone())?; + let (metrics_params, _) = add_standalone_metrics( + Some(messages_relay::message_lane_loop::metrics_prefix::< + RococoMessagesToWococo, + >(&lane_id)), + params.metrics_params, + source_client.clone(), + )?; messages_relay::message_lane_loop::run( messages_relay::message_lane_loop::Params { lane: lane_id, @@ -224,10 +230,12 @@ pub async fn run( /// Add standalone metrics for the Rococo -> Wococo messages loop. pub(crate) fn add_standalone_metrics( + metrics_prefix: Option, metrics_params: MetricsParams, source_client: Client, ) -> anyhow::Result<(MetricsParams, StandaloneMessagesMetrics)> { crate::messages_lane::add_standalone_metrics::( + metrics_prefix, metrics_params, source_client, None, diff --git a/bridges/relays/bin-substrate/src/chains/westend_headers_to_millau.rs b/bridges/relays/bin-substrate/src/chains/westend_headers_to_millau.rs index 1523dc1be5..f0395dc10d 100644 --- a/bridges/relays/bin-substrate/src/chains/westend_headers_to_millau.rs +++ b/bridges/relays/bin-substrate/src/chains/westend_headers_to_millau.rs @@ -35,7 +35,7 @@ impl SubstrateFinalitySyncPipeline for WestendFinalityToMillau { type TargetChain = Millau; fn customize_metrics(params: MetricsParams) -> anyhow::Result { - crate::chains::add_polkadot_kusama_price_metrics::(params) + crate::chains::add_polkadot_kusama_price_metrics::(Some(finality_relay::metrics_prefix::()), params) } fn transactions_author(&self) -> bp_millau::AccountId { diff --git a/bridges/relays/bin-substrate/src/chains/wococo_headers_to_rococo.rs b/bridges/relays/bin-substrate/src/chains/wococo_headers_to_rococo.rs index 8ee30d3ff4..d23266c649 100644 --- a/bridges/relays/bin-substrate/src/chains/wococo_headers_to_rococo.rs +++ b/bridges/relays/bin-substrate/src/chains/wococo_headers_to_rococo.rs @@ -42,7 +42,7 @@ impl SubstrateFinalitySyncPipeline for WococoFinalityToRococo { type TargetChain = Rococo; fn customize_metrics(params: MetricsParams) -> anyhow::Result { - crate::chains::add_polkadot_kusama_price_metrics::(params) + crate::chains::add_polkadot_kusama_price_metrics::(Some(finality_relay::metrics_prefix::()), params) } fn start_relay_guards(&self) { diff --git a/bridges/relays/bin-substrate/src/chains/wococo_messages_to_rococo.rs b/bridges/relays/bin-substrate/src/chains/wococo_messages_to_rococo.rs index 3c280c3f5b..04f9e1f559 100644 --- a/bridges/relays/bin-substrate/src/chains/wococo_messages_to_rococo.rs +++ b/bridges/relays/bin-substrate/src/chains/wococo_messages_to_rococo.rs @@ -185,7 +185,13 @@ pub async fn run( max_messages_weight_in_single_batch, ); - let (metrics_params, _) = add_standalone_metrics(params.metrics_params, source_client.clone())?; + let (metrics_params, _) = add_standalone_metrics( + Some(messages_relay::message_lane_loop::metrics_prefix::< + WococoMessagesToRococo, + >(&lane_id)), + params.metrics_params, + source_client.clone(), + )?; messages_relay::message_lane_loop::run( messages_relay::message_lane_loop::Params { lane: lane_id, @@ -224,10 +230,12 @@ pub async fn run( /// Add standalone metrics for the Wococo -> Rococo messages loop. pub(crate) fn add_standalone_metrics( + metrics_prefix: Option, metrics_params: MetricsParams, source_client: Client, ) -> anyhow::Result<(MetricsParams, StandaloneMessagesMetrics)> { crate::messages_lane::add_standalone_metrics::( + metrics_prefix, metrics_params, source_client, None, diff --git a/bridges/relays/bin-substrate/src/cli/relay_headers_and_messages.rs b/bridges/relays/bin-substrate/src/cli/relay_headers_and_messages.rs index 31accb15a4..8e2d2ce2a7 100644 --- a/bridges/relays/bin-substrate/src/cli/relay_headers_and_messages.rs +++ b/bridges/relays/bin-substrate/src/cli/relay_headers_and_messages.rs @@ -161,8 +161,8 @@ impl RelayHeadersAndMessages { let metrics_params: MetricsParams = params.shared.prometheus_params.into(); let metrics_params = relay_utils::relay_metrics(None, metrics_params).into_params(); - let (metrics_params, _) = add_left_to_right_standalone_metrics(metrics_params, left_client.clone())?; - let (metrics_params, _) = add_right_to_left_standalone_metrics(metrics_params, right_client.clone())?; + let (metrics_params, _) = add_left_to_right_standalone_metrics(None, metrics_params, left_client.clone())?; + let (metrics_params, _) = add_right_to_left_standalone_metrics(None, metrics_params, right_client.clone())?; let left_to_right_on_demand_headers = OnDemandHeadersRelay::new( left_client.clone(), diff --git a/bridges/relays/bin-substrate/src/messages_lane.rs b/bridges/relays/bin-substrate/src/messages_lane.rs index 7954319a75..aed208a8ad 100644 --- a/bridges/relays/bin-substrate/src/messages_lane.rs +++ b/bridges/relays/bin-substrate/src/messages_lane.rs @@ -203,6 +203,7 @@ pub struct StandaloneMessagesMetrics { /// Add general standalone metrics for the message lane relay loop. pub fn add_standalone_metrics( + metrics_prefix: Option, metrics_params: MetricsParams, source_client: Client, source_chain_token_id: Option<&str>, @@ -212,7 +213,7 @@ pub fn add_standalone_metrics( let mut source_to_base_conversion_rate = None; let mut target_to_base_conversion_rate = None; let mut metrics_params = - relay_utils::relay_metrics(None, metrics_params).standalone_metric(|registry, prefix| { + relay_utils::relay_metrics(metrics_prefix, metrics_params).standalone_metric(|registry, prefix| { StorageProofOverheadMetric::new( registry, prefix,