diff --git a/beacon-chain/sync/metrics.go b/beacon-chain/sync/metrics.go index 666bd65346..7acfab0f5d 100644 --- a/beacon-chain/sync/metrics.go +++ b/beacon-chain/sync/metrics.go @@ -157,6 +157,12 @@ var ( Help: "Time for gossiped blob sidecars to arrive", }, ) + dataColumnSidecarArrivalGossipSummary = promauto.NewSummary( + prometheus.SummaryOpts{ + Name: "gossip_data_column_sidecar_arrival_milliseconds", + Help: "Time for gossiped data column sidecars to arrive", + }, + ) blobSidecarVerificationGossipSummary = promauto.NewSummary( prometheus.SummaryOpts{ Name: "gossip_blob_sidecar_verification_milliseconds", diff --git a/beacon-chain/sync/validate_data_column.go b/beacon-chain/sync/validate_data_column.go index 13cc1f725d..2e3695d009 100644 --- a/beacon-chain/sync/validate_data_column.go +++ b/beacon-chain/sync/validate_data_column.go @@ -191,6 +191,7 @@ func (s *Service) validateDataColumn(ctx context.Context, pid peer.ID, msg *pubs sinceSlotStartTime := receivedTime.Sub(startTime) validationTime := s.cfg.clock.Now().Sub(receivedTime) + dataColumnSidecarArrivalGossipSummary.Observe(float64(sinceSlotStartTime.Milliseconds())) dataColumnSidecarVerificationGossipHistogram.Observe(float64(validationTime.Milliseconds())) peerGossipScore := s.cfg.p2p.Peers().Scorers().GossipScorer().Score(pid) diff --git a/changelog/terence_data-column-arrival-metric.md b/changelog/terence_data-column-arrival-metric.md new file mode 100644 index 0000000000..1f87724e73 --- /dev/null +++ b/changelog/terence_data-column-arrival-metric.md @@ -0,0 +1,2 @@ +### Added +- prometheus summary `gossip_data_column_sidecar_arrival_milliseconds` to track data column sidecar arrival latency since slot start.