From 2169fc1a3f3fea0cb81e2ae03f9a0f7108dc6e33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Fri, 8 May 2020 07:59:35 +0200 Subject: [PATCH] Prometheus: Fix for prometheus legend formats for instant time series queries (#24407) * Prometheus: Fix for prometheus legend formats for instance time series queries * correct old test --- .../datasource/prometheus/datasource.test.ts | 2 +- .../prometheus/result_transformer.test.ts | 21 +++++++++++++++++++ .../prometheus/result_transformer.ts | 2 +- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/public/app/plugins/datasource/prometheus/datasource.test.ts b/public/app/plugins/datasource/prometheus/datasource.test.ts index d903bf9c777..5f62faafb00 100644 --- a/public/app/plugins/datasource/prometheus/datasource.test.ts +++ b/public/app/plugins/datasource/prometheus/datasource.test.ts @@ -736,7 +736,7 @@ describe('PrometheusDatasource', () => { const frame = toDataFrame(results.data[0]); expect(results.data.length).toBe(1); expect(frame.name).toBe('test{job="testjob"}'); - expect(getFieldTitle(frame.fields[1])).toBe('Value'); + expect(getFieldTitle(frame.fields[1])).toBe('test{job="testjob"}'); }); }); diff --git a/public/app/plugins/datasource/prometheus/result_transformer.test.ts b/public/app/plugins/datasource/prometheus/result_transformer.test.ts index 57b77041209..373de506556 100644 --- a/public/app/plugins/datasource/prometheus/result_transformer.test.ts +++ b/public/app/plugins/datasource/prometheus/result_transformer.test.ts @@ -116,6 +116,27 @@ describe('Prometheus Result Transformer', () => { }); }); + describe('When resultFormat is time series and instant = true', () => { + const response = { + status: 'success', + data: { + resultType: 'vector', + result: [ + { + metric: { __name__: 'test', job: 'testjob' }, + value: [1443454528, '3846'], + }, + ], + }, + }; + + it('should return time series', () => { + const timeSeries = ctx.resultTransformer.transform({ data: response }, {}); + expect(timeSeries[0].target).toBe('test{job="testjob"}'); + expect(timeSeries[0].title).toBe('test{job="testjob"}'); + }); + }); + describe('When resultFormat is heatmap', () => { const response = { status: 'success', diff --git a/public/app/plugins/datasource/prometheus/result_transformer.ts b/public/app/plugins/datasource/prometheus/result_transformer.ts index aa675615c18..858780bdcd4 100644 --- a/public/app/plugins/datasource/prometheus/result_transformer.ts +++ b/public/app/plugins/datasource/prometheus/result_transformer.ts @@ -143,7 +143,7 @@ export class ResultTransformer { const dps = []; const { name, labels } = this.createLabelInfo(md.metric, options); dps.push([parseFloat(md.value[1]), md.value[0] * 1000]); - return { target: name, datapoints: dps, tags: labels, refId: options.refId, meta: options.meta }; + return { target: name, title: name, datapoints: dps, tags: labels, refId: options.refId, meta: options.meta }; } createLabelInfo(labels: { [key: string]: string }, options: any): { name?: string; labels: Labels; title?: string } {