From 23b0718b5ffb934eb74dd12d10a52af5b9cca5ff Mon Sep 17 00:00:00 2001 From: terence Date: Fri, 26 Jan 2024 10:17:25 -0800 Subject: [PATCH] Add metric for data availability wait time (#13534) * Add metric for data availability wait time * Kasey's feedback * Kasey's feedback --- beacon-chain/blockchain/metrics.go | 4 ++++ beacon-chain/blockchain/receive_block.go | 1 + 2 files changed, 5 insertions(+) diff --git a/beacon-chain/blockchain/metrics.go b/beacon-chain/blockchain/metrics.go index 7cbb177991f5..cb2f2111a548 100644 --- a/beacon-chain/blockchain/metrics.go +++ b/beacon-chain/blockchain/metrics.go @@ -182,6 +182,10 @@ var ( Name: "chain_service_processing_milliseconds", Help: "Total time to call a chain service in ReceiveBlock()", }) + dataAvailWaitedTime = promauto.NewSummary(prometheus.SummaryOpts{ + Name: "da_waited_time_milliseconds", + Help: "Total time spent waiting for a data availability check in ReceiveBlock()", + }) processAttsElapsedTime = promauto.NewHistogram( prometheus.HistogramOpts{ Name: "process_attestations_milliseconds", diff --git a/beacon-chain/blockchain/receive_block.go b/beacon-chain/blockchain/receive_block.go index 66d2647c756a..b8344c40dc80 100644 --- a/beacon-chain/blockchain/receive_block.go +++ b/beacon-chain/blockchain/receive_block.go @@ -122,6 +122,7 @@ func (s *Service) ReceiveBlock(ctx context.Context, block interfaces.ReadOnlySig } } daWaitedTime := time.Since(daStartTime) + dataAvailWaitedTime.Observe(float64(daWaitedTime.Milliseconds())) // Defragment the state before continuing block processing. s.defragmentState(postState)