diff --git a/public/app/plugins/datasource/prometheus/datasource.ts b/public/app/plugins/datasource/prometheus/datasource.ts index df1fc6053fb..a52f3aefa2e 100644 --- a/public/app/plugins/datasource/prometheus/datasource.ts +++ b/public/app/plugins/datasource/prometheus/datasource.ts @@ -27,6 +27,7 @@ export class PrometheusDatasource { withCredentials: any; metricsNameCache: any; interval: string; + queryTimeout: string; httpMethod: string; resultTransformer: ResultTransformer; @@ -42,6 +43,7 @@ export class PrometheusDatasource { this.basicAuth = instanceSettings.basicAuth; this.withCredentials = instanceSettings.withCredentials; this.interval = instanceSettings.jsonData.timeInterval || '15s'; + this.queryTimeout = instanceSettings.jsonData.queryTimeout; this.httpMethod = instanceSettings.jsonData.httpMethod || 'GET'; this.resultTransformer = new ResultTransformer(templateSrv); } @@ -231,6 +233,9 @@ export class PrometheusDatasource { end: end, step: query.step, }; + if (this.queryTimeout) { + data['timeout'] = this.queryTimeout; + } return this._request(url, data, { requestId: query.requestId }); } @@ -240,6 +245,9 @@ export class PrometheusDatasource { query: query.expr, time: time, }; + if (this.queryTimeout) { + data['timeout'] = this.queryTimeout; + } return this._request(url, data, { requestId: query.requestId }); } diff --git a/public/app/plugins/datasource/prometheus/partials/config.html b/public/app/plugins/datasource/prometheus/partials/config.html index 2cd6adcbc4d..a7a85e696b0 100644 --- a/public/app/plugins/datasource/prometheus/partials/config.html +++ b/public/app/plugins/datasource/prometheus/partials/config.html @@ -2,15 +2,25 @@