From 4477b6d957106dfc7a0ceb9d46fbd095e15f960f Mon Sep 17 00:00:00 2001 From: Santiago Palladino Date: Wed, 6 May 2026 12:52:54 -0300 Subject: [PATCH 1/2] fix(archiver): record checkpointed block height when checkpoint is promoted Pipelining causes every checkpoint arriving from L1 to take the proposed-promotion fast path, leaving `checkpointsToAdd` empty and suppressing the `aztec.archiver.block_height` series without a status attribute (the "Pending chain" line on the dashboards). Record the metric across all valid checkpoints so the promoted path is also covered. --- yarn-project/archiver/src/modules/l1_synchronizer.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn-project/archiver/src/modules/l1_synchronizer.ts b/yarn-project/archiver/src/modules/l1_synchronizer.ts index f31f08cd0658..9ef83634d899 100644 --- a/yarn-project/archiver/src/modules/l1_synchronizer.ts +++ b/yarn-project/archiver/src/modules/l1_synchronizer.ts @@ -973,10 +973,10 @@ export class ArchiverL1Synchronizer implements Traceable { ), ); - if (checkpointsToAdd.length > 0) { + if (validCheckpoints.length > 0) { this.instrumentation.processNewCheckpointedBlocks( - processDuration / checkpointsToAdd.length, - checkpointsToAdd.flatMap(c => c.checkpoint.blocks), + processDuration / validCheckpoints.length, + validCheckpoints.flatMap(c => c.checkpoint.blocks), ); } From 0b2e90870b0696cf3d96683a7ba761e90ba70f9b Mon Sep 17 00:00:00 2001 From: Alex Gherghisan Date: Thu, 7 May 2026 09:44:07 +0000 Subject: [PATCH 2/2] fix: report checkpointed status --- yarn-project/archiver/src/modules/instrumentation.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yarn-project/archiver/src/modules/instrumentation.ts b/yarn-project/archiver/src/modules/instrumentation.ts index f3d4d4a03b41..4e031872ca35 100644 --- a/yarn-project/archiver/src/modules/instrumentation.ts +++ b/yarn-project/archiver/src/modules/instrumentation.ts @@ -136,7 +136,7 @@ export class ArchiverInstrumentation { } this.syncDurationPerCheckpoint.record(Math.ceil(syncTimePerCheckpoint)); - this.blockHeight.record(Math.max(...blocks.map(b => b.number))); + this.blockHeight.record(Math.max(...blocks.map(b => b.number)), { [Attributes.STATUS]: 'checkpointed' }); this.checkpointHeight.record(Math.max(...blocks.map(b => b.checkpointNumber))); this.syncBlockCount.add(blocks.length); }