File tree Expand file tree Collapse file tree 3 files changed +24
-0
lines changed Expand file tree Collapse file tree 3 files changed +24
-0
lines changed Original file line number Diff line number Diff line change @@ -18,6 +18,7 @@ ckb-notify.workspace = true
1818ckb-async-runtime.workspace = true
1919ckb-indexer-sync.workspace = true
2020rocksdb = { workspace = true , features = [" snappy" ], default-features = false }
21+ ckb-metrics.workspace = true
2122memchr.workspace = true
2223
2324[dev-dependencies ]
Original file line number Diff line number Diff line change @@ -517,6 +517,12 @@ where
517517 if block_number % self . prune_interval == 0 {
518518 self . prune ( ) ?;
519519 }
520+
521+ // Update indexer tip metric
522+ if let Some ( metrics) = ckb_metrics:: handle ( ) {
523+ metrics. ckb_indexer_tip . set ( block_number as i64 ) ;
524+ }
525+
520526 Ok ( ( ) )
521527 }
522528
@@ -672,6 +678,16 @@ where
672678 batch. delete ( Key :: Header ( block_number, & block_hash, filtered) . into_vec ( ) ) ?;
673679
674680 batch. commit ( ) ?;
681+
682+ // Update indexer tip metric after rollback
683+ if let Some ( metrics) = ckb_metrics:: handle ( ) {
684+ // After rollback, the new tip is block_number - 1
685+ if block_number > 0 {
686+ metrics. ckb_indexer_tip . set ( ( block_number - 1 ) as i64 ) ;
687+ } else {
688+ metrics. ckb_indexer_tip . set ( 0 ) ;
689+ }
690+ }
675691 }
676692 Ok ( ( ) )
677693 }
Original file line number Diff line number Diff line change @@ -130,6 +130,8 @@ pub struct Metrics {
130130 pub ckb_hole_punching_active_success_count : IntCounter ,
131131 pub ckb_hole_punching_passive_count : IntCounter ,
132132 pub ckb_hole_punching_passive_success_count : IntCounter ,
133+ /// Gauge metric for CKB indexer tip block number
134+ pub ckb_indexer_tip : IntGauge ,
133135}
134136
135137static METRICS : std:: sync:: LazyLock < Metrics > = std:: sync:: LazyLock :: new ( || {
@@ -336,6 +338,11 @@ static METRICS: std::sync::LazyLock<Metrics> = std::sync::LazyLock::new(|| {
336338 "The CKB hole punching passive success count"
337339 )
338340 . unwrap ( ) ,
341+ ckb_indexer_tip : register_int_gauge ! (
342+ "ckb_indexer_tip" ,
343+ "The CKB indexer tip block number"
344+ )
345+ . unwrap ( ) ,
339346 }
340347} ) ;
341348
You can’t perform that action at this time.
0 commit comments