mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Update effects to avoid retrieving metrics descriptors except on project name update (#54091)
This commit is contained in:
parent
d90600c454
commit
1f17e9a044
@ -58,6 +58,21 @@ export function Metrics(props: Props) {
|
||||
[templateSrv]
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
const loadMetricDescriptors = async () => {
|
||||
if (projectName) {
|
||||
const metricDescriptors = await datasource.getMetricTypes(projectName);
|
||||
const services = getServicesList(metricDescriptors);
|
||||
setState((prevState) => ({
|
||||
...prevState,
|
||||
metricDescriptors,
|
||||
services,
|
||||
}));
|
||||
}
|
||||
};
|
||||
loadMetricDescriptors();
|
||||
}, [datasource, projectName, customStyle, selectStyles.optionDescription]);
|
||||
|
||||
useEffect(() => {
|
||||
const getMetricsList = (metricDescriptors: MetricDescriptor[]) => {
|
||||
const selectedMetricDescriptor = getSelectedMetricDescriptor(metricDescriptors, metricType);
|
||||
@ -82,26 +97,16 @@ export function Metrics(props: Props) {
|
||||
}));
|
||||
return metricsByService;
|
||||
};
|
||||
|
||||
const loadMetricDescriptors = async () => {
|
||||
if (projectName) {
|
||||
const metricDescriptors = await datasource.getMetricTypes(projectName);
|
||||
const services = getServicesList(metricDescriptors);
|
||||
const metrics = getMetricsList(metricDescriptors);
|
||||
const service = metrics.length > 0 ? metrics[0].service : '';
|
||||
const metricDescriptor = getSelectedMetricDescriptor(metricDescriptors, metricType);
|
||||
setState((prevState) => ({
|
||||
...prevState,
|
||||
metricDescriptors,
|
||||
services,
|
||||
metrics,
|
||||
service: service,
|
||||
metricDescriptor,
|
||||
}));
|
||||
}
|
||||
};
|
||||
loadMetricDescriptors();
|
||||
}, [datasource, getSelectedMetricDescriptor, metricType, projectName, customStyle, selectStyles.optionDescription]);
|
||||
const metrics = getMetricsList(metricDescriptors);
|
||||
const service = metrics.length > 0 ? metrics[0].service : '';
|
||||
const metricDescriptor = getSelectedMetricDescriptor(metricDescriptors, metricType);
|
||||
setState((prevState) => ({
|
||||
...prevState,
|
||||
metricDescriptor,
|
||||
metrics,
|
||||
service: service,
|
||||
}));
|
||||
}, [metricDescriptors, getSelectedMetricDescriptor, metricType, customStyle, selectStyles.optionDescription]);
|
||||
|
||||
const onServiceChange = ({ value: service }: any) => {
|
||||
const metrics = metricDescriptors
|
||||
|
Loading…
Reference in New Issue
Block a user