From 3bcf1173440edd697b80f1199264f656b1d5a0e2 Mon Sep 17 00:00:00 2001 From: "Grot (@grafanabot)" <43478413+grafanabot@users.noreply.github.com> Date: Tue, 29 Mar 2022 08:43:59 -0700 Subject: [PATCH] AzureMonitor: Fix missing top parameter when dimensions are set (#47010) (#47017) (cherry picked from commit 48113beeeb898d91886e6c32ca3a4c966f33bcba) Co-authored-by: Andres Martinez Gotor --- pkg/tsdb/azuremonitor/azuremonitor-datasource.go | 4 +++- pkg/tsdb/azuremonitor/azuremonitor-datasource_test.go | 11 +++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/pkg/tsdb/azuremonitor/azuremonitor-datasource.go b/pkg/tsdb/azuremonitor/azuremonitor-datasource.go index ff16e0b55e6..5f6254ab181 100644 --- a/pkg/tsdb/azuremonitor/azuremonitor-datasource.go +++ b/pkg/tsdb/azuremonitor/azuremonitor-datasource.go @@ -126,7 +126,9 @@ func (e *AzureMonitorDatasource) buildQueries(queries []backend.DataQuery, dsInf if dimSB.String() != "" { params.Add("$filter", dimSB.String()) - params.Add("top", azJSONModel.Top) + if azJSONModel.Top != "" { + params.Add("top", azJSONModel.Top) + } } target = params.Encode() diff --git a/pkg/tsdb/azuremonitor/azuremonitor-datasource_test.go b/pkg/tsdb/azuremonitor/azuremonitor-datasource_test.go index 7afca8e6d7d..95a321f902b 100644 --- a/pkg/tsdb/azuremonitor/azuremonitor-datasource_test.go +++ b/pkg/tsdb/azuremonitor/azuremonitor-datasource_test.go @@ -114,6 +114,17 @@ func TestAzureMonitorBuildQueries(t *testing.T) { expectedInterval: "PT1M", azureMonitorQueryTarget: "%24filter=blob+eq+%27%2A%27+and+tier+eq+%27%2A%27&aggregation=Average&api-version=2018-01-01&interval=PT1M&metricnames=Percentage+CPU&metricnamespace=Microsoft.Compute-virtualMachines×pan=2018-03-15T13%3A00%3A00Z%2F2018-03-15T13%3A34%3A00Z&top=30", }, + { + name: "has a dimension filter without specifying a top", + azureMonitorVariedProperties: map[string]interface{}{ + "timeGrain": "PT1M", + "dimension": "blob", + "dimensionFilter": "*", + }, + queryInterval: duration, + expectedInterval: "PT1M", + azureMonitorQueryTarget: "%24filter=blob+eq+%27%2A%27&aggregation=Average&api-version=2018-01-01&interval=PT1M&metricnames=Percentage+CPU&metricnamespace=Microsoft.Compute-virtualMachines×pan=2018-03-15T13%3A00%3A00Z%2F2018-03-15T13%3A34%3A00Z", + }, } commonAzureModelProps := map[string]interface{}{