add numHistogramSamples to block stats

Signed-off-by: Ahmed Hassan <afayekhassan@gmail.com>
This commit is contained in:
Ahmed Hassan 2025-07-02 17:15:50 -07:00
parent 74aca682b7
commit 6d77b47d13
3 changed files with 14 additions and 4 deletions

View File

@ -189,6 +189,7 @@ type BlockMeta struct {
// BlockStats contains stats about contents of a block.
type BlockStats struct {
NumSamples uint64 `json:"numSamples,omitempty"`
NumHistogramSamples uint64 `json:"numHistogramSamples,omitempty"`
NumSeries uint64 `json:"numSeries,omitempty"`
NumChunks uint64 `json:"numChunks,omitempty"`
NumTombstones uint64 `json:"numTombstones,omitempty"`

View File

@ -896,6 +896,10 @@ func (c DefaultBlockPopulator) PopulateBlock(ctx context.Context, metrics *Compa
meta.Stats.NumSeries++
for _, chk := range chks {
meta.Stats.NumSamples += uint64(chk.Chunk.NumSamples())
enc := chk.Chunk.Encoding()
if enc == chunkenc.EncHistogram || enc == chunkenc.EncFloatHistogram {
meta.Stats.NumHistogramSamples += uint64(chk.Chunk.NumSamples())
}
}
for _, chk := range chks {

View File

@ -1098,6 +1098,11 @@ func TestCompaction_populateBlock(t *testing.T) {
s.NumChunks += uint64(len(series.chunks))
for _, chk := range series.chunks {
s.NumSamples += uint64(len(chk))
for _, smpl := range chk {
if smpl.h != nil || smpl.fh != nil {
s.NumHistogramSamples++
}
}
}
}
require.Equal(t, s, meta.Stats)