Made histogram x-axis labels dynamic

This commit is contained in:
Rashid Khan 2013-03-13 14:18:59 -07:00
parent e2fc334b78
commit 87c0a0e2e1
2 changed files with 14 additions and 6 deletions

View File

@ -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'],

View File

@ -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();
} }