Azure Monitor : Query more than 10 dimensions ( Fixes #17230 ) (#18693)

* Fixes #17230

* Resovled comments

* Resolved comments

* spell fix
This commit is contained in:
Sriramajeyam
2019-10-03 16:53:11 +02:00
committed by Erik Sundell
parent a62dea47b4
commit 50acb37a17
6 changed files with 15 additions and 1 deletions
@@ -125,6 +125,7 @@ func (e *AzureMonitorDatasource) buildQueries(queries []*tsdb.Query, timeRange *
dimensionFilter := strings.TrimSpace(fmt.Sprintf("%v", azureMonitorTarget["dimensionFilter"]))
if azureMonitorTarget["dimension"] != nil && azureMonitorTarget["dimensionFilter"] != nil && len(dimension) > 0 && len(dimensionFilter) > 0 && dimension != "None" {
params.Add("$filter", fmt.Sprintf("%s eq '%s'", dimension, dimensionFilter))
params.Add("top", fmt.Sprintf("%v", azureMonitorTarget["top"]))
}
target = params.Encode()
@@ -43,6 +43,7 @@ func TestAzureMonitorDatasource(t *testing.T) {
"metricDefinition": "Microsoft.Compute/virtualMachines",
"metricNamespace": "Microsoft.Compute-virtualMachines",
"metricName": "Percentage CPU",
"top": "10",
"alias": "testalias",
"queryType": "Azure Monitor",
},
@@ -127,13 +128,14 @@ func TestAzureMonitorDatasource(t *testing.T) {
"queryType": "Azure Monitor",
"dimension": "blob",
"dimensionFilter": "*",
"top": "30",
},
})
queries, err := datasource.buildQueries(tsdbQuery.Queries, tsdbQuery.TimeRange)
So(err, ShouldBeNil)
So(queries[0].Target, ShouldEqual, "%24filter=blob+eq+%27%2A%27&aggregation=Average&api-version=2018-01-01&interval=PT1M&metricnames=Percentage+CPU&metricnamespace=Microsoft.Compute-virtualMachines&timespan=2018-03-15T13%3A00%3A00Z%2F2018-03-15T13%3A34%3A00Z")
So(queries[0].Target, ShouldEqual, "%24filter=blob+eq+%27%2A%27&aggregation=Average&api-version=2018-01-01&interval=PT1M&metricnames=Percentage+CPU&metricnamespace=Microsoft.Compute-virtualMachines&timespan=2018-03-15T13%3A00%3A00Z%2F2018-03-15T13%3A34%3A00Z&top=30")
})
@@ -151,6 +153,7 @@ func TestAzureMonitorDatasource(t *testing.T) {
"queryType": "Azure Monitor",
"dimension": "None",
"dimensionFilter": "*",
"top": "10",
},
})