diff --git a/public/app/plugins/datasource/prometheus/result_transformer.ts b/public/app/plugins/datasource/prometheus/result_transformer.ts index 204a5490815..a9978d84f54 100644 --- a/public/app/plugins/datasource/prometheus/result_transformer.ts +++ b/public/app/plugins/datasource/prometheus/result_transformer.ts @@ -76,6 +76,7 @@ export class ResultTransformer { datapoints: dps, query: options.query, target: metricLabel, + labels: metricData.metric, }; } diff --git a/public/app/plugins/datasource/prometheus/specs/result_transformer.test.ts b/public/app/plugins/datasource/prometheus/specs/result_transformer.test.ts index c651650e83f..5f7d2176377 100644 --- a/public/app/plugins/datasource/prometheus/specs/result_transformer.test.ts +++ b/public/app/plugins/datasource/prometheus/specs/result_transformer.test.ts @@ -147,9 +147,24 @@ describe('Prometheus Result Transformer', () => { const result = ctx.resultTransformer.transform({ data: response }, options); expect(result).toEqual([ - { target: '1', datapoints: [[10, 1445000010000], [10, 1445000020000], [0, 1445000030000]] }, - { target: '2', datapoints: [[10, 1445000010000], [0, 1445000020000], [30, 1445000030000]] }, - { target: '3', datapoints: [[10, 1445000010000], [0, 1445000020000], [10, 1445000030000]] }, + { + target: '1', + query: undefined, + datapoints: [[10, 1445000010000], [10, 1445000020000], [0, 1445000030000]], + labels: { __name__: 'test', job: 'testjob', le: '1' }, + }, + { + target: '2', + query: undefined, + datapoints: [[10, 1445000010000], [0, 1445000020000], [30, 1445000030000]], + labels: { __name__: 'test', job: 'testjob', le: '2' }, + }, + { + target: '3', + query: undefined, + datapoints: [[10, 1445000010000], [0, 1445000020000], [10, 1445000030000]], + labels: { __name__: 'test', job: 'testjob', le: '3' }, + }, ]); }); @@ -205,7 +220,14 @@ describe('Prometheus Result Transformer', () => { }; const result = ctx.resultTransformer.transform({ data: response }, options); - expect(result).toEqual([{ target: 'test{job="testjob"}', datapoints: [[10, 0], [10, 1000], [0, 2000]] }]); + expect(result).toEqual([ + { + target: 'test{job="testjob"}', + query: undefined, + datapoints: [[10, 0], [10, 1000], [0, 2000]], + labels: { job: 'testjob' }, + }, + ]); }); it('should fill timeseries with null values', () => { @@ -229,7 +251,14 @@ describe('Prometheus Result Transformer', () => { }; const result = ctx.resultTransformer.transform({ data: response }, options); - expect(result).toEqual([{ target: 'test{job="testjob"}', datapoints: [[null, 0], [10, 1000], [0, 2000]] }]); + expect(result).toEqual([ + { + target: 'test{job="testjob"}', + query: undefined, + datapoints: [[null, 0], [10, 1000], [0, 2000]], + labels: { job: 'testjob' }, + }, + ]); }); it('should align null values with step', () => { @@ -254,7 +283,12 @@ describe('Prometheus Result Transformer', () => { const result = ctx.resultTransformer.transform({ data: response }, options); expect(result).toEqual([ - { target: 'test{job="testjob"}', datapoints: [[null, 0], [null, 2000], [10, 4000], [null, 6000], [10, 8000]] }, + { + target: 'test{job="testjob"}', + query: undefined, + datapoints: [[null, 0], [null, 2000], [10, 4000], [null, 6000], [10, 8000]], + labels: { job: 'testjob' }, + }, ]); }); });