|
|
@@ -43,7 +43,7 @@ export function PrometheusDatasource(instanceSettings, $q, backendSrv, templateS
|
|
|
return value.replace(/[\\^$*+?.()|[\]{}]/g, '\\\\$&');
|
|
|
}
|
|
|
|
|
|
- function interpolateQueryExpr(value, variable, defaultFormatFn) {
|
|
|
+ this.interpolateQueryExpr = function(value, variable, defaultFormatFn) {
|
|
|
// if no multi or include all do not regexEscape
|
|
|
if (!variable.multi && !variable.includeAll) {
|
|
|
return value;
|
|
|
@@ -59,6 +59,7 @@ export function PrometheusDatasource(instanceSettings, $q, backendSrv, templateS
|
|
|
|
|
|
// Called once per panel (graph)
|
|
|
this.query = function(options) {
|
|
|
+ var self = this;
|
|
|
var start = getPrometheusTime(options.range.from, false);
|
|
|
var end = getPrometheusTime(options.range.to, true);
|
|
|
|
|
|
@@ -73,7 +74,7 @@ export function PrometheusDatasource(instanceSettings, $q, backendSrv, templateS
|
|
|
activeTargets.push(target);
|
|
|
|
|
|
var query: any = {};
|
|
|
- query.expr = templateSrv.replace(target.expr, options.scopedVars, interpolateQueryExpr);
|
|
|
+ query.expr = templateSrv.replace(target.expr, options.scopedVars, self.interpolateQueryExpr);
|
|
|
|
|
|
var interval = target.interval || options.interval;
|
|
|
var intervalFactor = target.intervalFactor || 1;
|
|
|
@@ -99,7 +100,6 @@ export function PrometheusDatasource(instanceSettings, $q, backendSrv, templateS
|
|
|
return this.performTimeSeriesQuery(query, start, end);
|
|
|
}, this));
|
|
|
|
|
|
- var self = this;
|
|
|
return $q.all(allQueryPromise)
|
|
|
.then(function(allResponse) {
|
|
|
var result = [];
|
|
|
@@ -160,7 +160,7 @@ export function PrometheusDatasource(instanceSettings, $q, backendSrv, templateS
|
|
|
|
|
|
var interpolated;
|
|
|
try {
|
|
|
- interpolated = templateSrv.replace(expr, {}, interpolateQueryExpr);
|
|
|
+ interpolated = templateSrv.replace(expr, {}, this.interpolateQueryExpr);
|
|
|
} catch (err) {
|
|
|
return $q.reject(err);
|
|
|
}
|