Make Chunks return the number of samples inside

Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
This commit is contained in:
Goutham Veeramachaneni 2017-07-12 18:31:26 +02:00
parent 1263a68875
commit 401bdfd4a6
3 changed files with 7 additions and 2 deletions

View File

@ -43,6 +43,7 @@ type Chunk interface {
Encoding() Encoding
Appender() (Appender, error)
Iterator() Iterator
NumSamples() int
}
// FromData returns a chunk from a byte slice of chunk data.

View File

@ -72,6 +72,11 @@ func (c *XORChunk) Bytes() []byte {
return c.b.bytes()
}
// NumSamples returns the number of samples in the chunk.
func (c *XORChunk) NumSamples() int {
return int(binary.BigEndian.Uint16(c.Bytes()))
}
// Appender implements the Chunk interface.
func (c *XORChunk) Appender() (Appender, error) {
it := c.iterator()

View File

@ -14,7 +14,6 @@
package tsdb
import (
"encoding/binary"
"fmt"
"math/rand"
"os"
@ -461,7 +460,7 @@ func populateBlock(blocks []Block, indexw IndexWriter, chunkw ChunkWriter) (*Blo
meta.Stats.NumChunks += uint64(len(chks))
meta.Stats.NumSeries++
for _, chk := range chks {
meta.Stats.NumSamples += uint64(binary.BigEndian.Uint16(chk.Chunk.Bytes()))
meta.Stats.NumSamples += uint64(chk.Chunk.NumSamples())
}
for _, l := range lset {