Merge pull request #8569 from roidelapluie/fix-default-resolution

Fix subqueries with default resolution in promql unit tests
This commit is contained in:
Julien Pivotto 2021-03-08 20:44:09 +01:00 committed by GitHub
commit f2fc05fd5f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 14 additions and 8 deletions

View file

@ -22,3 +22,7 @@ groups:
# A recording rule that doesn't depend on input series. # A recording rule that doesn't depend on input series.
- record: fixed_data - record: fixed_data
expr: 1 expr: 1
# Subquery with default resolution test.
- record: suquery_interval_test
expr: count_over_time(up[5m:])

View file

@ -157,6 +157,7 @@ func (tg *testGroup) test(evalInterval time.Duration, groupOrderMap map[string]i
return []error{err} return []error{err}
} }
defer suite.Close() defer suite.Close()
suite.SubqueryInterval = evalInterval
// Load the rule files. // Load the rule files.
opts := &rules.ManagerOptions{ opts := &rules.ManagerOptions{

View file

@ -22,8 +22,7 @@ You can use `promtool` to test your rules.
rule_files: rule_files:
[ - <file_name> ] [ - <file_name> ]
# optional, default = 1m [ evaluation_interval: <duration> | default = 1m ]
evaluation_interval: <duration>
# The order in which group names are listed below will be the order of evaluation of # The order in which group names are listed below will be the order of evaluation of
# rule groups (at a given evaluation time). The order is guaranteed only for the groups mentioned below. # rule groups (at a given evaluation time). The order is guaranteed only for the groups mentioned below.

View file

@ -658,6 +658,7 @@ type LazyLoader struct {
loadCmd *loadCmd loadCmd *loadCmd
storage storage.Storage storage storage.Storage
SubqueryInterval time.Duration
queryEngine *Engine queryEngine *Engine
context context.Context context context.Context
@ -714,6 +715,7 @@ func (ll *LazyLoader) clear() {
Reg: nil, Reg: nil,
MaxSamples: 10000, MaxSamples: 10000,
Timeout: 100 * time.Second, Timeout: 100 * time.Second,
NoStepSubqueryIntervalFn: func(int64) int64 { return durationMilliseconds(ll.SubqueryInterval) },
EnableAtModifier: true, EnableAtModifier: true,
} }