(q storage.Queryable, qs string, opts QueryOpts, start, end time.Time, interval time.Duration)
| 585 | } |
| 586 | |
| 587 | func (ng *Engine) newQuery(q storage.Queryable, qs string, opts QueryOpts, start, end time.Time, interval time.Duration) (*parser.Expr, *query) { |
| 588 | if opts == nil { |
| 589 | opts = NewPrometheusQueryOpts(false, 0) |
| 590 | } |
| 591 | |
| 592 | lookbackDelta := opts.LookbackDelta() |
| 593 | if lookbackDelta <= 0 { |
| 594 | lookbackDelta = ng.lookbackDelta |
| 595 | } |
| 596 | |
| 597 | es := &parser.EvalStmt{ |
| 598 | Start: start, |
| 599 | End: end, |
| 600 | Interval: interval, |
| 601 | LookbackDelta: lookbackDelta, |
| 602 | } |
| 603 | qry := &query{ |
| 604 | q: qs, |
| 605 | stmt: es, |
| 606 | ng: ng, |
| 607 | stats: stats.NewQueryTimers(), |
| 608 | sampleStats: stats.NewQuerySamples(ng.enablePerStepStats && opts.EnablePerStepStats()), |
| 609 | queryable: q, |
| 610 | } |
| 611 | return &es.Expr, qry |
| 612 | } |
| 613 | |
| 614 | var ( |
| 615 | ErrValidationAtModifierDisabled = errors.New("@ modifier is disabled") |
no test coverage detected