Skip to content

Commit 3f7353b

Browse files
authored
Expose metrics of on-demand relay chain headers sync from with-parachain complex relays (#1737)
* expose metrics of on-demand relay chain headers sync from with-parachain complex relays * spelling * remove renundant arg
1 parent ab65d84 commit 3f7353b

File tree

4 files changed

+13
-1
lines changed

4 files changed

+13
-1
lines changed

relays/bin-substrate/src/cli/relay_headers_and_messages/parachain_to_parachain.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,13 +245,15 @@ where
245245
self.common.right.client.clone(),
246246
self.left_headers_to_right_transaction_params.clone(),
247247
self.common.shared.only_mandatory_headers,
248+
Some(self.common.metrics_params.clone()),
248249
);
249250
let right_relay_to_left_on_demand_headers =
250251
OnDemandHeadersRelay::<<R2L as ParachainToRelayHeadersCliBridge>::RelayFinality>::new(
251252
self.right_relay.clone(),
252253
self.common.left.client.clone(),
253254
self.right_headers_to_left_transaction_params.clone(),
254255
self.common.shared.only_mandatory_headers,
256+
Some(self.common.metrics_params.clone()),
255257
);
256258

257259
let left_to_right_on_demand_parachains = OnDemandParachainsRelay::<

relays/bin-substrate/src/cli/relay_headers_and_messages/relay_to_parachain.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,13 +224,15 @@ where
224224
self.common.right.client.clone(),
225225
self.left_headers_to_right_transaction_params.clone(),
226226
self.common.shared.only_mandatory_headers,
227+
None,
227228
);
228229
let right_relay_to_left_on_demand_headers =
229230
OnDemandHeadersRelay::<<R2L as ParachainToRelayHeadersCliBridge>::RelayFinality>::new(
230231
self.right_relay.clone(),
231232
self.common.left.client.clone(),
232233
self.right_headers_to_left_transaction_params.clone(),
233234
self.common.shared.only_mandatory_headers,
235+
Some(self.common.metrics_params.clone()),
234236
);
235237
let right_to_left_on_demand_parachains = OnDemandParachainsRelay::<
236238
<R2L as ParachainToRelayHeadersCliBridge>::ParachainFinality,

relays/bin-substrate/src/cli/relay_headers_and_messages/relay_to_relay.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,13 +173,15 @@ where
173173
self.common.right.client.clone(),
174174
self.left_to_right_transaction_params.clone(),
175175
self.common.shared.only_mandatory_headers,
176+
None,
176177
);
177178
let right_to_left_on_demand_headers =
178179
OnDemandHeadersRelay::<<R2L as RelayToRelayHeadersCliBridge>::Finality>::new(
179180
self.common.right.client.clone(),
180181
self.common.left.client.clone(),
181182
self.right_to_left_transaction_params.clone(),
182183
self.common.shared.only_mandatory_headers,
184+
None,
183185
);
184186

185187
Ok((Arc::new(left_to_right_on_demand_headers), Arc::new(right_to_left_on_demand_headers)))

relays/lib-substrate-relay/src/on_demand/headers.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,15 @@ pub struct OnDemandHeadersRelay<P: SubstrateFinalitySyncPipeline> {
6464

6565
impl<P: SubstrateFinalitySyncPipeline> OnDemandHeadersRelay<P> {
6666
/// Create new on-demand headers relay.
67+
///
68+
/// If `metrics_params` is `Some(_)`, the metrics of the finality relay are registered.
69+
/// Otherwise, all required metrics must be exposed outside of this method.
6770
pub fn new(
6871
source_client: Client<P::SourceChain>,
6972
target_client: Client<P::TargetChain>,
7073
target_transaction_params: TransactionParams<AccountKeyPairOf<P::TargetChain>>,
7174
only_mandatory_headers: bool,
75+
metrics_params: Option<MetricsParams>,
7276
) -> Self
7377
where
7478
AccountIdOf<P::TargetChain>:
@@ -87,6 +91,7 @@ impl<P: SubstrateFinalitySyncPipeline> OnDemandHeadersRelay<P> {
8791
target_transaction_params,
8892
only_mandatory_headers,
8993
required_header_number,
94+
metrics_params,
9095
)
9196
.await;
9297
});
@@ -148,6 +153,7 @@ async fn background_task<P: SubstrateFinalitySyncPipeline>(
148153
target_transaction_params: TransactionParams<AccountKeyPairOf<P::TargetChain>>,
149154
only_mandatory_headers: bool,
150155
required_header_number: RequiredHeaderNumberRef<P::SourceChain>,
156+
metrics_params: Option<MetricsParams>,
151157
) where
152158
AccountIdOf<P::TargetChain>: From<<AccountKeyPairOf<P::TargetChain> as sp_core::Pair>::Public>,
153159
{
@@ -310,7 +316,7 @@ async fn background_task<P: SubstrateFinalitySyncPipeline>(
310316
stall_timeout,
311317
only_mandatory_headers,
312318
},
313-
MetricsParams::disabled(),
319+
metrics_params.clone().unwrap_or_else(|| MetricsParams::disabled()),
314320
futures::future::pending(),
315321
)
316322
.fuse(),

0 commit comments

Comments
 (0)