Move all the operator tests into one file
This commit is contained in:
parent
e83f05fe93
commit
39d556f0d5
|
@ -1,47 +0,0 @@
|
||||||
load 5m
|
|
||||||
http_requests{job="api-server", instance="0", group="production"} 0+10x10
|
|
||||||
http_requests{job="api-server", instance="1", group="production"} 0+20x10
|
|
||||||
http_requests{job="api-server", instance="0", group="canary"} 0+30x10
|
|
||||||
http_requests{job="api-server", instance="1", group="canary"} 0+40x10
|
|
||||||
http_requests{job="app-server", instance="0", group="production"} 0+50x10
|
|
||||||
http_requests{job="app-server", instance="1", group="production"} 0+60x10
|
|
||||||
http_requests{job="app-server", instance="0", group="canary"} 0+70x10
|
|
||||||
http_requests{job="app-server", instance="1", group="canary"} 0+80x10
|
|
||||||
|
|
||||||
eval instant at 50m SUM(http_requests) BY (job) > 1000
|
|
||||||
{job="app-server"} 2600
|
|
||||||
|
|
||||||
|
|
||||||
eval instant at 50m 1000 < SUM(http_requests) BY (job)
|
|
||||||
{job="app-server"} 1000
|
|
||||||
|
|
||||||
|
|
||||||
eval instant at 50m SUM(http_requests) BY (job) <= 1000
|
|
||||||
{job="api-server"} 1000
|
|
||||||
|
|
||||||
|
|
||||||
eval instant at 50m SUM(http_requests) BY (job) != 1000
|
|
||||||
{job="app-server"} 2600
|
|
||||||
|
|
||||||
|
|
||||||
eval instant at 50m SUM(http_requests) BY (job) == 1000
|
|
||||||
{job="api-server"} 1000
|
|
||||||
|
|
||||||
eval instant at 50m SUM(http_requests) BY (job) == bool 1000
|
|
||||||
{job="api-server"} 1
|
|
||||||
{job="app-server"} 0
|
|
||||||
|
|
||||||
eval instant at 50m SUM(http_requests) BY (job) == bool SUM(http_requests) BY (job)
|
|
||||||
{job="api-server"} 1
|
|
||||||
{job="app-server"} 1
|
|
||||||
|
|
||||||
eval instant at 50m SUM(http_requests) BY (job) != bool SUM(http_requests) BY (job)
|
|
||||||
{job="api-server"} 0
|
|
||||||
{job="app-server"} 0
|
|
||||||
|
|
||||||
|
|
||||||
eval instant at 50m 0 == bool 1
|
|
||||||
0
|
|
||||||
|
|
||||||
eval instant at 50m 1 == bool 1
|
|
||||||
1
|
|
|
@ -86,62 +86,6 @@ eval instant at 50m MAX(http_requests) BY (job)
|
||||||
{job="app-server"} 800
|
{job="app-server"} 800
|
||||||
|
|
||||||
|
|
||||||
eval instant at 50m SUM(http_requests) BY (job) - COUNT(http_requests) BY (job)
|
|
||||||
{job="api-server"} 996
|
|
||||||
{job="app-server"} 2596
|
|
||||||
|
|
||||||
|
|
||||||
eval instant at 50m 2 - SUM(http_requests) BY (job)
|
|
||||||
{job="api-server"} -998
|
|
||||||
{job="app-server"} -2598
|
|
||||||
|
|
||||||
|
|
||||||
eval instant at 50m 1000 / SUM(http_requests) BY (job)
|
|
||||||
{job="api-server"} 1
|
|
||||||
{job="app-server"} 0.38461538461538464
|
|
||||||
|
|
||||||
|
|
||||||
eval instant at 50m SUM(http_requests) BY (job) - 2
|
|
||||||
{job="api-server"} 998
|
|
||||||
{job="app-server"} 2598
|
|
||||||
|
|
||||||
|
|
||||||
eval instant at 50m SUM(http_requests) BY (job) % 3
|
|
||||||
{job="api-server"} 1
|
|
||||||
{job="app-server"} 2
|
|
||||||
|
|
||||||
|
|
||||||
eval instant at 50m SUM(http_requests) BY (job) / 0
|
|
||||||
{job="api-server"} +Inf
|
|
||||||
{job="app-server"} +Inf
|
|
||||||
|
|
||||||
|
|
||||||
eval instant at 50m SUM(http_requests) BY (job) + SUM(http_requests) BY (job)
|
|
||||||
{job="api-server"} 2000
|
|
||||||
{job="app-server"} 5200
|
|
||||||
|
|
||||||
|
|
||||||
eval instant at 50m http_requests{job="api-server", group="canary"}
|
|
||||||
http_requests{group="canary", instance="0", job="api-server"} 300
|
|
||||||
http_requests{group="canary", instance="1", job="api-server"} 400
|
|
||||||
|
|
||||||
|
|
||||||
eval instant at 50m http_requests{job="api-server", group="canary"} + rate(http_requests{job="api-server"}[5m]) * 5 * 60
|
|
||||||
{group="canary", instance="0", job="api-server"} 330
|
|
||||||
{group="canary", instance="1", job="api-server"} 440
|
|
||||||
|
|
||||||
|
|
||||||
eval instant at 50m rate(http_requests[25m]) * 25 * 60
|
|
||||||
{group="canary", instance="0", job="api-server"} 150
|
|
||||||
{group="canary", instance="0", job="app-server"} 350
|
|
||||||
{group="canary", instance="1", job="api-server"} 200
|
|
||||||
{group="canary", instance="1", job="app-server"} 400
|
|
||||||
{group="production", instance="0", job="api-server"} 50
|
|
||||||
{group="production", instance="0", job="app-server"} 249.99999999999997
|
|
||||||
{group="production", instance="1", job="api-server"} 100
|
|
||||||
{group="production", instance="1", job="app-server"} 300
|
|
||||||
|
|
||||||
|
|
||||||
# Single-letter label names and values.
|
# Single-letter label names and values.
|
||||||
eval instant at 50m x{y="testvalue"}
|
eval instant at 50m x{y="testvalue"}
|
||||||
x{y="testvalue"} 100
|
x{y="testvalue"} 100
|
||||||
|
@ -337,110 +281,6 @@ eval instant at 50m {job=~".+-server", job!~"api-.+"}
|
||||||
http_requests{group="production", instance="0", job="app-server"} 500
|
http_requests{group="production", instance="0", job="app-server"} 500
|
||||||
http_requests{group="production", instance="1", job="app-server"} 600
|
http_requests{group="production", instance="1", job="app-server"} 600
|
||||||
|
|
||||||
eval instant at 50m http_requests{group="canary"} and http_requests{instance="0"}
|
|
||||||
http_requests{group="canary", instance="0", job="api-server"} 300
|
|
||||||
http_requests{group="canary", instance="0", job="app-server"} 700
|
|
||||||
|
|
||||||
eval instant at 50m (http_requests{group="canary"} + 1) and http_requests{instance="0"}
|
|
||||||
{group="canary", instance="0", job="api-server"} 301
|
|
||||||
{group="canary", instance="0", job="app-server"} 701
|
|
||||||
|
|
||||||
eval instant at 50m (http_requests{group="canary"} + 1) and on(instance, job) http_requests{instance="0", group="production"}
|
|
||||||
{group="canary", instance="0", job="api-server"} 301
|
|
||||||
{group="canary", instance="0", job="app-server"} 701
|
|
||||||
|
|
||||||
eval instant at 50m (http_requests{group="canary"} + 1) and on(instance) http_requests{instance="0", group="production"}
|
|
||||||
{group="canary", instance="0", job="api-server"} 301
|
|
||||||
{group="canary", instance="0", job="app-server"} 701
|
|
||||||
|
|
||||||
eval instant at 50m http_requests{group="canary"} or http_requests{group="production"}
|
|
||||||
http_requests{group="canary", instance="0", job="api-server"} 300
|
|
||||||
http_requests{group="canary", instance="0", job="app-server"} 700
|
|
||||||
http_requests{group="canary", instance="1", job="api-server"} 400
|
|
||||||
http_requests{group="canary", instance="1", job="app-server"} 800
|
|
||||||
http_requests{group="production", instance="0", job="api-server"} 100
|
|
||||||
http_requests{group="production", instance="0", job="app-server"} 500
|
|
||||||
http_requests{group="production", instance="1", job="api-server"} 200
|
|
||||||
http_requests{group="production", instance="1", job="app-server"} 600
|
|
||||||
|
|
||||||
# On overlap the rhs samples must be dropped.
|
|
||||||
eval instant at 50m (http_requests{group="canary"} + 1) or http_requests{instance="1"}
|
|
||||||
{group="canary", instance="0", job="api-server"} 301
|
|
||||||
{group="canary", instance="0", job="app-server"} 701
|
|
||||||
{group="canary", instance="1", job="api-server"} 401
|
|
||||||
{group="canary", instance="1", job="app-server"} 801
|
|
||||||
http_requests{group="production", instance="1", job="api-server"} 200
|
|
||||||
http_requests{group="production", instance="1", job="app-server"} 600
|
|
||||||
|
|
||||||
# Matching only on instance excludes everything that has instance=0/1 but includes
|
|
||||||
# entries without the instance label.
|
|
||||||
eval instant at 50m (http_requests{group="canary"} + 1) or on(instance) (http_requests or cpu_count or vector_matching_a)
|
|
||||||
{group="canary", instance="0", job="api-server"} 301
|
|
||||||
{group="canary", instance="0", job="app-server"} 701
|
|
||||||
{group="canary", instance="1", job="api-server"} 401
|
|
||||||
{group="canary", instance="1", job="app-server"} 801
|
|
||||||
vector_matching_a{l="x"} 10
|
|
||||||
vector_matching_a{l="y"} 20
|
|
||||||
|
|
||||||
eval instant at 50m http_requests{group="canary"} / on(instance,job) http_requests{group="production"}
|
|
||||||
{instance="0", job="api-server"} 3
|
|
||||||
{instance="0", job="app-server"} 1.4
|
|
||||||
{instance="1", job="api-server"} 2
|
|
||||||
{instance="1", job="app-server"} 1.3333333333333333
|
|
||||||
|
|
||||||
# Include labels must guarantee uniquely identifiable time series.
|
|
||||||
eval_fail instant at 50m http_requests{group="production"} / on(instance) group_left(group) cpu_count{type="smp"}
|
|
||||||
|
|
||||||
# Many-to-many matching is not allowed.
|
|
||||||
eval_fail instant at 50m http_requests{group="production"} / on(instance) group_left(job,type) cpu_count
|
|
||||||
|
|
||||||
# Many-to-one matching must be explicit.
|
|
||||||
eval_fail instant at 50m http_requests{group="production"} / on(instance) cpu_count{type="smp"}
|
|
||||||
|
|
||||||
eval instant at 50m http_requests{group="production"} / on(instance) group_left(job) cpu_count{type="smp"}
|
|
||||||
{instance="1", job="api-server"} 1
|
|
||||||
{instance="0", job="app-server"} 5
|
|
||||||
{instance="1", job="app-server"} 3
|
|
||||||
{instance="0", job="api-server"} 1
|
|
||||||
|
|
||||||
# Ensure sidedness of grouping preserves operand sides.
|
|
||||||
eval instant at 50m cpu_count{type="smp"} / on(instance) group_right(job) http_requests{group="production"}
|
|
||||||
{instance="1", job="app-server"} 0.3333333333333333
|
|
||||||
{instance="0", job="app-server"} 0.2
|
|
||||||
{instance="1", job="api-server"} 1
|
|
||||||
{instance="0", job="api-server"} 1
|
|
||||||
|
|
||||||
# Include labels from both sides.
|
|
||||||
eval instant at 50m http_requests{group="production"} / on(instance) group_left(job) cpu_count{type="smp"}
|
|
||||||
{instance="1", job="api-server"} 1
|
|
||||||
{instance="0", job="app-server"} 5
|
|
||||||
{instance="1", job="app-server"} 3
|
|
||||||
{instance="0", job="api-server"} 1
|
|
||||||
|
|
||||||
eval instant at 50m http_requests{group="production"} < on(instance,job) http_requests{group="canary"}
|
|
||||||
{instance="1", job="app-server"} 600
|
|
||||||
{instance="0", job="app-server"} 500
|
|
||||||
{instance="1", job="api-server"} 200
|
|
||||||
{instance="0", job="api-server"} 100
|
|
||||||
|
|
||||||
|
|
||||||
eval instant at 50m http_requests{group="production"} > on(instance,job) http_requests{group="canary"}
|
|
||||||
# no output
|
|
||||||
|
|
||||||
eval instant at 50m http_requests{group="production"} == on(instance,job) http_requests{group="canary"}
|
|
||||||
# no output
|
|
||||||
|
|
||||||
eval instant at 50m http_requests > on(instance) group_left(group,job) cpu_count{type="smp"}
|
|
||||||
{group="canary", instance="0", job="app-server"} 700
|
|
||||||
{group="canary", instance="1", job="app-server"} 800
|
|
||||||
{group="canary", instance="0", job="api-server"} 300
|
|
||||||
{group="canary", instance="1", job="api-server"} 400
|
|
||||||
{group="production", instance="0", job="app-server"} 500
|
|
||||||
{group="production", instance="1", job="app-server"} 600
|
|
||||||
|
|
||||||
eval instant at 50m {l="x"} + on(__name__) {l="y"}
|
|
||||||
vector_matching_a 30
|
|
||||||
|
|
||||||
eval instant at 50m absent(nonexistent)
|
eval instant at 50m absent(nonexistent)
|
||||||
{} 1
|
{} 1
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,151 @@
|
||||||
|
load 5m
|
||||||
|
http_requests{job="api-server", instance="0", group="production"} 0+10x10
|
||||||
|
http_requests{job="api-server", instance="1", group="production"} 0+20x10
|
||||||
|
http_requests{job="api-server", instance="0", group="canary"} 0+30x10
|
||||||
|
http_requests{job="api-server", instance="1", group="canary"} 0+40x10
|
||||||
|
http_requests{job="app-server", instance="0", group="production"} 0+50x10
|
||||||
|
http_requests{job="app-server", instance="1", group="production"} 0+60x10
|
||||||
|
http_requests{job="app-server", instance="0", group="canary"} 0+70x10
|
||||||
|
http_requests{job="app-server", instance="1", group="canary"} 0+80x10
|
||||||
|
|
||||||
|
|
||||||
|
load 5m
|
||||||
|
vector_matching_a{l="x"} 0+1x100
|
||||||
|
vector_matching_a{l="y"} 0+2x50
|
||||||
|
vector_matching_b{l="x"} 0+4x25
|
||||||
|
|
||||||
|
|
||||||
|
eval instant at 50m SUM(http_requests) BY (job) - COUNT(http_requests) BY (job)
|
||||||
|
{job="api-server"} 996
|
||||||
|
{job="app-server"} 2596
|
||||||
|
|
||||||
|
eval instant at 50m 2 - SUM(http_requests) BY (job)
|
||||||
|
{job="api-server"} -998
|
||||||
|
{job="app-server"} -2598
|
||||||
|
|
||||||
|
eval instant at 50m 1000 / SUM(http_requests) BY (job)
|
||||||
|
{job="api-server"} 1
|
||||||
|
{job="app-server"} 0.38461538461538464
|
||||||
|
|
||||||
|
eval instant at 50m SUM(http_requests) BY (job) - 2
|
||||||
|
{job="api-server"} 998
|
||||||
|
{job="app-server"} 2598
|
||||||
|
|
||||||
|
eval instant at 50m SUM(http_requests) BY (job) % 3
|
||||||
|
{job="api-server"} 1
|
||||||
|
{job="app-server"} 2
|
||||||
|
|
||||||
|
eval instant at 50m SUM(http_requests) BY (job) / 0
|
||||||
|
{job="api-server"} +Inf
|
||||||
|
{job="app-server"} +Inf
|
||||||
|
|
||||||
|
eval instant at 50m SUM(http_requests) BY (job) + SUM(http_requests) BY (job)
|
||||||
|
{job="api-server"} 2000
|
||||||
|
{job="app-server"} 5200
|
||||||
|
|
||||||
|
|
||||||
|
eval instant at 50m http_requests{job="api-server", group="canary"}
|
||||||
|
http_requests{group="canary", instance="0", job="api-server"} 300
|
||||||
|
http_requests{group="canary", instance="1", job="api-server"} 400
|
||||||
|
|
||||||
|
eval instant at 50m http_requests{job="api-server", group="canary"} + rate(http_requests{job="api-server"}[5m]) * 5 * 60
|
||||||
|
{group="canary", instance="0", job="api-server"} 330
|
||||||
|
{group="canary", instance="1", job="api-server"} 440
|
||||||
|
|
||||||
|
eval instant at 50m rate(http_requests[25m]) * 25 * 60
|
||||||
|
{group="canary", instance="0", job="api-server"} 150
|
||||||
|
{group="canary", instance="0", job="app-server"} 350
|
||||||
|
{group="canary", instance="1", job="api-server"} 200
|
||||||
|
{group="canary", instance="1", job="app-server"} 400
|
||||||
|
{group="production", instance="0", job="api-server"} 50
|
||||||
|
{group="production", instance="0", job="app-server"} 249.99999999999997
|
||||||
|
{group="production", instance="1", job="api-server"} 100
|
||||||
|
{group="production", instance="1", job="app-server"} 300
|
||||||
|
|
||||||
|
|
||||||
|
eval instant at 50m http_requests{group="canary"} and http_requests{instance="0"}
|
||||||
|
http_requests{group="canary", instance="0", job="api-server"} 300
|
||||||
|
http_requests{group="canary", instance="0", job="app-server"} 700
|
||||||
|
|
||||||
|
eval instant at 50m (http_requests{group="canary"} + 1) and http_requests{instance="0"}
|
||||||
|
{group="canary", instance="0", job="api-server"} 301
|
||||||
|
{group="canary", instance="0", job="app-server"} 701
|
||||||
|
|
||||||
|
eval instant at 50m (http_requests{group="canary"} + 1) and on(instance, job) http_requests{instance="0", group="production"}
|
||||||
|
{group="canary", instance="0", job="api-server"} 301
|
||||||
|
{group="canary", instance="0", job="app-server"} 701
|
||||||
|
|
||||||
|
eval instant at 50m (http_requests{group="canary"} + 1) and on(instance) http_requests{instance="0", group="production"}
|
||||||
|
{group="canary", instance="0", job="api-server"} 301
|
||||||
|
{group="canary", instance="0", job="app-server"} 701
|
||||||
|
|
||||||
|
eval instant at 50m http_requests{group="canary"} or http_requests{group="production"}
|
||||||
|
http_requests{group="canary", instance="0", job="api-server"} 300
|
||||||
|
http_requests{group="canary", instance="0", job="app-server"} 700
|
||||||
|
http_requests{group="canary", instance="1", job="api-server"} 400
|
||||||
|
http_requests{group="canary", instance="1", job="app-server"} 800
|
||||||
|
http_requests{group="production", instance="0", job="api-server"} 100
|
||||||
|
http_requests{group="production", instance="0", job="app-server"} 500
|
||||||
|
http_requests{group="production", instance="1", job="api-server"} 200
|
||||||
|
http_requests{group="production", instance="1", job="app-server"} 600
|
||||||
|
|
||||||
|
# On overlap the rhs samples must be dropped.
|
||||||
|
eval instant at 50m (http_requests{group="canary"} + 1) or http_requests{instance="1"}
|
||||||
|
{group="canary", instance="0", job="api-server"} 301
|
||||||
|
{group="canary", instance="0", job="app-server"} 701
|
||||||
|
{group="canary", instance="1", job="api-server"} 401
|
||||||
|
{group="canary", instance="1", job="app-server"} 801
|
||||||
|
http_requests{group="production", instance="1", job="api-server"} 200
|
||||||
|
http_requests{group="production", instance="1", job="app-server"} 600
|
||||||
|
|
||||||
|
|
||||||
|
# Matching only on instance excludes everything that has instance=0/1 but includes
|
||||||
|
# entries without the instance label.
|
||||||
|
eval instant at 50m (http_requests{group="canary"} + 1) or on(instance) (http_requests or cpu_count or vector_matching_a)
|
||||||
|
{group="canary", instance="0", job="api-server"} 301
|
||||||
|
{group="canary", instance="0", job="app-server"} 701
|
||||||
|
{group="canary", instance="1", job="api-server"} 401
|
||||||
|
{group="canary", instance="1", job="app-server"} 801
|
||||||
|
vector_matching_a{l="x"} 10
|
||||||
|
vector_matching_a{l="y"} 20
|
||||||
|
|
||||||
|
eval instant at 50m http_requests{group="canary"} / on(instance,job) http_requests{group="production"}
|
||||||
|
{instance="0", job="api-server"} 3
|
||||||
|
{instance="0", job="app-server"} 1.4
|
||||||
|
{instance="1", job="api-server"} 2
|
||||||
|
{instance="1", job="app-server"} 1.3333333333333333
|
||||||
|
|
||||||
|
|
||||||
|
# Comparisons.
|
||||||
|
eval instant at 50m SUM(http_requests) BY (job) > 1000
|
||||||
|
{job="app-server"} 2600
|
||||||
|
|
||||||
|
eval instant at 50m 1000 < SUM(http_requests) BY (job)
|
||||||
|
{job="app-server"} 1000
|
||||||
|
|
||||||
|
eval instant at 50m SUM(http_requests) BY (job) <= 1000
|
||||||
|
{job="api-server"} 1000
|
||||||
|
|
||||||
|
eval instant at 50m SUM(http_requests) BY (job) != 1000
|
||||||
|
{job="app-server"} 2600
|
||||||
|
|
||||||
|
eval instant at 50m SUM(http_requests) BY (job) == 1000
|
||||||
|
{job="api-server"} 1000
|
||||||
|
|
||||||
|
eval instant at 50m SUM(http_requests) BY (job) == bool 1000
|
||||||
|
{job="api-server"} 1
|
||||||
|
{job="app-server"} 0
|
||||||
|
|
||||||
|
eval instant at 50m SUM(http_requests) BY (job) == bool SUM(http_requests) BY (job)
|
||||||
|
{job="api-server"} 1
|
||||||
|
{job="app-server"} 1
|
||||||
|
|
||||||
|
eval instant at 50m SUM(http_requests) BY (job) != bool SUM(http_requests) BY (job)
|
||||||
|
{job="api-server"} 0
|
||||||
|
{job="app-server"} 0
|
||||||
|
|
||||||
|
eval instant at 50m 0 == bool 1
|
||||||
|
0
|
||||||
|
|
||||||
|
eval instant at 50m 1 == bool 1
|
||||||
|
1
|
Loading…
Reference in New Issue