diff --git a/crates/storage/provider/src/providers/database/metrics.rs b/crates/storage/provider/src/providers/database/metrics.rs index ba43298c3..559e2ae90 100644 --- a/crates/storage/provider/src/providers/database/metrics.rs +++ b/crates/storage/provider/src/providers/database/metrics.rs @@ -61,6 +61,7 @@ pub(crate) enum Action { InsertTransactions, InsertTransactionHashNumbers, InsertBlockWithdrawals, + InsertBlockSidecars, InsertBlockRequests, InsertBlockBodyIndices, InsertTransactionBlocks, @@ -106,6 +107,8 @@ struct DatabaseProviderMetrics { insert_tx_hash_numbers: Histogram, /// Duration of insert block withdrawals insert_block_withdrawals: Histogram, + /// Duration of insert block sidecars + insert_block_sidecars: Histogram, /// Duration of insert block requests insert_block_requests: Histogram, /// Duration of insert block body indices @@ -139,6 +142,7 @@ impl DatabaseProviderMetrics { Action::InsertTransactions => self.insert_transactions.record(duration), Action::InsertTransactionHashNumbers => self.insert_tx_hash_numbers.record(duration), Action::InsertBlockWithdrawals => self.insert_block_withdrawals.record(duration), + Action::InsertBlockSidecars => self.insert_block_sidecars.record(duration), Action::InsertBlockRequests => self.insert_block_requests.record(duration), Action::InsertBlockBodyIndices => self.insert_block_body_indices.record(duration), Action::InsertTransactionBlocks => self.insert_tx_blocks.record(duration), diff --git a/crates/storage/provider/src/providers/database/provider.rs b/crates/storage/provider/src/providers/database/provider.rs index b132d6416..8bd3247d3 100644 --- a/crates/storage/provider/src/providers/database/provider.rs +++ b/crates/storage/provider/src/providers/database/provider.rs @@ -2796,6 +2796,11 @@ impl BlockWriter for DatabaseProvider { } } + let sidecars = block.block.sidecars.unwrap_or_default(); + debug!(target: "providers::db", ?block_number, sidecars = ?sidecars.len(), "Inserting block sidecars"); + self.tx.put::(block_number, sidecars)?; + durations_recorder.record_relative(metrics::Action::InsertBlockSidecars); + let block_indices = StoredBlockBodyIndices { first_tx_num, tx_count }; self.tx.put::(block_number, block_indices.clone())?; durations_recorder.record_relative(metrics::Action::InsertBlockBodyIndices);