Metadata -> Layout renaming

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
This commit is contained in:
Ganesh Vernekar 2021-10-13 20:27:48 +05:30
parent 4e206c7c77
commit dcaf568279
No known key found for this signature in database
GPG Key ID: 0F8729A5EB59B965
2 changed files with 21 additions and 27 deletions

View File

@ -64,18 +64,18 @@ func (c *HistogramChunk) NumSamples() int {
return int(binary.BigEndian.Uint16(c.Bytes())) return int(binary.BigEndian.Uint16(c.Bytes()))
} }
// Meta returns the histogram metadata. Only call this on chunks that have at // Layout returns the histogram layout. Only call this on chunks that have at
// least one sample. // least one sample.
func (c *HistogramChunk) Meta() ( func (c *HistogramChunk) Layout() (
schema int32, zeroThreshold float64, schema int32, zeroThreshold float64,
negativeSpans, positiveSpans []histogram.Span, negativeSpans, positiveSpans []histogram.Span,
err error, err error,
) { ) {
if c.NumSamples() == 0 { if c.NumSamples() == 0 {
panic("HistoChunk.Meta() called on an empty chunk") panic("HistoChunk.Layout() called on an empty chunk")
} }
b := newBReader(c.Bytes()[2:]) b := newBReader(c.Bytes()[2:])
return readHistogramChunkMeta(&b) return readHistogramChunkLayout(&b)
} }
// CounterResetHeader defines the first 2 bits of the chunk header. // CounterResetHeader defines the first 2 bits of the chunk header.
@ -176,9 +176,9 @@ func newHistogramIterator(b []byte) *histogramIterator {
numTotal: binary.BigEndian.Uint16(b), numTotal: binary.BigEndian.Uint16(b),
t: math.MinInt64, t: math.MinInt64,
} }
// The first 2 bytes contain chunk headers. // The first 3 bytes contain chunk headers.
// We skip that for actual samples. // We skip that for actual samples.
_, _ = it.br.readBits(16) _, _ = it.br.readBits(24)
return it return it
} }
@ -203,7 +203,7 @@ func (c *HistogramChunk) Iterator(it Iterator) Iterator {
type HistogramAppender struct { type HistogramAppender struct {
b *bstream b *bstream
// Metadata: // Layout:
schema int32 schema int32
zThreshold float64 zThreshold float64
pSpans, nSpans []histogram.Span pSpans, nSpans []histogram.Span
@ -394,15 +394,15 @@ func (a *HistogramAppender) AppendHistogram(t int64, h histogram.Histogram) {
if value.IsStaleNaN(h.Sum) { if value.IsStaleNaN(h.Sum) {
// Emptying out other fields to write no buckets, and an empty // Emptying out other fields to write no buckets, and an empty
// meta in case of first histogram in the chunk. // layout in case of first histogram in the chunk.
h = histogram.Histogram{Sum: h.Sum} h = histogram.Histogram{Sum: h.Sum}
} }
switch num { switch num {
case 0: case 0:
// The first append gets the privilege to dictate the metadata // The first append gets the privilege to dictate the layout
// but it's also responsible for encoding it into the chunk! // but it's also responsible for encoding it into the chunk!
writeHistogramChunkMeta(a.b, h.Schema, h.ZeroThreshold, h.PositiveSpans, h.NegativeSpans) writeHistogramChunkLayout(a.b, h.Schema, h.ZeroThreshold, h.PositiveSpans, h.NegativeSpans)
a.schema = h.Schema a.schema = h.Schema
a.zThreshold = h.ZeroThreshold a.zThreshold = h.ZeroThreshold
@ -591,7 +591,7 @@ type histogramIterator struct {
numTotal uint16 numTotal uint16
numRead uint16 numRead uint16
// Metadata: // Layout:
schema int32 schema int32
zThreshold float64 zThreshold float64
pSpans, nSpans []histogram.Span pSpans, nSpans []histogram.Span
@ -687,11 +687,10 @@ func (it *histogramIterator) Next() bool {
} }
if it.numRead == 0 { if it.numRead == 0 {
// The first read is responsible for reading the chunk layout
// The first read is responsible for reading the chunk metadata
// and for initializing fields that depend on it. We give // and for initializing fields that depend on it. We give
// counter reset info at chunk level, hence we discard it here. // counter reset info at chunk level, hence we discard it here.
schema, zeroThreshold, posSpans, negSpans, err := readHistogramChunkMeta(&it.br) schema, zeroThreshold, posSpans, negSpans, err := readHistogramChunkLayout(&it.br)
if err != nil { if err != nil {
it.err = err it.err = err
return false return false

View File

@ -17,14 +17,14 @@ import (
"github.com/prometheus/prometheus/model/histogram" "github.com/prometheus/prometheus/model/histogram"
) )
func writeHistogramChunkMeta(b *bstream, schema int32, zeroThreshold float64, positiveSpans, negativeSpans []histogram.Span) { func writeHistogramChunkLayout(b *bstream, schema int32, zeroThreshold float64, positiveSpans, negativeSpans []histogram.Span) {
putVarbitInt(b, int64(schema)) putVarbitInt(b, int64(schema))
putVarbitFloat(b, zeroThreshold) putVarbitFloat(b, zeroThreshold)
putHistogramChunkMetaSpans(b, positiveSpans) putHistogramChunkLayoutSpans(b, positiveSpans)
putHistogramChunkMetaSpans(b, negativeSpans) putHistogramChunkLayoutSpans(b, negativeSpans)
} }
func putHistogramChunkMetaSpans(b *bstream, spans []histogram.Span) { func putHistogramChunkLayoutSpans(b *bstream, spans []histogram.Span) {
putVarbitInt(b, int64(len(spans))) putVarbitInt(b, int64(len(spans)))
for _, s := range spans { for _, s := range spans {
putVarbitInt(b, int64(s.Length)) putVarbitInt(b, int64(s.Length))
@ -32,16 +32,11 @@ func putHistogramChunkMetaSpans(b *bstream, spans []histogram.Span) {
} }
} }
func readHistogramChunkMeta(b *bstreamReader) ( func readHistogramChunkLayout(b *bstreamReader) (
schema int32, zeroThreshold float64, schema int32, zeroThreshold float64,
positiveSpans, negativeSpans []histogram.Span, positiveSpans, negativeSpans []histogram.Span,
err error, err error,
) { ) {
_, err = b.ReadByte() // The header.
if err != nil {
return
}
v, err := readVarbitInt(b) v, err := readVarbitInt(b)
if err != nil { if err != nil {
return return
@ -53,12 +48,12 @@ func readHistogramChunkMeta(b *bstreamReader) (
return return
} }
positiveSpans, err = readHistogramChunkMetaSpans(b) positiveSpans, err = readHistogramChunkLayoutSpans(b)
if err != nil { if err != nil {
return return
} }
negativeSpans, err = readHistogramChunkMetaSpans(b) negativeSpans, err = readHistogramChunkLayoutSpans(b)
if err != nil { if err != nil {
return return
} }
@ -66,7 +61,7 @@ func readHistogramChunkMeta(b *bstreamReader) (
return return
} }
func readHistogramChunkMetaSpans(b *bstreamReader) ([]histogram.Span, error) { func readHistogramChunkLayoutSpans(b *bstreamReader) ([]histogram.Span, error) {
var spans []histogram.Span var spans []histogram.Span
num, err := readVarbitInt(b) num, err := readVarbitInt(b)
if err != nil { if err != nil {