From b41d4de2d104f167df7f9fe342e9c7ba75a4c82f Mon Sep 17 00:00:00 2001 From: Nikodem Rafalski Date: Mon, 15 Jan 2024 13:19:01 +0100 Subject: [PATCH] lints --- cspell.yaml | 1 + manifest/v1alpha/slo/metrics_sumo_logic.go | 15 +++++++-------- manifest/v1alpha/slo/metrics_sumo_logic_test.go | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/cspell.yaml b/cspell.yaml index 946a05c7b..1cf41e7b4 100644 --- a/cspell.yaml +++ b/cspell.yaml @@ -111,6 +111,7 @@ words: - stimeslice - strconv - structs + - submatches - sumologic - testutils - timeseries diff --git a/manifest/v1alpha/slo/metrics_sumo_logic.go b/manifest/v1alpha/slo/metrics_sumo_logic.go index e49965aa1..f5bc6932e 100644 --- a/manifest/v1alpha/slo/metrics_sumo_logic.go +++ b/manifest/v1alpha/slo/metrics_sumo_logic.go @@ -145,18 +145,17 @@ func validateSumoLogicTimeslice(query string) error { return nil } -func getTimeSliceFromSumoLogicQuery(query string) (time.Duration, string, bool, error) { +func getTimeSliceFromSumoLogicQuery(query string) ( + tsDuration time.Duration, durationString string, containsAlias bool, err error, +) { r := regexp.MustCompile(`\stimeslice\s([-+]?(\d+[a-z]+\s?)+)\s(?:as n9_time)?`) matchResults := r.FindAllStringSubmatch(query, 2) - if len(matchResults) == 0 { return 0, "", false, fmt.Errorf("query must contain a 'timeslice' operator") } - if len(matchResults) > 1 { return 0, "", false, fmt.Errorf("exactly one 'timeslice' declaration is required in the query") } - submatches := matchResults[0] if submatches[1] != submatches[2] { @@ -164,12 +163,12 @@ func getTimeSliceFromSumoLogicQuery(query string) (time.Duration, string, bool, } // https://help.sumologic.com/05Search/Search-Query-Language/Search-Operators/timeslice#syntax - durationString := strings.TrimSpace(submatches[1]) - containsAlias := strings.Contains(submatches[0][1:], "as n9_time") - timeslice, err := time.ParseDuration(durationString) + durationString = strings.TrimSpace(submatches[1]) + containsAlias = strings.Contains(submatches[0][1:], "as n9_time") + tsDuration, err = time.ParseDuration(durationString) if err != nil { return 0, "", containsAlias, fmt.Errorf("error parsing timeslice duration: %s", err.Error()) } - return timeslice, durationString, containsAlias, nil + return tsDuration, durationString, containsAlias, nil } diff --git a/manifest/v1alpha/slo/metrics_sumo_logic_test.go b/manifest/v1alpha/slo/metrics_sumo_logic_test.go index 5ba3df7d2..466251c7b 100644 --- a/manifest/v1alpha/slo/metrics_sumo_logic_test.go +++ b/manifest/v1alpha/slo/metrics_sumo_logic_test.go @@ -314,7 +314,7 @@ _collector="n9-dev-tooling-cluster" _source="logs" | sort by time asc`, Error: testutils.ExpectedError{ Prop: "spec.objectives[0].rawMetric.query.sumoLogic.query", - ContainsMessage: "imeslice operator requires an n9_time alias", + ContainsMessage: "timeslice operator requires an n9_time alias", }, }, "missing aggregation function": {