3
3
* SPDX-License-Identifier: Apache-2.0
4
4
*/
5
5
6
- import { useState , useEffect , useCallback , useMemo } from 'react' ;
6
+ import { useState , useEffect , useCallback , useMemo , useRef } from 'react' ;
7
7
import { useOpenSearchDashboards } from '../../../../../opensearch_dashboards_react/public' ;
8
8
import { DiscoverViewServices } from '../../../build_services' ;
9
9
@@ -33,16 +33,14 @@ export const usePrometheus = (): PrometheusContext => {
33
33
const [ labelNames , setLabelNames ] = useState < string [ ] > ( [ ] ) ;
34
34
35
35
const updateLabels = useCallback ( async ( ) => {
36
- const labels = await prometheusResourceClient . getLabels ( 'my_prometheus' , selectedMetricName ) ;
36
+ const labels = await prometheusResourceClient . getLabels ( 'my_prometheus' ) ;
37
37
setLabelNames ( labels . sort ( ) ) ;
38
- } , [ prometheusResourceClient , selectedMetricName ] ) ;
38
+ } , [ prometheusResourceClient ] ) ;
39
39
40
40
const updateMetrics = useCallback ( async ( ) => {
41
41
const metricMetadata = await prometheusResourceClient . getMetricMetadata ( 'my_prometheus' ) ;
42
42
const metrics = Object . keys ( metricMetadata ) . sort ( ) ;
43
- const defaultMetric = metrics [ 0 ] ;
44
43
setMetricNames ( metrics ) ;
45
- setSelectedMetricName ( defaultMetric ) ;
46
44
} , [ prometheusResourceClient ] ) ;
47
45
48
46
useEffect ( ( ) => {
@@ -54,9 +52,11 @@ export const usePrometheus = (): PrometheusContext => {
54
52
} , [ selectedMetricName , updateLabels ] ) ;
55
53
56
54
useEffect ( ( ) => {
57
- data . query . queryString . setQuery ( {
58
- query : selectedMetricName ,
59
- } ) ;
55
+ if ( selectedMetricName ) {
56
+ data . query . queryString . setQuery ( {
57
+ query : selectedMetricName ,
58
+ } ) ;
59
+ }
60
60
/* eslint-disable-next-line react-hooks/exhaustive-deps */
61
61
} , [ selectedMetricName ] ) ;
62
62
0 commit comments