소스 검색

Fixes to maxDataPoints / resolution and time axis formats

Torkel Ödegaard 12 년 전
부모
커밋
3b327bab8f
3개의 변경된 파일19개의 추가작업 그리고 23개의 파일을 삭제
  1. 13 16
      src/app/directives/grafanaGraph.js
  2. 1 2
      src/app/panels/graphite/module.js
  3. 5 5
      src/vendor/jquery/jquery.flot.time.js

+ 13 - 16
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";

+ 1 - 2
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) {

+ 5 - 5
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"],