From 213a8fe89a7308e73f22888a963cbf9375217cd6 Mon Sep 17 00:00:00 2001 From: Tobias Guggenmos Date: Sat, 21 Dec 2019 09:44:12 +0100 Subject: [PATCH] PromQL: Parse Series descriptions using the generated parser (#6494) * Use generated parser for series descriptions Signed-off-by: Tobias Guggenmos --- promql/generated_parser.y | 111 +++++++++- promql/generated_parser.y.go | 413 +++++++++++++++++++++++------------ promql/parse.go | 143 +----------- 3 files changed, 385 insertions(+), 282 deletions(-) diff --git a/promql/generated_parser.y b/promql/generated_parser.y index 306056a546..aae970d799 100644 --- a/promql/generated_parser.y +++ b/promql/generated_parser.y @@ -12,13 +12,16 @@ // limitations under the License. %{ - package promql +package promql - import ( +import ( + "math" "sort" + "strconv" "github.com/prometheus/prometheus/pkg/labels" - ) + "github.com/prometheus/prometheus/pkg/value" +) %} %union { @@ -29,6 +32,9 @@ label labels.Label labels labels.Labels strings []string + series []sequenceValue + uint uint64 + float float64 } @@ -107,9 +113,9 @@ %token startSymbolsStart // Start symbols for the generated parser. %token START_LABELS -%token START_LABEL_SET %token START_METRIC %token START_GROUPING_LABELS +%token START_SERIES_DESCRIPTION %token startSymbolsEnd %type label_matchers label_match_list @@ -120,6 +126,9 @@ %type label_set_list label_set metric %type