diff --git a/crates/op-rbuilder/src/builders/standard/payload.rs b/crates/op-rbuilder/src/builders/standard/payload.rs index fc6e93d0b..96c280a3c 100644 --- a/crates/op-rbuilder/src/builders/standard/payload.rs +++ b/crates/op-rbuilder/src/builders/standard/payload.rs @@ -203,6 +203,8 @@ where args: BuildArguments, OpBuiltPayload>, best: impl FnOnce(BestTransactionsAttributes) -> Txs + Send + Sync + 'a, ) -> Result, PayloadBuilderError> { + let block_build_start_time = Instant::now(); + let BuildArguments { mut cached_reads, config, @@ -254,6 +256,7 @@ where let state_provider = self.client.state_by_block_hash(ctx.parent().hash())?; let state = StateProviderDatabase::new(state_provider); + let metrics = ctx.metrics.clone(); if ctx.attributes().no_tx_pool { let db = State::builder() @@ -269,7 +272,13 @@ where .build(); builder.build(db, ctx) } - .map(|out| out.with_cached_reads(cached_reads)) + .map(|out| { + metrics + .total_block_built_duration + .record(block_build_start_time.elapsed()); + + out.with_cached_reads(cached_reads) + }) } }