From e2dd201e4a94999acad73a3c5d648a98ea3cb413 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Wed, 22 Jan 2014 12:34:04 +0100 Subject: [PATCH] Fixes #13 (partially) Use relative time ranges whenever possible when querying graphite --- src/app/panels/graphite/module.js | 2 +- src/app/services/graphite/graphiteSrv.js | 20 ++++++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/app/panels/graphite/module.js b/src/app/panels/graphite/module.js index 0239db88127..50effeeba9a 100644 --- a/src/app/panels/graphite/module.js +++ b/src/app/panels/graphite/module.js @@ -320,7 +320,7 @@ function (angular, app, $, _, kbn, moment, timeSeries) { $scope.updateTimeRange(); var graphiteQuery = { - range: $scope.range, + range: filterSrv.timeRange(false), targets: $scope.panel.targets, maxDataPoints: $scope.panel.span * 50 }; diff --git a/src/app/services/graphite/graphiteSrv.js b/src/app/services/graphite/graphiteSrv.js index a7f7ed763f0..9afe082bb20 100644 --- a/src/app/services/graphite/graphiteSrv.js +++ b/src/app/services/graphite/graphiteSrv.js @@ -14,8 +14,8 @@ function (angular, _, $, config) { this.query = function(options) { try { var graphOptions = { - from: $.plot.formatDate(options.range.from, '%H%:%M_%Y%m%d'), - until: $.plot.formatDate(options.range.to, '%H%:%M_%Y%m%d'), + from: this.translateTime(options.range.from), + until: this.translateTime(options.range.to), targets: options.targets, maxDataPoints: options.maxDataPoints }; @@ -34,6 +34,22 @@ function (angular, _, $, config) { } }; + this.translateTime = function(date) { + if (_.isDate(date)) { + return $.plot.formatDate(date, '%H%:%M_%Y%m%d'); + } + + if (date === 'now') { + return 'now'; + } + + date = date.substring(3); + date = date.replace('m', 'min'); + date = date.replace('M', 'mon'); + + return date; + }; + this.match = function(targets, graphiteTargetStr) { var found = targets[0];