fix region for multi metricnames

This commit is contained in:
Adam Simpson
2023-07-21 14:52:14 -04:00
parent eb39f4bfe1
commit f9abb88afa
2 changed files with 7 additions and 4 deletions
@@ -128,7 +128,8 @@ const defaultMetricMetadata: MetricMetadata = {
export const useMetricMetadata = (query: AzureMonitorQuery, datasource: Datasource, onChange: OnChangeFn) => {
const [metricMetadata, setMetricMetadata] = useState<MetricMetadata>(defaultMetricMetadata);
const { subscription } = query;
const { resources, metricNamespace, metricName, aggregation, timeGrain, customNamespace } = query.azureMonitor ?? {};
const { resources, metricNamespace, metricName, aggregation, timeGrain, customNamespace, region } =
query.azureMonitor ?? {};
const { resourceGroup, resourceName } = getResourceGroupAndName(resources);
const multipleResources = (resources && resources.length > 1) ?? false;
@@ -138,11 +139,11 @@ export const useMetricMetadata = (query: AzureMonitorQuery, datasource: Datasour
setMetricMetadata(defaultMetricMetadata);
return;
}
datasource.azureMonitorDatasource
.getMetricMetadata(
{ subscription, resourceGroup, resourceName, metricNamespace, metricName, customNamespace },
multipleResources
multipleResources,
region
)
.then((metadata) => {
// TODO: Move the aggregationTypes and timeGrain defaults into `getMetricMetadata`
@@ -161,6 +162,7 @@ export const useMetricMetadata = (query: AzureMonitorQuery, datasource: Datasour
});
});
}, [
region,
datasource,
subscription,
resourceGroup,
@@ -1,7 +1,7 @@
import { uniq } from 'lodash';
import { DataSourceInstanceSettings } from '@grafana/data';
import { DataSourceWithBackend } from '@grafana/runtime';
import { DataSourceWithBackend, reportInteraction } from '@grafana/runtime';
import { logsResourceTypes, resourceTypeDisplayNames } from '../azureMetadata';
import AzureMonitorDatasource from '../azure_monitor/azure_monitor_datasource';
@@ -359,6 +359,7 @@ export default class ResourcePickerData extends DataSourceWithBackend<AzureMonit
private async fetchAllNamespaces() {
const subscriptions = await this.getSubscriptions();
reportInteraction('grafana_ds_azuremonitor_subscriptions_loaded', { subscriptions: subscriptions.length });
let supportedMetricNamespaces: string[] = [];
for await (const subscription of subscriptions) {
const namespaces = await this.azureMonitorDatasource.getMetricNamespaces(