omni/tokenbridge

Prometheus metrics does not allow detect the amb contracts imbalance.

Closed this issue · 0 comments

These are examples of the outputs the monitor produces for the json's version of metrics and for the prometheus metrics:

{
  "home":{
    "toForeign":6004,
    "fromForeign":53584
  },
  "foreign":{
    "fromHome":5908,
    "toHome":53585
  },
  "lastChecked":1614377833,
  "fromHomeToForeignDiff":6,
  "fromHomeToForeignPBUDiff":90,
  "fromForeignToHomeDiff":-1,
  "health":true,
  "timeDiff":23
}
balances_home_value 0
balances_home_txs_deposit 0
balances_home_txs_withdrawal 0
balances_foreign_value 0
balances_foreign_txs_deposit 0
balances_foreign_txs_withdrawal 0
balances_diff_value 0
balances_diff_deposit 0
balances_diff_withdrawal 0

Obviously the information about messages passed through the bridge in different direction is missed.
Consider to use the following mapping to produce the prometheus metrics:

home:toForeign --> txs_home_out
home:fromForeign --> txs_home_in
foreign:toHome --> txs_foreign_out
foreign:fromHome --> txs_foreign_in
fromHomeToForeignDiff --> txs_diff_home_out_oracles
fromHomeToForeignPBUDiff --> txs_diff_home_out_users
fromForeignToHomeDiff --> txs_diff_foreign_out