Skip to content

Commit 5f16302

Browse files
committed
fix: update metric
1 parent c13257f commit 5f16302

File tree

2 files changed

+19
-7
lines changed

2 files changed

+19
-7
lines changed

committer/src/setup.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,8 @@ pub fn eigen_state_listener(
383383
registry: &Registry,
384384
last_finalization: IntGauge,
385385
) -> Result<tokio::task::JoinHandle<()>> {
386-
let state_committer = EigenStateListener::new(eigen_da, storage, last_finalization);
386+
let state_committer =
387+
EigenStateListener::new(eigen_da, storage, SystemClock, last_finalization);
387388

388389
state_committer.register_metrics(registry);
389390

packages/services/src/state_listener/eigen_service.rs

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,34 @@ use crate::{
88
types::{AsB64, DispersalStatus, EigenDASubmission},
99
};
1010

11-
pub struct StateListener<EigenDA, Db> {
11+
pub struct StateListener<EigenDA, Db, Clock> {
1212
eigenda_adapter: EigenDA,
1313
storage: Db,
1414
metrics: Metrics,
15+
clock: Clock,
1516
}
1617

17-
impl<EigenDA, Db> StateListener<EigenDA, Db> {
18-
pub fn new(l1_adapter: EigenDA, storage: Db, last_finalization_time_metric: IntGauge) -> Self {
18+
impl<EigenDA, Db, Clock> StateListener<EigenDA, Db, Clock> {
19+
pub fn new(
20+
l1_adapter: EigenDA,
21+
storage: Db,
22+
clock: Clock,
23+
last_finalization_time_metric: IntGauge,
24+
) -> Self {
1925
Self {
2026
eigenda_adapter: l1_adapter,
2127
storage,
2228
metrics: Metrics::new(last_finalization_time_metric),
29+
clock,
2330
}
2431
}
2532
}
2633

27-
impl<EigenDA, Db> StateListener<EigenDA, Db>
34+
impl<EigenDA, Db, Clock> StateListener<EigenDA, Db, Clock>
2835
where
2936
EigenDA: crate::state_listener::port::eigen_da::Api,
3037
Db: crate::state_listener::port::Storage,
38+
Clock: crate::state_listener::port::Clock,
3139
{
3240
async fn check_non_finalized(
3341
&self,
@@ -74,6 +82,8 @@ where
7482
changes.push((submission_id, DispersalStatus::Confirmed));
7583
}
7684
DispersalStatus::Finalized => {
85+
let now = self.clock.now();
86+
self.metrics.last_finalization_time.set(now.timestamp());
7787
tracing::info!(
7888
"Finalized submission with request_id: {}",
7989
submission.as_base64(),
@@ -104,10 +114,11 @@ where
104114
}
105115
}
106116

107-
impl<EigenDA, Db> Runner for StateListener<EigenDA, Db>
117+
impl<EigenDA, Db, Clock> Runner for StateListener<EigenDA, Db, Clock>
108118
where
109119
EigenDA: crate::state_listener::port::eigen_da::Api + Send + Sync,
110120
Db: crate::state_listener::port::Storage,
121+
Clock: crate::state_listener::port::Clock + Send + Sync,
111122
{
112123
async fn run(&mut self) -> crate::Result<()> {
113124
let non_finalized = self.storage.get_non_finalized_eigen_submission().await?;
@@ -134,7 +145,7 @@ struct Metrics {
134145
last_finalization_interval: IntGauge,
135146
}
136147

137-
impl<L1, Db> RegistersMetrics for StateListener<L1, Db> {
148+
impl<EigenDA, Db, Clock> RegistersMetrics for StateListener<EigenDA, Db, Clock> {
138149
fn metrics(&self) -> Vec<Box<dyn Collector>> {
139150
vec![
140151
Box::new(self.metrics.last_eth_block_w_blob.clone()),

0 commit comments

Comments
 (0)