From ec714585a170e68c87d9157fecc894c880c7120d Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 24 Apr 2025 07:21:16 +0800 Subject: [PATCH 1/3] feat: add metrics chain/head/finalized --- rollup/rollup_sync_service/rollup_sync_service.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/rollup/rollup_sync_service/rollup_sync_service.go b/rollup/rollup_sync_service/rollup_sync_service.go index 8b65d0f8b33e..8071eb447a89 100644 --- a/rollup/rollup_sync_service/rollup_sync_service.go +++ b/rollup/rollup_sync_service/rollup_sync_service.go @@ -17,6 +17,7 @@ import ( "github.com/scroll-tech/go-ethereum/core/rawdb" "github.com/scroll-tech/go-ethereum/ethdb" "github.com/scroll-tech/go-ethereum/log" + "github.com/scroll-tech/go-ethereum/metrics" "github.com/scroll-tech/go-ethereum/node" "github.com/scroll-tech/go-ethereum/params" "github.com/scroll-tech/go-ethereum/rollup/da_syncer" @@ -43,7 +44,10 @@ const ( defaultLogInterval = 5 * time.Minute ) -var ErrShouldResetSyncHeight = errors.New("ErrShouldResetSyncHeight") +var ( + finalizedBlockGauge = metrics.NewRegisteredGauge("chain/head/finalized", nil) + ErrShouldResetSyncHeight = errors.New("ErrShouldResetSyncHeight") +) // RollupSyncService collects ScrollChain batch commit/revert/finalize events and stores metadata into db. type RollupSyncService struct { @@ -135,6 +139,13 @@ func (s *RollupSyncService) Start() { log.Info("Starting rollup event sync background service", "latest processed block", s.callDataBlobSource.L1Height()) + + + finalizedBlockHeightPtr := rawdb.ReadFinalizedL2BlockNumber(s.db) + if finalizedBlockHeightPtr != nil { + finalizedBlockGauge.Update(int64(*finalizedBlockHeightPtr)) + } + go func() { syncTicker := time.NewTicker(defaultSyncInterval) defer syncTicker.Stop() @@ -321,6 +332,7 @@ func (s *RollupSyncService) updateRollupEvents(daEntries da.Entries) error { return fmt.Errorf("failed to batch write finalized batch meta to database: %w", err) } rawdb.WriteFinalizedL2BlockNumber(s.db, highestFinalizedBlockNumber) + finalizedBlockGauge.Update(int64(highestFinalizedBlockNumber)) rawdb.WriteLastFinalizedBatchIndex(s.db, batchIndex) log.Debug("write finalized l2 block number", "batch index", batchIndex, "finalized l2 block height", highestFinalizedBlockNumber) From 0732859a826bfd1791eb3bfffb614ff6d64aee74 Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 24 Apr 2025 07:24:10 +0800 Subject: [PATCH 2/3] bump version --- params/version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/params/version.go b/params/version.go index 265cf8050392..d3a716650585 100644 --- a/params/version.go +++ b/params/version.go @@ -24,7 +24,7 @@ import ( const ( VersionMajor = 5 // Major version component of the current release VersionMinor = 8 // Minor version component of the current release - VersionPatch = 39 // Patch version component of the current release + VersionPatch = 40 // Patch version component of the current release VersionMeta = "mainnet" // Version metadata to append to the version string ) From 49b2e3f69284d05237ce1d2f9bf6a936f3398538 Mon Sep 17 00:00:00 2001 From: Morty Date: Thu, 24 Apr 2025 07:31:10 +0800 Subject: [PATCH 3/3] fix: lint --- rollup/rollup_sync_service/rollup_sync_service.go | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/rollup/rollup_sync_service/rollup_sync_service.go b/rollup/rollup_sync_service/rollup_sync_service.go index 8071eb447a89..1657695d5035 100644 --- a/rollup/rollup_sync_service/rollup_sync_service.go +++ b/rollup/rollup_sync_service/rollup_sync_service.go @@ -45,7 +45,7 @@ const ( ) var ( - finalizedBlockGauge = metrics.NewRegisteredGauge("chain/head/finalized", nil) + finalizedBlockGauge = metrics.NewRegisteredGauge("chain/head/finalized", nil) ErrShouldResetSyncHeight = errors.New("ErrShouldResetSyncHeight") ) @@ -139,13 +139,11 @@ func (s *RollupSyncService) Start() { log.Info("Starting rollup event sync background service", "latest processed block", s.callDataBlobSource.L1Height()) - - finalizedBlockHeightPtr := rawdb.ReadFinalizedL2BlockNumber(s.db) if finalizedBlockHeightPtr != nil { finalizedBlockGauge.Update(int64(*finalizedBlockHeightPtr)) } - + go func() { syncTicker := time.NewTicker(defaultSyncInterval) defer syncTicker.Stop()