From 30112f6ed74fe7d6b88a019524f35fbc26903c0a Mon Sep 17 00:00:00 2001 From: Artur Melanchyk Date: Fri, 24 Jan 2025 14:31:13 +0100 Subject: [PATCH] promtool: optimize labels slice allocation Signed-off-by: Artur Melanchyk --- cmd/promtool/tsdb.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cmd/promtool/tsdb.go b/cmd/promtool/tsdb.go index cefacfec28..b291d29bf7 100644 --- a/cmd/promtool/tsdb.go +++ b/cmd/promtool/tsdb.go @@ -315,12 +315,11 @@ func readPrometheusLabels(r io.Reader, n int) ([]labels.Labels, error) { i := 0 for scanner.Scan() && i < n { - m := make([]labels.Label, 0, 10) - r := strings.NewReplacer("\"", "", "{", "", "}", "") s := r.Replace(scanner.Text()) labelChunks := strings.Split(s, ",") + m := make([]labels.Label, 0, len(labelChunks)) for _, labelChunk := range labelChunks { split := strings.Split(labelChunk, ":") m = append(m, labels.Label{Name: split[0], Value: split[1]})