Explorar o código

Made histogram x-axis labels dynamic

Rashid Khan %!s(int64=12) %!d(string=hai) anos
pai
achega
87c0a0e2e1
Modificáronse 2 ficheiros con 14 adicións e 6 borrados
  1. 0 4
      config.js
  2. 14 2
      panels/histogram/module.js

+ 0 - 4
config.js

@@ -3,13 +3,10 @@
 elasticsearch:  URL to your elasticsearch server
 elasticsearch:  URL to your elasticsearch server
 kibana_index:   The default ES index to use for storing Kibana specific object
 kibana_index:   The default ES index to use for storing Kibana specific object
                 such as stored dashboards 
                 such as stored dashboards 
-timeformat:     Format for time in histograms (might go away)
 modules:        Panel modules to load. In the future these will be inferred 
 modules:        Panel modules to load. In the future these will be inferred 
                 from your initial dashboard, though if you share dashboards you
                 from your initial dashboard, though if you share dashboards you
                 will probably need to list them all here 
                 will probably need to list them all here 
 
 
-NOTE:   No timezone support yet, everything is in UTC at the moment.
-
 If you need to configure the default dashboard, please see default.json
 If you need to configure the default dashboard, please see default.json
 
 
 */
 */
@@ -17,7 +14,6 @@ var config = new Settings(
 {
 {
   elasticsearch:  'http://localhost:9200',
   elasticsearch:  'http://localhost:9200',
   kibana_index:   "kibana-int", 
   kibana_index:   "kibana-int", 
-  timeformat:     'mm/dd HH:MM:ss',
   modules:        ['histogram','map','pie','table','stringquery','sort',
   modules:        ['histogram','map','pie','table','stringquery','sort',
                   'timepicker','text','fields','hits','dashcontrol',
                   'timepicker','text','fields','hits','dashcontrol',
                   'column'], 
                   'column'], 

+ 14 - 2
panels/histogram/module.js

@@ -209,7 +209,7 @@ angular.module('kibana.histogram', [])
               timezone: scope.panel.timezone,
               timezone: scope.panel.timezone,
               show: show['x-axis'],
               show: show['x-axis'],
               mode: "time",
               mode: "time",
-              timeformat: "%H:%M:%S<br>%m-%d",
+              timeformat: time_format(scope.panel.interval),
               label: "Datetime",
               label: "Datetime",
               color: "#000",
               color: "#000",
             },
             },
@@ -231,6 +231,18 @@ angular.module('kibana.histogram', [])
         })
         })
       }
       }
 
 
+      function time_format(interval) {
+        var _int = interval_to_seconds(interval)
+        if(_int >= 2628000)
+          return "%m/%y"
+        if(_int >= 86400)
+          return "%m/%d/%y"
+        if(_int >= 60)
+          return "%H:%M<br>%m/%d"
+        else
+          return "%H:%M:%S"
+      }
+
       function tt(x, y, contents) {
       function tt(x, y, contents) {
         var tooltip = $('#pie-tooltip').length ? 
         var tooltip = $('#pie-tooltip').length ? 
           $('#pie-tooltip') : $('<div id="pie-tooltip"></div>');
           $('#pie-tooltip') : $('<div id="pie-tooltip"></div>');
@@ -252,7 +264,7 @@ angular.module('kibana.histogram', [])
           var percent = parseFloat(item.series.percent).toFixed(1) + "%";
           var percent = parseFloat(item.series.percent).toFixed(1) + "%";
           tt(pos.pageX, pos.pageY,
           tt(pos.pageX, pos.pageY,
             item.datapoint[1].toFixed(1) + " @ " + 
             item.datapoint[1].toFixed(1) + " @ " + 
-            new Date(item.datapoint[0]).format(config.timeformat));
+            new Date(item.datapoint[0]).format('mm/dd HH:MM:ss'));
         } else {
         } else {
           $("#pie-tooltip").remove();
           $("#pie-tooltip").remove();
         }
         }