diff --git a/public/app/features/dashboard/state/PanelQueryState.ts b/public/app/features/dashboard/state/PanelQueryState.ts index 037cdab2d5e..45a0891a9ff 100644 --- a/public/app/features/dashboard/state/PanelQueryState.ts +++ b/public/app/features/dashboard/state/PanelQueryState.ts @@ -274,8 +274,6 @@ export class PanelQueryState { return { state: done ? LoadingState.Done : LoadingState.Streaming, - // This should not be needed but unfortunately Prometheus datasource sends non DataFrame here bypassing the - // typing. series: this.sendFrames ? getProcessedDataFrames(series) : [], legacy: this.sendLegacy ? translateToLegacyData(series) : undefined, request: { diff --git a/public/app/features/explore/utils/ResultProcessor.ts b/public/app/features/explore/utils/ResultProcessor.ts index 4a1872662c5..956593b7a75 100644 --- a/public/app/features/explore/utils/ResultProcessor.ts +++ b/public/app/features/explore/utils/ResultProcessor.ts @@ -18,7 +18,7 @@ export class ResultProcessor { return []; } - const onlyTimeSeries = this.dataFrames.filter(series => series.fields.length === 2); + const onlyTimeSeries = this.dataFrames.filter(isTimeSeries); return getGraphSeriesModel( onlyTimeSeries, @@ -36,14 +36,7 @@ export class ResultProcessor { // For now ignore time series // We can change this later, just need to figure out how to // Ignore time series only for prometheus - const onlyTables = this.dataFrames.filter(frame => { - if (frame.fields.length === 2) { - if (frame.fields[1].type === FieldType.time) { - return false; - } - } - return true; - }); + const onlyTables = this.dataFrames.filter(frame => !isTimeSeries(frame)); const tables = onlyTables.map(frame => { const { fields } = frame; @@ -113,3 +106,13 @@ export class ResultProcessor { return { ...sortedNewResults, rows, series }; } } + +export function isTimeSeries(frame: DataFrame): boolean { + if (frame.fields.length === 2) { + if (frame.fields[1].type === FieldType.time) { + return true; + } + } + + return false; +}