From 3b327bab8f8c36776c9dde6c64e937c38662e5ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Wed, 5 Mar 2014 18:37:51 +0100 Subject: [PATCH] Fixes to maxDataPoints / resolution and time axis formats --- src/app/directives/grafanaGraph.js | 29 ++++++++++++--------------- src/app/panels/graphite/module.js | 3 +-- src/vendor/jquery/jquery.flot.time.js | 10 ++++----- 3 files changed, 19 insertions(+), 23 deletions(-) diff --git a/src/app/directives/grafanaGraph.js b/src/app/directives/grafanaGraph.js index edbdeeb931a..3eecd64727d 100644 --- a/src/app/directives/grafanaGraph.js +++ b/src/app/directives/grafanaGraph.js @@ -257,25 +257,22 @@ function (angular, $, kbn, moment, _) { } function time_format(interval, ticks, min, max) { - var _int = kbn.interval_to_seconds(interval); - if(_int >= 2628000) { - return "%Y-%m"; - } - if(_int >= 10000) { - return "%m/%d"; - } - if(_int >= 3600) { - return "%m/%d %H:%M"; - } - if(_int >= 700) { - return "%a %H:%M"; - } - if (min && max && ticks) { - var msPerTick = (max - min) / ticks; - if (msPerTick <= 45000) { + var secPerTick = ((max - min) / ticks) / 1000; + + if (secPerTick <= 45) { return "%H:%M:%S"; } + if (secPerTick <= 3600) { + return "%H:%M"; + } + if (secPerTick <= 80000) { + return "%m/%d %H:%M"; + } + if (secPerTick <= 2419200) { + return "%m/%d"; + } + return "%Y-%m"; } return "%H:%M"; diff --git a/src/app/panels/graphite/module.js b/src/app/panels/graphite/module.js index c8f2642fc8b..fc67d75f6d2 100644 --- a/src/app/panels/graphite/module.js +++ b/src/app/panels/graphite/module.js @@ -230,8 +230,7 @@ function (angular, app, $, _, kbn, moment, timeSeries) { $scope.updateTimeRange = function () { $scope.range = filterSrv.timeRange(); $scope.rangeUnparsed = filterSrv.timeRange(false); - $scope.resolution = ($(window).width() / ($scope.panel.span / 12)) / 2; - + $scope.resolution = ($(window).width() * ($scope.panel.span / 12)) / 2; $scope.interval = '10m'; if ($scope.range) { diff --git a/src/vendor/jquery/jquery.flot.time.js b/src/vendor/jquery/jquery.flot.time.js index 15f52815fee..8e510f1948f 100644 --- a/src/vendor/jquery/jquery.flot.time.js +++ b/src/vendor/jquery/jquery.flot.time.js @@ -71,13 +71,13 @@ API.txt for details. switch (c) { case 'a': c = "" + dayNames[d.getDay()]; break; case 'b': c = "" + monthNames[d.getMonth()]; break; - case 'd': c = leftPad(d.getDate()); break; + case 'd': c = leftPad(d.getDate(), ""); break; case 'e': c = leftPad(d.getDate(), " "); break; case 'h': // For back-compat with 0.7; remove in 1.0 case 'H': c = leftPad(hours); break; case 'I': c = leftPad(hours12); break; case 'l': c = leftPad(hours12, " "); break; - case 'm': c = leftPad(d.getMonth() + 1); break; + case 'm': c = leftPad(d.getMonth() + 1, ""); break; case 'M': c = leftPad(d.getMinutes()); break; // quarters not in Open Group's strftime specification case 'q': @@ -158,7 +158,7 @@ API.txt for details. return makeUtcWrapper(new Date(ts)); } } - + // map of app. size of time units in milliseconds var timeUnitSize = { @@ -176,9 +176,9 @@ API.txt for details. var baseSpec = [ [1, "second"], [2, "second"], [5, "second"], [10, "second"], - [30, "second"], + [30, "second"], [1, "minute"], [2, "minute"], [5, "minute"], [10, "minute"], - [30, "minute"], + [30, "minute"], [1, "hour"], [2, "hour"], [4, "hour"], [8, "hour"], [12, "hour"], [1, "day"], [2, "day"], [3, "day"],