load all metrics now works

This commit is contained in:
Torkel Ödegaard
2013-12-16 22:12:11 +01:00
parent 1cbe067b04
commit 16b0d797a9
2 changed files with 50 additions and 3321 deletions
+25 -3318
View File
File diff suppressed because one or more lines are too long
+25 -3
View File
@@ -44,15 +44,37 @@ function (angular, _, config) {
};
$scope.loadAll = function() {
return $http.get(config.graphiteUrl + "/metrics/index.json")
.then(function (data) {
$scope.infoText = "Fetching all metrics from graphite...";
return $http.get(config.graphiteUrl + "/metrics/index.json")
.then(saveMetricsArray)
.then(function () {
$scope.infoText = "Indexing complete!";
})
.then(null, function(err) {
$scope.errorText = "Failed to fetch index.json metrics file from graphite: " + err;
$scope.errorText = err;
deferred.reject(err);
});
};
function saveMetricsArray(data, currentIndex)
{
if (!data && !data.data && !data.data.length == 0) {
return $q.reject('No metrics from graphite');
}
if (data.data.length === currentIndex) {
return $q.when('done');
}
currentIndex = currentIndex || 0;
return saveMetricKey(data.data[currentIndex])
.then(function() {
return saveMetricsArray(data, currentIndex + 1);
});
}
function deleteIndex()
{
var deferred = $q.defer();