From a721daf981aa41763fb8b8d182a7158ef4b3181b Mon Sep 17 00:00:00 2001 From: Ben Kochie Date: Mon, 31 Mar 2025 06:05:14 +0200 Subject: [PATCH] Log WAL segment loading time (#16336) Improve readability of "WAL segment loaded" by logging the duration of each load. This helps make it easier to spot slow WAL file load times. Signed-off-by: SuperQ --- tsdb/head.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tsdb/head.go b/tsdb/head.go index a9d4220cbd..3835970ca3 100644 --- a/tsdb/head.go +++ b/tsdb/head.go @@ -784,6 +784,7 @@ func (h *Head) Init(minValidTime int64) error { } // Backfill segments from the most recent checkpoint onwards. for i := startFrom; i <= endAt; i++ { + walSegmentStart := time.Now() s, err := wlog.OpenReadSegment(wlog.SegmentName(h.wal.Dir(), i)) if err != nil { return fmt.Errorf("open WAL segment: %d: %w", i, err) @@ -808,7 +809,7 @@ func (h *Head) Init(minValidTime int64) error { if err != nil { return err } - h.logger.Info("WAL segment loaded", "segment", i, "maxSegment", endAt) + h.logger.Info("WAL segment loaded", "segment", i, "maxSegment", endAt, "duration", time.Since(walSegmentStart)) h.updateWALReplayStatusRead(i) } walReplayDuration := time.Since(walReplayStart)