diff --git a/expr/func_summarize.go b/expr/func_summarize.go index 9221b23b74..8bc3d6073f 100644 --- a/expr/func_summarize.go +++ b/expr/func_summarize.go @@ -95,6 +95,8 @@ func summarizeValues(serie models.Series, aggFunc batch.AggFunc, interval, start numPoints := len(serie.Datapoints) + // graphite-compatible bit + for ts, i := start, 0; i < numPoints && ts < end; ts += interval { s := i for ; i < numPoints && serie.Datapoints[i].Ts < ts+interval; i++ { @@ -111,5 +113,11 @@ func summarizeValues(serie models.Series, aggFunc batch.AggFunc, interval, start out = append(out, aggPoint) } + // MT specific bit: if !s.alignToFrom we want the output to be canonical + // only thing needed is strip out the first point if its TS < from + if len(out) != 0 && out[0].Ts < serie.QueryFrom { + out = out[1:] + } + return out }