mirror of
https://github.com/prometheus/prometheus.git
synced 2025-03-05 20:59:13 -08:00
Small improvements, add const, remove copypasta (#8106)
Signed-off-by: Mikhail Fesenko <proggga@gmail.com> Signed-off-by: Jesus Vazquez <jesusvzpg@gmail.com>
This commit is contained in:
parent
581d8d86b4
commit
5f2c3a5d3e
|
@ -50,6 +50,8 @@ const (
|
||||||
FormatV2 = 2
|
FormatV2 = 2
|
||||||
|
|
||||||
indexFilename = "index"
|
indexFilename = "index"
|
||||||
|
|
||||||
|
seriesByteAlign = 16
|
||||||
)
|
)
|
||||||
|
|
||||||
type indexWriterSeries struct {
|
type indexWriterSeries struct {
|
||||||
|
@ -436,11 +438,11 @@ func (w *Writer) AddSeries(ref storage.SeriesRef, lset labels.Labels, chunks ...
|
||||||
}
|
}
|
||||||
// We add padding to 16 bytes to increase the addressable space we get through 4 byte
|
// We add padding to 16 bytes to increase the addressable space we get through 4 byte
|
||||||
// series references.
|
// series references.
|
||||||
if err := w.addPadding(16); err != nil {
|
if err := w.addPadding(seriesByteAlign); err != nil {
|
||||||
return fmt.Errorf("failed to write padding bytes: %w", err)
|
return fmt.Errorf("failed to write padding bytes: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if w.f.pos%16 != 0 {
|
if w.f.pos%seriesByteAlign != 0 {
|
||||||
return fmt.Errorf("series write not 16-byte aligned at %d", w.f.pos)
|
return fmt.Errorf("series write not 16-byte aligned at %d", w.f.pos)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -711,6 +713,7 @@ func (w *Writer) writeLabelIndexesOffsetTable() error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Write out the length.
|
// Write out the length.
|
||||||
w.buf1.Reset()
|
w.buf1.Reset()
|
||||||
l := w.f.pos - startPos - 4
|
l := w.f.pos - startPos - 4
|
||||||
|
@ -722,9 +725,7 @@ func (w *Writer) writeLabelIndexesOffsetTable() error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
w.buf1.Reset()
|
return w.writeLenghtAndHash(startPos)
|
||||||
w.buf1.PutHashSum(w.crc32)
|
|
||||||
return w.write(w.buf1.Get())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// writePostingsOffsetTable writes the postings offset table.
|
// writePostingsOffsetTable writes the postings offset table.
|
||||||
|
@ -792,6 +793,10 @@ func (w *Writer) writePostingsOffsetTable() error {
|
||||||
}
|
}
|
||||||
w.fPO = nil
|
w.fPO = nil
|
||||||
|
|
||||||
|
return w.writeLenghtAndHash(startPos)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *Writer) writeLenghtAndHash(startPos uint64) error {
|
||||||
// Write out the length.
|
// Write out the length.
|
||||||
w.buf1.Reset()
|
w.buf1.Reset()
|
||||||
l := w.f.pos - startPos - 4
|
l := w.f.pos - startPos - 4
|
||||||
|
@ -803,7 +808,7 @@ func (w *Writer) writePostingsOffsetTable() error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Finally write the hash.
|
// Write out the hash.
|
||||||
w.buf1.Reset()
|
w.buf1.Reset()
|
||||||
w.buf1.PutHashSum(w.crc32)
|
w.buf1.PutHashSum(w.crc32)
|
||||||
return w.write(w.buf1.Get())
|
return w.write(w.buf1.Get())
|
||||||
|
@ -849,10 +854,10 @@ func (w *Writer) writePostingsToTmpFiles() error {
|
||||||
for d.Len() > 0 {
|
for d.Len() > 0 {
|
||||||
d.ConsumePadding()
|
d.ConsumePadding()
|
||||||
startPos := w.toc.LabelIndices - uint64(d.Len())
|
startPos := w.toc.LabelIndices - uint64(d.Len())
|
||||||
if startPos%16 != 0 {
|
if startPos%seriesByteAlign != 0 {
|
||||||
return fmt.Errorf("series not 16-byte aligned at %d", startPos)
|
return fmt.Errorf("series not 16-byte aligned at %d", startPos)
|
||||||
}
|
}
|
||||||
offsets = append(offsets, uint32(startPos/16))
|
offsets = append(offsets, uint32(startPos/seriesByteAlign))
|
||||||
// Skip to next series.
|
// Skip to next series.
|
||||||
x := d.Uvarint()
|
x := d.Uvarint()
|
||||||
d.Skip(x + crc32.Size)
|
d.Skip(x + crc32.Size)
|
||||||
|
@ -911,7 +916,7 @@ func (w *Writer) writePostingsToTmpFiles() error {
|
||||||
if _, ok := postings[lno]; !ok {
|
if _, ok := postings[lno]; !ok {
|
||||||
postings[lno] = map[uint32][]uint32{}
|
postings[lno] = map[uint32][]uint32{}
|
||||||
}
|
}
|
||||||
postings[lno][lvo] = append(postings[lno][lvo], uint32(startPos/16))
|
postings[lno][lvo] = append(postings[lno][lvo], uint32(startPos/seriesByteAlign))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Skip to next series.
|
// Skip to next series.
|
||||||
|
@ -948,7 +953,6 @@ func (w *Writer) writePostingsToTmpFiles() error {
|
||||||
return w.ctx.Err()
|
return w.ctx.Err()
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -1556,7 +1560,7 @@ func (r *Reader) LabelNamesFor(ctx context.Context, ids ...storage.SeriesRef) ([
|
||||||
// In version 2 series IDs are no longer exact references but series are 16-byte padded
|
// In version 2 series IDs are no longer exact references but series are 16-byte padded
|
||||||
// and the ID is the multiple of 16 of the actual position.
|
// and the ID is the multiple of 16 of the actual position.
|
||||||
if r.version == FormatV2 {
|
if r.version == FormatV2 {
|
||||||
offset = id * 16
|
offset = id * seriesByteAlign
|
||||||
}
|
}
|
||||||
|
|
||||||
d := encoding.NewDecbufUvarintAt(r.b, int(offset), castagnoliTable)
|
d := encoding.NewDecbufUvarintAt(r.b, int(offset), castagnoliTable)
|
||||||
|
@ -1595,7 +1599,7 @@ func (r *Reader) LabelValueFor(ctx context.Context, id storage.SeriesRef, label
|
||||||
// In version 2 series IDs are no longer exact references but series are 16-byte padded
|
// In version 2 series IDs are no longer exact references but series are 16-byte padded
|
||||||
// and the ID is the multiple of 16 of the actual position.
|
// and the ID is the multiple of 16 of the actual position.
|
||||||
if r.version == FormatV2 {
|
if r.version == FormatV2 {
|
||||||
offset = id * 16
|
offset = id * seriesByteAlign
|
||||||
}
|
}
|
||||||
d := encoding.NewDecbufUvarintAt(r.b, int(offset), castagnoliTable)
|
d := encoding.NewDecbufUvarintAt(r.b, int(offset), castagnoliTable)
|
||||||
buf := d.Get()
|
buf := d.Get()
|
||||||
|
@ -1621,7 +1625,7 @@ func (r *Reader) Series(id storage.SeriesRef, builder *labels.ScratchBuilder, ch
|
||||||
// In version 2 series IDs are no longer exact references but series are 16-byte padded
|
// In version 2 series IDs are no longer exact references but series are 16-byte padded
|
||||||
// and the ID is the multiple of 16 of the actual position.
|
// and the ID is the multiple of 16 of the actual position.
|
||||||
if r.version == FormatV2 {
|
if r.version == FormatV2 {
|
||||||
offset = id * 16
|
offset = id * seriesByteAlign
|
||||||
}
|
}
|
||||||
d := encoding.NewDecbufUvarintAt(r.b, int(offset), castagnoliTable)
|
d := encoding.NewDecbufUvarintAt(r.b, int(offset), castagnoliTable)
|
||||||
if d.Err() != nil {
|
if d.Err() != nil {
|
||||||
|
|
Loading…
Reference in a new issue