Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using-same-fork metric for finality and complex relay #1327

Merged
merged 4 commits into from
Feb 24, 2022

Conversation

svyatonik
Copy link
Contributor

@svyatonik svyatonik commented Feb 22, 2022

TODO:

  • add metric to the messages relay;
  • add dashboards and alerts;
  • add migration guide (this PR breaks relay metrics);
  • description.

This PR introduces single additional metric for headers, messages and headers-and-messages relays. It is 0 when things are going fine and 1 if by some reason this condition is not true: target_chain.bridge_grandpa_pallet.best_finalized_source_header.hash() == source_chain.header_by_number(target_chain.bridge_grandpa_pallet.best_finalized_source_header.number()).hash(). Related to #1315.

This PR changes some metric names and required update of Grafana dashboards + alerts in existing bridges:

  • gauge vector metric, named "prefix ++ best_block_numbers" and indexed with type (e.g. Millau_to_Rialto_MessageLane_00000000_best_block_numbers with types = {target, target_at_source}, Westend_to_Millau_Sync_best_block_numbers with types = {source, target}) is removed;
  • for finality relay we now have "prefix ++ best__block_number" - e.g. for Westend -> Millau: Westend_to_Millau_Sync_best_source_block_number and Westend_to_Millau_Sync_best_source_at_target_block_number;
  • for messages relays we now have "prefix ++ best__block_number" - e.g. for Millau <> Rialto Millau_to_Rialto_MessageLane_00000000_best_source_block_number, Millau_to_Rialto_MessageLane_00000000_best_source_at_target_block_number, Rialto_to_Millau_MessageLane_00000000_best_target_block_number, Rialto_to_Millau_MessageLane_00000000_best_target_at_source_block_number.

@svyatonik svyatonik added P-Relay PR-breaksrelay A PR that is going to break existing relayers. I.e. some Runtime changes render old relayers unusabl labels Feb 22, 2022
@svyatonik svyatonik marked this pull request as ready for review February 24, 2022 10:01
@svyatonik svyatonik merged commit a6267a4 into master Feb 24, 2022
@svyatonik svyatonik deleted the ensure-using-same-fork-metric branch February 24, 2022 10:19
svyatonik added a commit that referenced this pull request Mar 21, 2022
* Fix mandatory headers scanning in on-demand relay (#1306)

* more logging in on-demand headerss

* remove `maximal_headers_difference` concept from on-demand-relay

* another leftover from previous on-demand version

* removed extra log

* fmt

* increase relay balance guard limits for Polkadot<>Kusama bridge (#1308)

* fix benchmarks before using it in Polkadot/Kusama/Rococo runtimes (#1309)

* Endow relayer account at target chain in message benchmarks (#1310)

* endow relayer account at target chain in message benchmarks

* pick another line

* expose fee multiplier metrics in messages relay (#1312)

* Fix issues from cargo deny (#1311)

* update libp2p-core (RUSTSEC-2022-0009)

* update thread_local (RUSTSEC-2022-0006)

* time 0.2 -> time 0.3

* ignore RUSTSEC-2021-0130

* proper migration to time 0.3

* fix clippy?

* Revert "fix clippy?"

This reverts commit 53bc289.

* Add some tests to check integrity of chain constants + bridge configuration (#1316)

* add some tests to check integrity of chain constants + bridge configuration

* try to use named parameters where possible

* Encode and estimate Rococo/Wococo/Kusama/Polkadot messages (#1322)

* encode and estimate Rococo/Wococo/Kusama/Polkadot messages

* allow send-message for non-bundled chains

* weight -> dispatch-weight

* fmt

* fix spelling

* impl Decode for SignedExtensions (otherwise transaction resubmitter panicks) (#1325)

* use mortal transactions in transaction resubmitter (#1326)

* Using-same-fork metric for finality and complex relay (#1327)

* using_same_fork metric in finality relay

* support `using_different_forks` in messages relay

* added dashboards and alerts

* lockfile

* fix typo in alert expression (#1329)

* removed extra *_RUNTIME_VERSION consts from relay code (#1330)

* Reinitialize bridge relay subcommand (#1331)

* reinitialize bridge subcommand

* PolkadotToKusama in reinit-bridge

* fix clippy issues (#1332)

* Revert "Revert "override conversion rate in estimate-message-fee RPC (#1189)" (#1275)" (#1333)

This reverts commit ed7def6.

* Override conversion rate when computing message fee (#1261)

* override conversion rate when message is sent

* spelling + fmt

* add --conversion-rate-override cli option

* try to read conversion rate from cmd output

* fix output

* fmt

* fi typo in generator script (#1334)

* override conversion rate in tokens swap generator (#1335)

* fix conversion rate override in token swap (#1336)

* synchronize relay cli changes and token swap generator script (#1337)

* fixed mess with conversion rates (#1338)

* fix generator scripts to be consistent with updatedrelay output (#1339)

* Increase rate from metric when estimating fee (#1340)

* ignore errors when dumping logs and container is missing

* fixed typo

* print correct payload length

* increase conversion rate a bit when estimating fee (to avoid message rejects when rate update tx is active)

* fmt

* fix conversion rate metric in dashboards (#1341)

* get rid of '[No Data] Messages from Millau to Rialto are not being delivered' warnings (#1342)

* use DecodeLimit when decoding incoming calls (#1344)

* update regex to 1.5.5 (#1345)

* edition = "2021" (#1346)

* Mortal conversion rate updater transactions (#1257)

* merge all similar update_conversion_rate functions

* stall timeout in conversion rate update loop

* fmt

* fix

* added alerts for relay balances (#1347)

* replace From<>InboundLaneApi with direct storage reads (#1348)

* added no_stack_overflow_when_decoding_nested_call_during_dispatch test (#1349)

* ignore more "increase" alerts that are sometimes signalling NoData at startup (#1351)

* Support dedicated lanes for pallets (#962)

* pass call origin to the message verifier

* is_outbound_lane_enabled -> is_message_accepted

* trait SenderOrigin

* only accept messages from token swap pallet to token swap lane

* tests for edge cases of pay_delivery_and_dispatch_fee

* fixed origin verification

* fmt

* fix benchmarks compilation

* fix TODO with None account and non-zero message fee (already covered by tests)

* revert cargo fmt changes temporarily

* Update Substrate/Polkadot/Cumulus references (#1353)

* cumulus: 4e95228
polkadot: 975e780ae0d988dc033f400ba822d14b326ee5b9
substrate: 89fcb3e4f62d221d4e161a437768e77d6265889e

* fix refs

* sync changes from paritytech/polkadot#3828

* sync changes from paritytech/polkadot#4387

* sync changes from paritytech/polkadot#3940

* sync with changes from paritytech/polkadot#4493

* sync with changes from paritytech/polkadot#4958

* sync with changes from paritytech/polkadot#3889

* sync with changes from paritytech/polkadot#5033

* sync with changes from paritytech/polkadot#5065

* compilation fixes

* fixed prometheus endpoint startup (it now requires to be spawned within tokio context)

* update chain versions (#1358)

* update parity-scale-codec to 3.1.2 (#1359)

* fix parse_transaction on Rialto+Millau (#1360)
svyatonik pushed a commit that referenced this pull request Jul 17, 2023
* [ci] Add build docker test-parachain for zombienet

* debug ci

* disable cancel pipeline

* fix wrong rename

* enable jobs

* uncomment needs

* fixes
serban300 pushed a commit to serban300/parity-bridges-common that referenced this pull request Mar 27, 2024
* using_same_fork metric in finality relay

* support `using_different_forks` in messages relay

* added dashboards and alerts

* lockfile
serban300 pushed a commit to serban300/parity-bridges-common that referenced this pull request Apr 8, 2024
* using_same_fork metric in finality relay

* support `using_different_forks` in messages relay

* added dashboards and alerts

* lockfile
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P-Relay PR-breaksrelay A PR that is going to break existing relayers. I.e. some Runtime changes render old relayers unusabl
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant