From 8e9cb5c81a4c7b9756ce0fbf774b10c5285ac59f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Fri, 30 Aug 2019 15:22:36 +0200 Subject: [PATCH] Explore: Fixes query hint issues (#18803) * Explore: clear results when you change datasource * Explore: Clear results on data source change, and fix query hints issue * Clear results on clear all * Prometheus: Update logic of when to re-check query hints --- packages/grafana-data/src/utils/processDataFrame.ts | 5 +++-- public/app/features/explore/state/reducers.test.ts | 3 +++ public/app/features/explore/state/reducers.ts | 6 ++++++ .../datasource/prometheus/components/PromQueryField.tsx | 9 +++++---- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/packages/grafana-data/src/utils/processDataFrame.ts b/packages/grafana-data/src/utils/processDataFrame.ts index 2b430a288d7..0e829180ae3 100644 --- a/packages/grafana-data/src/utils/processDataFrame.ts +++ b/packages/grafana-data/src/utils/processDataFrame.ts @@ -96,10 +96,11 @@ function convertTimeSeriesToDataFrame(timeSeries: TimeSeries): DataFrame { function convertGraphSeriesToDataFrame(graphSeries: GraphSeriesXY): DataFrame { const x = new ArrayVector(); const y = new ArrayVector(); + for (let i = 0; i < graphSeries.data.length; i++) { const row = graphSeries.data[i]; - x.buffer.push(row[0]); - y.buffer.push(row[1]); + x.buffer.push(row[1]); + y.buffer.push(row[0]); } return { diff --git a/public/app/features/explore/state/reducers.test.ts b/public/app/features/explore/state/reducers.test.ts index 096e14b22e6..10ef8dc362b 100644 --- a/public/app/features/explore/state/reducers.test.ts +++ b/public/app/features/explore/state/reducers.test.ts @@ -157,6 +157,9 @@ describe('Explore item reducer', () => { showingStartPage: true, queries, queryKeys, + graphResult: null, + logsResult: null, + tableResult: null, supportedModes: [ExploreMode.Metrics, ExploreMode.Logs], mode: ExploreMode.Metrics, loadingState: LoadingState.NotStarted, diff --git a/public/app/features/explore/state/reducers.ts b/public/app/features/explore/state/reducers.ts index 8afa1ff5de6..2a83b74b94e 100644 --- a/public/app/features/explore/state/reducers.ts +++ b/public/app/features/explore/state/reducers.ts @@ -210,6 +210,9 @@ export const itemReducer = reducerFactory({} as ExploreItemSta return { ...state, queries: queries.slice(), + graphResult: null, + tableResult: null, + logsResult: null, showingStartPage: Boolean(state.StartPage), queryKeys: getQueryKeys(queries, state.datasourceInstance), }; @@ -271,6 +274,9 @@ export const itemReducer = reducerFactory({} as ExploreItemSta ...state, datasourceInstance, queryErrors: [], + graphResult: null, + tableResult: null, + logsResult: null, latency: 0, loadingState: LoadingState.NotStarted, StartPage, diff --git a/public/app/plugins/datasource/prometheus/components/PromQueryField.tsx b/public/app/plugins/datasource/prometheus/components/PromQueryField.tsx index 729d6a8a00e..37829da1022 100644 --- a/public/app/plugins/datasource/prometheus/components/PromQueryField.tsx +++ b/public/app/plugins/datasource/prometheus/components/PromQueryField.tsx @@ -109,7 +109,7 @@ interface PromQueryFieldProps extends ExploreQueryFieldProps { @@ -154,8 +154,7 @@ class PromQueryField extends React.PureComponent 0 ? true : false; - if (currentHasSeries && prevProps.queryResponse && prevProps.queryResponse.series !== queryResponse.series) { + if (prevProps.queryResponse && prevProps.queryResponse.series !== queryResponse.series) { this.refreshHint(); } @@ -177,7 +176,9 @@ class PromQueryField extends React.PureComponent { const { datasource, query, queryResponse } = this.props; - if (!queryResponse || !queryResponse.series || queryResponse.series.length === 0) { + + if (!queryResponse.series || queryResponse.series.length === 0) { + this.setState({ hint: null }); return; }