mirror of
https://github.com/prometheus/prometheus.git
synced 2025-08-07 14:47:11 +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
@ -189,6 +189,8 @@ type BlockMeta struct {
|
|||||||
// BlockStats contains stats about contents of a block.
|
// BlockStats contains stats about contents of a block.
|
||||||
type BlockStats struct {
|
type BlockStats struct {
|
||||||
NumSamples uint64 `json:"numSamples,omitempty"`
|
NumSamples uint64 `json:"numSamples,omitempty"`
|
||||||
|
NumFloatSamples uint64 `json:"numFloatSamples,omitempty"`
|
||||||
|
NumHistogramSamples uint64 `json:"numHistogramSamples,omitempty"`
|
||||||
NumSeries uint64 `json:"numSeries,omitempty"`
|
NumSeries uint64 `json:"numSeries,omitempty"`
|
||||||
NumChunks uint64 `json:"numChunks,omitempty"`
|
NumChunks uint64 `json:"numChunks,omitempty"`
|
||||||
NumTombstones uint64 `json:"numTombstones,omitempty"`
|
NumTombstones uint64 `json:"numTombstones,omitempty"`
|
||||||
|
@ -895,7 +895,14 @@ func (c DefaultBlockPopulator) PopulateBlock(ctx context.Context, metrics *Compa
|
|||||||
meta.Stats.NumChunks += uint64(len(chks))
|
meta.Stats.NumChunks += uint64(len(chks))
|
||||||
meta.Stats.NumSeries++
|
meta.Stats.NumSeries++
|
||||||
for _, chk := range chks {
|
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 {
|
for _, chk := range chks {
|
||||||
|
@ -1098,6 +1098,13 @@ func TestCompaction_populateBlock(t *testing.T) {
|
|||||||
s.NumChunks += uint64(len(series.chunks))
|
s.NumChunks += uint64(len(series.chunks))
|
||||||
for _, chk := range series.chunks {
|
for _, chk := range series.chunks {
|
||||||
s.NumSamples += uint64(len(chk))
|
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)
|
require.Equal(t, s, meta.Stats)
|
||||||
|
Loading…
Reference in New Issue
Block a user