mirror of
https://github.com/prometheus/prometheus.git
synced 2025-08-06 22:27:17 +02:00
Merge pull request #16824 from afhassan/main
tsdb: add count of histogram samples to block stats
This commit is contained in:
commit
d8c921804e
@ -188,10 +188,12 @@ type BlockMeta struct {
|
||||
|
||||
// BlockStats contains stats about contents of a block.
|
||||
type BlockStats struct {
|
||||
NumSamples uint64 `json:"numSamples,omitempty"`
|
||||
NumSeries uint64 `json:"numSeries,omitempty"`
|
||||
NumChunks uint64 `json:"numChunks,omitempty"`
|
||||
NumTombstones uint64 `json:"numTombstones,omitempty"`
|
||||
NumSamples uint64 `json:"numSamples,omitempty"`
|
||||
NumFloatSamples uint64 `json:"numFloatSamples,omitempty"`
|
||||
NumHistogramSamples uint64 `json:"numHistogramSamples,omitempty"`
|
||||
NumSeries uint64 `json:"numSeries,omitempty"`
|
||||
NumChunks uint64 `json:"numChunks,omitempty"`
|
||||
NumTombstones uint64 `json:"numTombstones,omitempty"`
|
||||
}
|
||||
|
||||
// BlockDesc describes a block by ULID and time range.
|
||||
|
@ -895,7 +895,14 @@ func (c DefaultBlockPopulator) PopulateBlock(ctx context.Context, metrics *Compa
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
for _, chk := range chks {
|
||||
|
@ -1098,6 +1098,13 @@ 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++
|
||||
} else {
|
||||
s.NumFloatSamples++
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
require.Equal(t, s, meta.Stats)
|
||||
|
Loading…
Reference in New Issue
Block a user