fixed metrics prefix (#1037)

This commit is contained in:
Svyatoslav Nikolsky
2021-07-01 08:24:17 +03:00
committed by Bastian Köcher
parent 84da766881
commit 084c2e6c64
10 changed files with 45 additions and 11 deletions
@@ -171,7 +171,13 @@ pub async fn run(
max_messages_weight_in_single_batch, 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::run(
messages_relay::message_lane_loop::Params { messages_relay::message_lane_loop::Params {
lane: lane_id, lane: lane_id,
@@ -210,10 +216,12 @@ pub async fn run(
/// Add standalone metrics for the Millau -> Rialto messages loop. /// Add standalone metrics for the Millau -> Rialto messages loop.
pub(crate) fn add_standalone_metrics( pub(crate) fn add_standalone_metrics(
metrics_prefix: Option<String>,
metrics_params: MetricsParams, metrics_params: MetricsParams,
source_client: Client<Millau>, source_client: Client<Millau>,
) -> anyhow::Result<(MetricsParams, StandaloneMessagesMetrics)> { ) -> anyhow::Result<(MetricsParams, StandaloneMessagesMetrics)> {
crate::messages_lane::add_standalone_metrics::<MillauMessagesToRialto>( crate::messages_lane::add_standalone_metrics::<MillauMessagesToRialto>(
metrics_prefix,
metrics_params, metrics_params,
source_client, source_client,
None, None,
@@ -35,11 +35,12 @@ mod wococo;
use relay_utils::metrics::{FloatJsonValueMetric, MetricsParams, PrometheusError, Registry}; use relay_utils::metrics::{FloatJsonValueMetric, MetricsParams, PrometheusError, Registry};
pub(crate) fn add_polkadot_kusama_price_metrics<T: finality_relay::FinalitySyncPipeline>( pub(crate) fn add_polkadot_kusama_price_metrics<T: finality_relay::FinalitySyncPipeline>(
prefix: Option<String>,
params: MetricsParams, params: MetricsParams,
) -> anyhow::Result<MetricsParams> { ) -> anyhow::Result<MetricsParams> {
// Polkadot/Kusama prices are added as metrics here, because atm we don't have Polkadot <-> Kusama // 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 // 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, "polkadot"))?
.standalone_metric(|registry, prefix| token_price_metric(registry, prefix, "kusama"))? .standalone_metric(|registry, prefix| token_price_metric(registry, prefix, "kusama"))?
.into_params()) .into_params())
@@ -170,7 +170,13 @@ pub async fn run(
max_messages_weight_in_single_batch, 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::run(
messages_relay::message_lane_loop::Params { messages_relay::message_lane_loop::Params {
lane: lane_id, lane: lane_id,
@@ -209,10 +215,12 @@ pub async fn run(
/// Add standalone metrics for the Rialto -> Millau messages loop. /// Add standalone metrics for the Rialto -> Millau messages loop.
pub(crate) fn add_standalone_metrics( pub(crate) fn add_standalone_metrics(
metrics_prefix: Option<String>,
metrics_params: MetricsParams, metrics_params: MetricsParams,
source_client: Client<Rialto>, source_client: Client<Rialto>,
) -> anyhow::Result<(MetricsParams, StandaloneMessagesMetrics)> { ) -> anyhow::Result<(MetricsParams, StandaloneMessagesMetrics)> {
crate::messages_lane::add_standalone_metrics::<RialtoMessagesToMillau>( crate::messages_lane::add_standalone_metrics::<RialtoMessagesToMillau>(
metrics_prefix,
metrics_params, metrics_params,
source_client, source_client,
None, None,
@@ -36,7 +36,7 @@ impl SubstrateFinalitySyncPipeline for RococoFinalityToWococo {
type TargetChain = Wococo; type TargetChain = Wococo;
fn customize_metrics(params: MetricsParams) -> anyhow::Result<MetricsParams> { fn customize_metrics(params: MetricsParams) -> anyhow::Result<MetricsParams> {
crate::chains::add_polkadot_kusama_price_metrics::<Self>(params) crate::chains::add_polkadot_kusama_price_metrics::<Self>(Some(finality_relay::metrics_prefix::<Self>()), params)
} }
fn start_relay_guards(&self) { fn start_relay_guards(&self) {
@@ -185,7 +185,13 @@ pub async fn run(
max_messages_weight_in_single_batch, 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::run(
messages_relay::message_lane_loop::Params { messages_relay::message_lane_loop::Params {
lane: lane_id, lane: lane_id,
@@ -224,10 +230,12 @@ pub async fn run(
/// Add standalone metrics for the Rococo -> Wococo messages loop. /// Add standalone metrics for the Rococo -> Wococo messages loop.
pub(crate) fn add_standalone_metrics( pub(crate) fn add_standalone_metrics(
metrics_prefix: Option<String>,
metrics_params: MetricsParams, metrics_params: MetricsParams,
source_client: Client<Rococo>, source_client: Client<Rococo>,
) -> anyhow::Result<(MetricsParams, StandaloneMessagesMetrics)> { ) -> anyhow::Result<(MetricsParams, StandaloneMessagesMetrics)> {
crate::messages_lane::add_standalone_metrics::<RococoMessagesToWococo>( crate::messages_lane::add_standalone_metrics::<RococoMessagesToWococo>(
metrics_prefix,
metrics_params, metrics_params,
source_client, source_client,
None, None,
@@ -35,7 +35,7 @@ impl SubstrateFinalitySyncPipeline for WestendFinalityToMillau {
type TargetChain = Millau; type TargetChain = Millau;
fn customize_metrics(params: MetricsParams) -> anyhow::Result<MetricsParams> { fn customize_metrics(params: MetricsParams) -> anyhow::Result<MetricsParams> {
crate::chains::add_polkadot_kusama_price_metrics::<Self>(params) crate::chains::add_polkadot_kusama_price_metrics::<Self>(Some(finality_relay::metrics_prefix::<Self>()), params)
} }
fn transactions_author(&self) -> bp_millau::AccountId { fn transactions_author(&self) -> bp_millau::AccountId {
@@ -42,7 +42,7 @@ impl SubstrateFinalitySyncPipeline for WococoFinalityToRococo {
type TargetChain = Rococo; type TargetChain = Rococo;
fn customize_metrics(params: MetricsParams) -> anyhow::Result<MetricsParams> { fn customize_metrics(params: MetricsParams) -> anyhow::Result<MetricsParams> {
crate::chains::add_polkadot_kusama_price_metrics::<Self>(params) crate::chains::add_polkadot_kusama_price_metrics::<Self>(Some(finality_relay::metrics_prefix::<Self>()), params)
} }
fn start_relay_guards(&self) { fn start_relay_guards(&self) {
@@ -185,7 +185,13 @@ pub async fn run(
max_messages_weight_in_single_batch, 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::run(
messages_relay::message_lane_loop::Params { messages_relay::message_lane_loop::Params {
lane: lane_id, lane: lane_id,
@@ -224,10 +230,12 @@ pub async fn run(
/// Add standalone metrics for the Wococo -> Rococo messages loop. /// Add standalone metrics for the Wococo -> Rococo messages loop.
pub(crate) fn add_standalone_metrics( pub(crate) fn add_standalone_metrics(
metrics_prefix: Option<String>,
metrics_params: MetricsParams, metrics_params: MetricsParams,
source_client: Client<Wococo>, source_client: Client<Wococo>,
) -> anyhow::Result<(MetricsParams, StandaloneMessagesMetrics)> { ) -> anyhow::Result<(MetricsParams, StandaloneMessagesMetrics)> {
crate::messages_lane::add_standalone_metrics::<WococoMessagesToRococo>( crate::messages_lane::add_standalone_metrics::<WococoMessagesToRococo>(
metrics_prefix,
metrics_params, metrics_params,
source_client, source_client,
None, None,
@@ -161,8 +161,8 @@ impl RelayHeadersAndMessages {
let metrics_params: MetricsParams = params.shared.prometheus_params.into(); let metrics_params: MetricsParams = params.shared.prometheus_params.into();
let metrics_params = relay_utils::relay_metrics(None, metrics_params).into_params(); 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_left_to_right_standalone_metrics(None, metrics_params, left_client.clone())?;
let (metrics_params, _) = add_right_to_left_standalone_metrics(metrics_params, right_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( let left_to_right_on_demand_headers = OnDemandHeadersRelay::new(
left_client.clone(), left_client.clone(),
@@ -203,6 +203,7 @@ pub struct StandaloneMessagesMetrics {
/// Add general standalone metrics for the message lane relay loop. /// Add general standalone metrics for the message lane relay loop.
pub fn add_standalone_metrics<P: SubstrateMessageLane>( pub fn add_standalone_metrics<P: SubstrateMessageLane>(
metrics_prefix: Option<String>,
metrics_params: MetricsParams, metrics_params: MetricsParams,
source_client: Client<P::SourceChain>, source_client: Client<P::SourceChain>,
source_chain_token_id: Option<&str>, source_chain_token_id: Option<&str>,
@@ -212,7 +213,7 @@ pub fn add_standalone_metrics<P: SubstrateMessageLane>(
let mut source_to_base_conversion_rate = None; let mut source_to_base_conversion_rate = None;
let mut target_to_base_conversion_rate = None; let mut target_to_base_conversion_rate = None;
let mut metrics_params = 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( StorageProofOverheadMetric::new(
registry, registry,
prefix, prefix,