diff --git a/public/app/plugins/datasource/grafana-azure-monitor-datasource/components/MetricsQueryEditor/setQueryValue.test.ts b/public/app/plugins/datasource/grafana-azure-monitor-datasource/components/MetricsQueryEditor/setQueryValue.test.ts index 01b527ff6b6..ee9c3d814e8 100644 --- a/public/app/plugins/datasource/grafana-azure-monitor-datasource/components/MetricsQueryEditor/setQueryValue.test.ts +++ b/public/app/plugins/datasource/grafana-azure-monitor-datasource/components/MetricsQueryEditor/setQueryValue.test.ts @@ -4,8 +4,10 @@ describe('setQueryValue', () => { describe('setCustomNamespace', () => { it('The metricnamespace must be: microsoft.storage/storageaccounts for storage accounts.', () => { const result = setCustomNamespace({ refId: 'A' }, 'microsoft.storage/storageaccounts/fileservices'); - expect(result.azureMonitor?.customNamespace).toEqual(''); + expect(result.azureMonitor?.customNamespace).toBeUndefined(); + expect(result.azureMonitor?.metricNamespace).toEqual('microsoft.storage/storageaccounts/fileservices'); }); + it('Set a custom namespace for non storage accounts.', () => { const result = setCustomNamespace({ refId: 'A' }, 'foo/bar'); expect(result.azureMonitor?.customNamespace).toEqual('foo/bar'); diff --git a/public/app/plugins/datasource/grafana-azure-monitor-datasource/components/MetricsQueryEditor/setQueryValue.ts b/public/app/plugins/datasource/grafana-azure-monitor-datasource/components/MetricsQueryEditor/setQueryValue.ts index e04ff8550b4..6e1416913ce 100644 --- a/public/app/plugins/datasource/grafana-azure-monitor-datasource/components/MetricsQueryEditor/setQueryValue.ts +++ b/public/app/plugins/datasource/grafana-azure-monitor-datasource/components/MetricsQueryEditor/setQueryValue.ts @@ -4,13 +4,26 @@ export function setCustomNamespace(query: AzureMonitorQuery, selection: string | if (query.azureMonitor?.customNamespace === selection) { return query; } - const customNamespace = selection?.toLowerCase().startsWith('microsoft.storage/storageaccounts/') ? '' : selection; + + if (selection?.toLowerCase().startsWith('microsoft.storage/storageaccounts/')) { + return { + ...query, + azureMonitor: { + ...query.azureMonitor, + metricNamespace: selection, + metricName: undefined, + aggregation: undefined, + timeGrain: '', + dimensionFilters: [], + }, + }; + } return { ...query, azureMonitor: { ...query.azureMonitor, - customNamespace, + customNamespace: selection, metricName: undefined, aggregation: undefined, timeGrain: '',