From 6e7ceb6ab9f44859066b432fbbfa8ddadcbf352a Mon Sep 17 00:00:00 2001 From: tdakkota Date: Sun, 28 Apr 2024 08:21:47 +0300 Subject: [PATCH] ci(ch-logql-compliance): add heap aggregation and offset tests --- .../logql-test-queries.yml | 24 +++++++++++++++++++ internal/lokicompliance/expand.go | 23 +++++++++--------- 2 files changed, 36 insertions(+), 11 deletions(-) diff --git a/dev/local/ch-logql-compliance/logql-test-queries.yml b/dev/local/ch-logql-compliance/logql-test-queries.yml index 2aa678d9..a0f2fe0e 100644 --- a/dev/local/ch-logql-compliance/logql-test-queries.yml +++ b/dev/local/ch-logql-compliance/logql-test-queries.yml @@ -88,6 +88,12 @@ test_cases: {{ .simpleRangeAggOp }}( {job="varlogs"} [{{ .range }}] ) + # Offset. + - query: |- + {{ .simpleRangeAggOp }}( + {job="varlogs"} [{{ .range }}] + offset {{ .offset }} + ) # Absent over time range aggregation. # NOTE(tdakkota): We do a separate test because `absent_over_time` returns non-empty result # only if there is NO samples in step and vice versa. @@ -159,6 +165,7 @@ test_cases: ) without (job) # Vector aggregation. + # - query: |- {{ .simpleVecAggOp }} by (filename) ( {{ .simpleRangeAggOp }}( @@ -173,3 +180,20 @@ test_cases: [{{ .range }}] ) ) + # Top K/Bottom K vector aggregation. + - query: |- + {{ .topBottomVecAggOp }} by (method) ( + {{ .topN }}, + {{ .simpleRangeAggOp }}( + {job="varlogs"} | json method + [{{ .range }}] + ) + ) + # Sorting. + - query: |- + {{ .sortVecAggOp }} ( + {{ .simpleRangeAggOp }}( + {job="varlogs"} | json method + [{{ .range }}] + ) + ) diff --git a/internal/lokicompliance/expand.go b/internal/lokicompliance/expand.go index 4aefdb92..502b7b06 100644 --- a/internal/lokicompliance/expand.go +++ b/internal/lokicompliance/expand.go @@ -17,7 +17,18 @@ import ( var ( testVariantArgs = map[string][]string{ "range": {"1s", "15s", "1m", "5m", "15m", "1h"}, - "offset": {"1m", "5m", "10m"}, + "offset": {"1s", "5s", "15s"}, + "topN": {"1", "2", "5", "10"}, + "quantile": { + "0.1", + "0.5", + "0.75", + "0.95", + "0.90", + "0.99", + "1", + "1.5", + }, "simpleRangeAggOp": { "count_over_time", @@ -57,16 +68,6 @@ var ( "sortVecAggOp": {"sort", "sort_desc"}, "topBottomVecAggOp": {"topk", "bottomk"}, - "quantile": { - "0.1", - "0.5", - "0.75", - "0.95", - "0.90", - "0.99", - "1", - "1.5", - }, "lineFilterOp": {"|=", "!=", "~=", "!~"}, "arithBinOp": {"+", "-", "*", "/", "%", "^"}, "logicBinOp": {"and", "or", "unless"},