|
|
|
@ -114,25 +114,6 @@ function (angular, _, kbn, InfluxSeries, InfluxQueryBuilder) { |
|
|
|
|
}); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
function retry(deferred, callback, delay) { |
|
|
|
|
return callback().then(undefined, function(reason) { |
|
|
|
|
if (reason.status !== 0 || reason.status >= 300) { |
|
|
|
|
if (reason.data && reason.data.error) { |
|
|
|
|
reason.message = 'InfluxDB Error Response: ' + reason.data.error; |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
reason.message = 'InfluxDB Error: ' + reason.message; |
|
|
|
|
} |
|
|
|
|
deferred.reject(reason); |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
setTimeout(function() { |
|
|
|
|
return retry(deferred, callback, Math.min(delay * 2, 30000)); |
|
|
|
|
}, delay); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
InfluxDatasource.prototype._seriesQuery = function(query) { |
|
|
|
|
return this._influxRequest('GET', '/query', {q: query, epoch: 'ms'}); |
|
|
|
|
}; |
|
|
|
@ -145,9 +126,7 @@ function (angular, _, kbn, InfluxSeries, InfluxQueryBuilder) { |
|
|
|
|
|
|
|
|
|
InfluxDatasource.prototype._influxRequest = function(method, url, data) { |
|
|
|
|
var self = this; |
|
|
|
|
var deferred = $q.defer(); |
|
|
|
|
|
|
|
|
|
retry(deferred, function() { |
|
|
|
|
var currentUrl = self.urls.shift(); |
|
|
|
|
self.urls.push(currentUrl); |
|
|
|
|
|
|
|
|
@ -179,12 +158,18 @@ function (angular, _, kbn, InfluxSeries, InfluxQueryBuilder) { |
|
|
|
|
options.headers.Authorization = self.basicAuth; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return $http(options).success(function (data) { |
|
|
|
|
deferred.resolve(data); |
|
|
|
|
return $http(options).then(function(result) { |
|
|
|
|
return result.data; |
|
|
|
|
}, function(reason) { |
|
|
|
|
if (reason.status !== 0 || reason.status >= 300) { |
|
|
|
|
if (reason.data && reason.data.error) { |
|
|
|
|
throw { message: 'InfluxDB Error Response: ' + reason.data.error }; |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
throw { messsage: 'InfluxDB Error: ' + reason.message }; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}, 10); |
|
|
|
|
|
|
|
|
|
return deferred.promise; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
function getTimeFilter(options) { |
|
|
|
|