Like Prometheus, but for logs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
loki/pkg/querier/base/matrix.go

25 lines
671 B

package base
import (
"github.com/prometheus/common/model"
"github.com/prometheus/prometheus/tsdb/chunkenc"
"github.com/grafana/loki/pkg/querier/series"
"github.com/grafana/loki/pkg/storage/chunk"
"github.com/grafana/loki/pkg/util"
)
func mergeChunks(chunks []chunk.Chunk, from, through model.Time) chunkenc.Iterator {
samples := make([][]model.SamplePair, 0, len(chunks))
for _, c := range chunks {
ss, err := c.Samples(from, through)
if err != nil {
return series.NewErrIterator(err)
}
samples = append(samples, ss)
}
merged := util.MergeNSampleSets(samples...)
return series.NewConcreteSeriesIterator(series.NewConcreteSeries(nil, merged))
}