From 14f09e3787ba8748802983694774c7540a040c8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Wed, 30 Jul 2014 13:09:23 +0200 Subject: [PATCH] Added filtering support for graphite events/metrics, Closes #402 --- src/app/services/dashboard/dashboardModel.js | 2 -- src/app/services/filterSrv.js | 2 +- .../services/graphite/graphiteDatasource.js | 19 +++++++++++-------- src/app/services/unsavedChangesSrv.js | 2 +- 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/app/services/dashboard/dashboardModel.js b/src/app/services/dashboard/dashboardModel.js index f9ba2ab06d8..9bfdbc90c97 100644 --- a/src/app/services/dashboard/dashboardModel.js +++ b/src/app/services/dashboard/dashboardModel.js @@ -29,13 +29,11 @@ function (angular, $, kbn, _) { this.loader = data.loader || {}; _.defaults(this.loader, { - save_gist: false, save_elasticsearch: true, save_default: true, save_temp: true, save_temp_ttl_enable: true, save_temp_ttl: '30d', - load_gist: false, load_elasticsearch: true, hide: false }); diff --git a/src/app/services/filterSrv.js b/src/app/services/filterSrv.js index b120090e919..223f6190e68 100644 --- a/src/app/services/filterSrv.js +++ b/src/app/services/filterSrv.js @@ -40,7 +40,7 @@ define([ }, applyTemplateToTarget: function(target) { - if (target.indexOf('[[') === -1) { + if (!target || target.indexOf('[[') === -1) { return target; } diff --git a/src/app/services/graphite/graphiteDatasource.js b/src/app/services/graphite/graphiteDatasource.js index cf7eb4b1cf4..43b56e7f9ec 100644 --- a/src/app/services/graphite/graphiteDatasource.js +++ b/src/app/services/graphite/graphiteDatasource.js @@ -63,9 +63,10 @@ function (angular, _, $, config, kbn, moment) { GraphiteDatasource.prototype.annotationQuery = function(annotation, filterSrv, rangeUnparsed) { // Graphite metric as annotation if (annotation.target) { + var target = filterSrv.applyTemplateToTarget(annotation.target); var graphiteQuery = { range: rangeUnparsed, - targets: [{ target: annotation.target }], + targets: [{ target: target }], format: 'json', maxDataPoints: 100 }; @@ -93,17 +94,19 @@ function (angular, _, $, config, kbn, moment) { }); } // Graphite event as annotation - else if (annotation.tags) { - return this.events({ range: rangeUnparsed, tags: annotation.tags }) + else { + var tags = filterSrv.applyTemplateToTarget(annotation.tags); + return this.events({ range: rangeUnparsed, tags: tags }) .then(function(results) { var list = []; - for (var i = 0; i < results.data; i++) { + for (var i = 0; i < results.data.length; i++) { + var e = results.data[i]; list.push({ annotation: annotation, - time: event.when * 1000, - title: event.what, - tags: event.tags, - text: event.data + time: e.when * 1000, + title: e.what, + tags: e.tags, + text: e.data }); } return list; diff --git a/src/app/services/unsavedChangesSrv.js b/src/app/services/unsavedChangesSrv.js index bfb7a60facc..1c05ae86377 100644 --- a/src/app/services/unsavedChangesSrv.js +++ b/src/app/services/unsavedChangesSrv.js @@ -22,7 +22,7 @@ function(angular, _, config) { $timeout(function() { self.original = angular.copy(newDashboard); self.current = newDashboard; - }, 1000); + }, 1200); }); $rootScope.$on("dashboard-saved", function(event, savedDashboard) {