Fix handling null interval

This commit is contained in:
Alexander Zobnin
2021-05-31 18:25:12 +03:00
parent f908ab7264
commit 7276e4ba09
2 changed files with 20 additions and 3 deletions

View File

@@ -160,9 +160,11 @@ func applyGroupBy(series timeseries.TimeSeries, params ...interface{}) (timeseri
if err != nil {
return nil, errParsingFunctionParam(err)
}
if interval == 0 {
return series, nil
}
s := series.GroupBy(interval, aggFunc)
return s, nil
return series.GroupBy(interval, aggFunc), nil
}
func applyPercentile(series timeseries.TimeSeries, params ...interface{}) (timeseries.TimeSeries, error) {
@@ -182,6 +184,9 @@ func applyPercentile(series timeseries.TimeSeries, params ...interface{}) (times
if err != nil {
return nil, errParsingFunctionParam(err)
}
if interval == 0 {
return series, nil
}
s := series.GroupBy(interval, aggFunc)
return s, nil
@@ -279,6 +284,9 @@ func applyAggregateBy(series []*timeseries.TimeSeriesData, params ...interface{}
if err != nil {
return nil, errParsingFunctionParam(err)
}
if interval == 0 {
return series, nil
}
aggFunc := getAggFunc(pAgg)
aggregatedSeries := timeseries.AggregateBy(series, interval, aggFunc)
@@ -304,6 +312,9 @@ func applyPercentileAgg(series []*timeseries.TimeSeriesData, params ...interface
if err != nil {
return nil, errParsingFunctionParam(err)
}
if interval == 0 {
return series, nil
}
aggFunc := timeseries.AggPercentile(percentile)
aggregatedSeries := timeseries.AggregateBy(series, interval, aggFunc)
@@ -363,6 +374,9 @@ func applyTimeShiftPre(query *QueryModel, items []*zabbix.Item, params ...interf
if err != nil {
return errParsingFunctionParam(err)
}
if interval == 0 {
return fmt.Errorf("interval should be non-null value")
}
if shiftForward {
query.TimeRange.From = query.TimeRange.From.Add(interval)
@@ -391,6 +405,9 @@ func applyTimeShiftPost(series timeseries.TimeSeries, params ...interface{}) (ti
if err != nil {
return nil, errParsingFunctionParam(err)
}
if interval == 0 {
return series, nil
}
if shiftForward == true {
interval = -interval
}