diff --git a/storage/metric/operation.go b/storage/metric/operation.go index ac526eeca..7a54a8a70 100644 --- a/storage/metric/operation.go +++ b/storage/metric/operation.go @@ -70,11 +70,15 @@ func (g *getValuesAtTimeOp) ExtractSamples(in []model.SamplePair) (out []model.S return } +// extractValuesAroundTime searches for the provided time in the list of +// available samples and emits a slice containing the data points that +// are adjacent to it. +// +// An assumption of this is that the provided samples are already sorted! func extractValuesAroundTime(t time.Time, in []model.SamplePair) (out []model.SamplePair) { i := sort.Search(len(in), func(i int) bool { return !in[i].Timestamp.Before(t) }) - fmt.Printf("I: %d\n", i) switch i { case len(in): out = in[len(in)-1:] @@ -268,7 +272,9 @@ func (s frequencySorter) Less(i, j int) bool { return l.interval < r.interval } -// Selects and returns all operations that are getValuesAtIntervalOps operations. +// Selects and returns all operations that are getValuesAtIntervalOp operations +// in a map whereby the operation interval is the key and the value are the +// operations sorted by respective level of greediness. func collectIntervals(ops ops) (intervals map[time.Duration]getValuesAtIntervalOps) { intervals = make(map[time.Duration]getValuesAtIntervalOps)