diff --git a/apps/fortuna/Cargo.toml b/apps/fortuna/Cargo.toml index 5bd969d159..a4491df717 100644 --- a/apps/fortuna/Cargo.toml +++ b/apps/fortuna/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "fortuna" -version = "7.5.2" +version = "7.5.3" edition = "2021" [lib] diff --git a/apps/fortuna/src/keeper/keeper_metrics.rs b/apps/fortuna/src/keeper/keeper_metrics.rs index dba08904ab..6e9978962b 100644 --- a/apps/fortuna/src/keeper/keeper_metrics.rs +++ b/apps/fortuna/src/keeper/keeper_metrics.rs @@ -23,6 +23,7 @@ pub struct ChainIdLabel { pub struct KeeperMetrics { pub current_sequence_number: Family, + pub current_commitment_sequence_number: Family, pub end_sequence_number: Family, pub balance: Family>, pub collected_fee: Family>, @@ -48,6 +49,7 @@ impl Default for KeeperMetrics { fn default() -> Self { Self { current_sequence_number: Family::default(), + current_commitment_sequence_number: Family::default(), end_sequence_number: Family::default(), balance: Family::default(), collected_fee: Family::default(), @@ -101,6 +103,12 @@ impl KeeperMetrics { keeper_metrics.current_sequence_number.clone(), ); + writable_registry.register( + "current_commitment_sequence_number", + "The sequence number for the current commitment", + keeper_metrics.current_commitment_sequence_number.clone(), + ); + writable_registry.register( "end_sequence_number", "The sequence number for the end request", @@ -237,6 +245,9 @@ impl KeeperMetrics { let _ = keeper_metrics .current_sequence_number .get_or_create(&account_label); + let _ = keeper_metrics + .current_commitment_sequence_number + .get_or_create(&account_label); let _ = keeper_metrics .end_sequence_number .get_or_create(&account_label); diff --git a/apps/fortuna/src/keeper/track.rs b/apps/fortuna/src/keeper/track.rs index b31d4d8603..03311229b8 100644 --- a/apps/fortuna/src/keeper/track.rs +++ b/apps/fortuna/src/keeper/track.rs @@ -65,6 +65,7 @@ pub async fn track_provider( let current_sequence_number = provider_info.sequence_number; let end_sequence_number = provider_info.end_sequence_number; + let current_commitment_sequence_number = provider_info.current_commitment_sequence_number; metrics .collected_fee @@ -92,6 +93,16 @@ pub async fn track_provider( // a long time for it to cross the limits of i64. // currently prometheus only supports i64 for Gauge types .set(current_sequence_number as i64); + metrics + .current_commitment_sequence_number + .get_or_create(&AccountLabel { + chain_id: chain_id.clone(), + address: provider_address.to_string(), + }) + // sequence_number type on chain is u64 but practically it will take + // a long time for it to cross the limits of i64. + // currently prometheus only supports i64 for Gauge types + .set(current_commitment_sequence_number as i64); metrics .end_sequence_number .get_or_create(&AccountLabel {