From 263e3142a1fec14a31f59dbbaba0352807ec3edf Mon Sep 17 00:00:00 2001 From: "Grot (@grafanabot)" <43478413+grafanabot@users.noreply.github.com> Date: Fri, 21 Oct 2022 16:21:23 +0200 Subject: [PATCH] Use resource call query_result query (#57232) (#57453) (cherry picked from commit 47eb7f785de9aae6b28c292c12da10a7a5783099) Co-authored-by: Sergey Kostrukov --- .../plugins/datasource/prometheus/datasource.test.ts | 5 ++++- .../app/plugins/datasource/prometheus/datasource.tsx | 12 ++++++++---- .../datasource/prometheus/metric_find_query.test.ts | 4 ++-- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/public/app/plugins/datasource/prometheus/datasource.test.ts b/public/app/plugins/datasource/prometheus/datasource.test.ts index 4260dde820b..742429111f7 100644 --- a/public/app/plugins/datasource/prometheus/datasource.test.ts +++ b/public/app/plugins/datasource/prometheus/datasource.test.ts @@ -749,6 +749,7 @@ const time = ({ hours = 0, seconds = 0, minutes = 0 }) => dateTime(hours * HOUR describe('PrometheusDatasource2', () => { const instanceSettings = { url: 'proxied', + id: 1, directUrl: 'direct', user: 'test', password: 'mupp', @@ -911,7 +912,9 @@ describe('PrometheusDatasource2', () => { describe('When querying prometheus with one target and instant = true', () => { let results: any; - const urlExpected = `proxied/api/v1/query?query=${encodeURIComponent('test{job="testjob"}')}&time=123`; + const urlExpected = `/api/datasources/1/resources/api/v1/query?query=${encodeURIComponent( + 'test{job="testjob"}' + )}&time=123`; const query = { range: { from: time({ seconds: 63 }), to: time({ seconds: 123 }) }, targets: [{ expr: 'test{job="testjob"}', format: 'time_series', instant: true }], diff --git a/public/app/plugins/datasource/prometheus/datasource.tsx b/public/app/plugins/datasource/prometheus/datasource.tsx index ef664ea0a55..fe544e8cc7b 100644 --- a/public/app/plugins/datasource/prometheus/datasource.tsx +++ b/public/app/plugins/datasource/prometheus/datasource.tsx @@ -643,10 +643,14 @@ export class PrometheusDatasource data['timeout'] = this.queryTimeout; } - return this._request>(url, data, { - requestId: query.requestId, - headers: query.headers, - }).pipe( + return this._request>( + `/api/datasources/${this.id}/resources${url}`, + data, + { + requestId: query.requestId, + headers: query.headers, + } + ).pipe( catchError((err: FetchError>) => { if (err.cancelled) { return of(err); diff --git a/public/app/plugins/datasource/prometheus/metric_find_query.test.ts b/public/app/plugins/datasource/prometheus/metric_find_query.test.ts index e29934db580..6becb8d7cb9 100644 --- a/public/app/plugins/datasource/prometheus/metric_find_query.test.ts +++ b/public/app/plugins/datasource/prometheus/metric_find_query.test.ts @@ -221,7 +221,7 @@ describe('PrometheusMetricFindQuery', () => { expect(fetchMock).toHaveBeenCalledTimes(1); expect(fetchMock).toHaveBeenCalledWith({ method: 'GET', - url: `proxied/api/v1/query?query=metric&time=${raw.to.unix()}`, + url: `/api/datasources/1/resources/api/v1/query?query=metric&time=${raw.to.unix()}`, requestId: undefined, headers: {}, }); @@ -243,7 +243,7 @@ describe('PrometheusMetricFindQuery', () => { expect(fetchMock).toHaveBeenCalledTimes(1); expect(fetchMock).toHaveBeenCalledWith({ method: 'GET', - url: `proxied/api/v1/query?query=1%2B1&time=${raw.to.unix()}`, + url: `/api/datasources/1/resources/api/v1/query?query=1%2B1&time=${raw.to.unix()}`, requestId: undefined, headers: {}, });