Fix handling null interval
This commit is contained in:
@@ -160,9 +160,11 @@ func applyGroupBy(series timeseries.TimeSeries, params ...interface{}) (timeseri
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errParsingFunctionParam(err)
|
return nil, errParsingFunctionParam(err)
|
||||||
}
|
}
|
||||||
|
if interval == 0 {
|
||||||
|
return series, nil
|
||||||
|
}
|
||||||
|
|
||||||
s := series.GroupBy(interval, aggFunc)
|
return series.GroupBy(interval, aggFunc), nil
|
||||||
return s, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func applyPercentile(series timeseries.TimeSeries, params ...interface{}) (timeseries.TimeSeries, error) {
|
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 {
|
if err != nil {
|
||||||
return nil, errParsingFunctionParam(err)
|
return nil, errParsingFunctionParam(err)
|
||||||
}
|
}
|
||||||
|
if interval == 0 {
|
||||||
|
return series, nil
|
||||||
|
}
|
||||||
|
|
||||||
s := series.GroupBy(interval, aggFunc)
|
s := series.GroupBy(interval, aggFunc)
|
||||||
return s, nil
|
return s, nil
|
||||||
@@ -279,6 +284,9 @@ func applyAggregateBy(series []*timeseries.TimeSeriesData, params ...interface{}
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errParsingFunctionParam(err)
|
return nil, errParsingFunctionParam(err)
|
||||||
}
|
}
|
||||||
|
if interval == 0 {
|
||||||
|
return series, nil
|
||||||
|
}
|
||||||
|
|
||||||
aggFunc := getAggFunc(pAgg)
|
aggFunc := getAggFunc(pAgg)
|
||||||
aggregatedSeries := timeseries.AggregateBy(series, interval, aggFunc)
|
aggregatedSeries := timeseries.AggregateBy(series, interval, aggFunc)
|
||||||
@@ -304,6 +312,9 @@ func applyPercentileAgg(series []*timeseries.TimeSeriesData, params ...interface
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errParsingFunctionParam(err)
|
return nil, errParsingFunctionParam(err)
|
||||||
}
|
}
|
||||||
|
if interval == 0 {
|
||||||
|
return series, nil
|
||||||
|
}
|
||||||
|
|
||||||
aggFunc := timeseries.AggPercentile(percentile)
|
aggFunc := timeseries.AggPercentile(percentile)
|
||||||
aggregatedSeries := timeseries.AggregateBy(series, interval, aggFunc)
|
aggregatedSeries := timeseries.AggregateBy(series, interval, aggFunc)
|
||||||
@@ -363,6 +374,9 @@ func applyTimeShiftPre(query *QueryModel, items []*zabbix.Item, params ...interf
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return errParsingFunctionParam(err)
|
return errParsingFunctionParam(err)
|
||||||
}
|
}
|
||||||
|
if interval == 0 {
|
||||||
|
return fmt.Errorf("interval should be non-null value")
|
||||||
|
}
|
||||||
|
|
||||||
if shiftForward {
|
if shiftForward {
|
||||||
query.TimeRange.From = query.TimeRange.From.Add(interval)
|
query.TimeRange.From = query.TimeRange.From.Add(interval)
|
||||||
@@ -391,6 +405,9 @@ func applyTimeShiftPost(series timeseries.TimeSeries, params ...interface{}) (ti
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errParsingFunctionParam(err)
|
return nil, errParsingFunctionParam(err)
|
||||||
}
|
}
|
||||||
|
if interval == 0 {
|
||||||
|
return series, nil
|
||||||
|
}
|
||||||
if shiftForward == true {
|
if shiftForward == true {
|
||||||
interval = -interval
|
interval = -interval
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ func (ds *ZabbixDatasourceInstance) queryNumericDataForItems(ctx context.Context
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, s := range series {
|
for _, s := range series {
|
||||||
if int64(s.Len()) > query.MaxDataPoints && true {
|
if int64(s.Len()) > query.MaxDataPoints && query.Interval > 0 {
|
||||||
downsampleFunc := consolidateBy
|
downsampleFunc := consolidateBy
|
||||||
if downsampleFunc == "" {
|
if downsampleFunc == "" {
|
||||||
downsampleFunc = "avg"
|
downsampleFunc = "avg"
|
||||||
|
|||||||
Reference in New Issue
Block a user