mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-11-21 14:44:00 +00:00
app/vmselect/promql: automatically apply offset -step
to rollup_candlestick
function in order to obtain the expected OHLC results
See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/309
This commit is contained in:
parent
4f7116d1ee
commit
ce38b176bc
1 changed files with 11 additions and 1 deletions
|
@ -425,7 +425,7 @@ func evalRollupFunc(ec *EvalConfig, name string, rf rollupFunc, expr metricsql.E
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
ecNew = newEvalConfig(ec)
|
ecNew = newEvalConfig(ecNew)
|
||||||
ecNew.Start -= offset
|
ecNew.Start -= offset
|
||||||
ecNew.End -= offset
|
ecNew.End -= offset
|
||||||
if ecNew.MayCache {
|
if ecNew.MayCache {
|
||||||
|
@ -435,6 +435,16 @@ func evalRollupFunc(ec *EvalConfig, name string, rf rollupFunc, expr metricsql.E
|
||||||
ecNew.End = end
|
ecNew.End = end
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if name == "rollup_candlestick" && len(re.Window) == 0 {
|
||||||
|
// Automatically apply `offset -step` to `rollup_candlestick` function
|
||||||
|
// in order to obtain expected OHLC results.
|
||||||
|
// See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/309#issuecomment-582113462
|
||||||
|
step := ecNew.Step
|
||||||
|
ecNew = newEvalConfig(ecNew)
|
||||||
|
ecNew.Start += step
|
||||||
|
ecNew.End += step
|
||||||
|
offset -= step
|
||||||
|
}
|
||||||
var rvs []*timeseries
|
var rvs []*timeseries
|
||||||
var err error
|
var err error
|
||||||
if me, ok := re.Expr.(*metricsql.MetricExpr); ok {
|
if me, ok := re.Expr.(*metricsql.MetricExpr); ok {
|
||||||
|
|
Loading…
Reference in a new issue