From 277734dcdbf4141999b977baa845f932a055daa3 Mon Sep 17 00:00:00 2001 From: Tony Compton Date: Fri, 29 Jun 2018 12:11:30 -0400 Subject: [PATCH] Fixing some silly errors. Always verify your builds before you push, kids. :-1: --- .../external_metric_query_builder.go | 2 +- .../external_metric_query_builder_test.go | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/pkg/custom-provider/external_metric_query_builder.go b/pkg/custom-provider/external_metric_query_builder.go index 60edbad3..00aa06a1 100644 --- a/pkg/custom-provider/external_metric_query_builder.go +++ b/pkg/custom-provider/external_metric_query_builder.go @@ -40,7 +40,7 @@ func (p *externalMetricQueryBuilder) BuildPrometheusQuery(namespace string, metr //I'm guessing that SeriesRegistry might store the metric type, but I haven't looked yet. aggregation := queryMetadata.Aggregation window := queryMetadata.WindowInSeconds - return fmt.Sprintf("%s(%s{%s}[%ss])", aggregation, metricName, joinedLabels, window) + return fmt.Sprintf("%s(%s{%s}[%ds])", aggregation, metricName, joinedLabels, window) } func (p *externalMetricQueryBuilder) makeLabelFilter(labelName string, operator string, targetValue string) string { diff --git a/pkg/custom-provider/external_metric_query_builder_test.go b/pkg/custom-provider/external_metric_query_builder_test.go index f4037989..7d00d4ba 100644 --- a/pkg/custom-provider/external_metric_query_builder_test.go +++ b/pkg/custom-provider/external_metric_query_builder_test.go @@ -3,6 +3,7 @@ package provider import ( "testing" + conv "github.com/directxman12/k8s-prometheus-adapter/pkg/custom-provider/metric-converter" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/selection" ) @@ -11,12 +12,18 @@ var queryBuilder = NewExternalMetricQueryBuilder() func TestBuildPrometheusQuery(t *testing.T) { fakeSelector := labels.NewSelector() - requirement, _ := labels.NewRequirement("queue_name", selection.Equals, []string{"processing"}) + metricName := "queue_name" + requirement, _ := labels.NewRequirement(metricName, selection.Equals, []string{"processing"}) fakeSelector = fakeSelector.Add(*requirement) + meta := conv.QueryMetadata{ + Aggregation: "rate", + MetricName: metricName, + WindowInSeconds: 120, + } - result := queryBuilder.BuildPrometheusQuery("default", "queue_length", fakeSelector) + result := queryBuilder.BuildPrometheusQuery("default", "queue_length", fakeSelector, meta) - expectedResult := "queue_length{namespace=\"default\", queue_name=\"processing\"}" + expectedResult := "rate(queue_length{queue_name=\"processing\"}[120s])" if result != expectedResult { t.Errorf("Incorrect query generated. Expected: %s | Actual %s", result, expectedResult) }