Finishing evalSpanTimer always before return
@@ -653,12 +653,12 @@ func (ng *Engine) execEvalStmt(ctx context.Context, query *query, s *parser.Eval
query.sampleStats.InitStepTracking(start, start, 1)
val, warnings, err := evaluator.Eval(s.Expr)
+ evalSpanTimer.Finish()
+
if err != nil {
return nil, warnings, err
}
- evalSpanTimer.Finish()
-
var mat Matrix
switch result := val.(type) {
@@ -704,10 +704,12 @@ func (ng *Engine) execEvalStmt(ctx context.Context, query *query, s *parser.Eval
}
query.sampleStats.InitStepTracking(evaluator.startTimestamp, evaluator.endTimestamp, evaluator.interval)
val, warnings, err := evaluator.Eval(s.Expr)
+
+ evalSpanTimer.Finish()
+
if err != nil {
return nil, warnings, err
}
- evalSpanTimer.Finish()
mat, ok := val.(Matrix)
if !ok {
