From 79ac424812a84485515ed2d3363134af0ffbac68 Mon Sep 17 00:00:00 2001 From: yeya24 Date: Wed, 5 Nov 2025 14:14:50 -0800 Subject: [PATCH 1/2] add separate float and histogram samples stats in sharded block populator Signed-off-by: yeya24 --- pkg/compactor/sharded_block_populator.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pkg/compactor/sharded_block_populator.go b/pkg/compactor/sharded_block_populator.go index 3a3e72e33f9..3e035a368aa 100644 --- a/pkg/compactor/sharded_block_populator.go +++ b/pkg/compactor/sharded_block_populator.go @@ -2,6 +2,7 @@ package compactor import ( "context" + "fmt" "io" "log/slog" "maps" @@ -177,7 +178,16 @@ func (c ShardedBlockPopulator) PopulateBlock(ctx context.Context, metrics *tsdb. meta.Stats.NumChunks += uint64(len(chks)) meta.Stats.NumSeries++ for _, chk := range chks { - meta.Stats.NumSamples += uint64(chk.Chunk.NumSamples()) + samples := uint64(chk.Chunk.NumSamples()) + meta.Stats.NumSamples += samples + switch chk.Chunk.Encoding() { + case chunkenc.EncHistogram, chunkenc.EncFloatHistogram: + meta.Stats.NumHistogramSamples += samples + case chunkenc.EncXOR: + meta.Stats.NumFloatSamples += samples + default: + return errors.Wrap(err, fmt.Sprintf("unknown chunk encoding %s", chk.Chunk.Encoding().String())) + } } for _, chk := range chks { From 4e15af7434b677fdae902996730f12a5fc7d3b2d Mon Sep 17 00:00:00 2001 From: yeya24 Date: Wed, 5 Nov 2025 14:18:58 -0800 Subject: [PATCH 2/2] use errors wrapf Signed-off-by: yeya24 --- pkg/compactor/sharded_block_populator.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkg/compactor/sharded_block_populator.go b/pkg/compactor/sharded_block_populator.go index 3e035a368aa..a8d4228d13b 100644 --- a/pkg/compactor/sharded_block_populator.go +++ b/pkg/compactor/sharded_block_populator.go @@ -2,7 +2,6 @@ package compactor import ( "context" - "fmt" "io" "log/slog" "maps" @@ -186,7 +185,7 @@ func (c ShardedBlockPopulator) PopulateBlock(ctx context.Context, metrics *tsdb. case chunkenc.EncXOR: meta.Stats.NumFloatSamples += samples default: - return errors.Wrap(err, fmt.Sprintf("unknown chunk encoding %s", chk.Chunk.Encoding().String())) + return errors.Wrapf(err, "unknown chunk encoding %s", chk.Chunk.Encoding().String()) } }