mirror of
https://github.com/grafana/grafana.git
synced 2024-11-25 18:30:41 -06:00
Fix for trend panel and stacking in default dashboard
This commit is contained in:
parent
278c069b4c
commit
2d542aede9
@ -188,7 +188,7 @@
|
||||
"spyable": true,
|
||||
"zoomlinks": true,
|
||||
"bars": true,
|
||||
"stack": false,
|
||||
"stack": true,
|
||||
"points": false,
|
||||
"lines": false,
|
||||
"legend": true,
|
||||
@ -266,4 +266,4 @@
|
||||
"pattern": "[logstash-]YYYY.MM.DD",
|
||||
"default": "logstash-*"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -48,9 +48,22 @@ angular.module('kibana.trends', [])
|
||||
if(dashboard.indices.length == 0) {
|
||||
return
|
||||
} else {
|
||||
$scope.index = dashboard.indices
|
||||
$scope.index = segment > 0 ? $scope.index : dashboard.indices;
|
||||
}
|
||||
|
||||
// Determine a time field
|
||||
var timeField = _.uniq(_.pluck(filterSrv.getByType('time'),'field'))
|
||||
if(timeField.length > 1) {
|
||||
$scope.panel.error = "Time field must be consistent amongst time filters"
|
||||
return
|
||||
} else if(timeField.length == 0) {
|
||||
$scope.panel.error = "A time filter must exist for this panel to function"
|
||||
return
|
||||
} else {
|
||||
timeField = timeField[0]
|
||||
}
|
||||
|
||||
$scope.time = filterSrv.timeRange('min');
|
||||
$scope.old_time = {
|
||||
from : new Date($scope.time.from.getTime() - interval_to_seconds($scope.panel.ago)*1000),
|
||||
to : new Date($scope.time.to.getTime() - interval_to_seconds($scope.panel.ago)*1000)
|
||||
@ -58,12 +71,18 @@ angular.module('kibana.trends', [])
|
||||
|
||||
var _segment = _.isUndefined(segment) ? 0 : segment
|
||||
var request = $scope.ejs.Request();
|
||||
var _ids_without_time = _.difference(filterSrv.ids,filterSrv.idsByType('time'))
|
||||
|
||||
|
||||
// Build the question part of the query
|
||||
_.each(query.ids, function(id) {
|
||||
var q = $scope.ejs.FilteredQuery(
|
||||
ejs.QueryStringQuery(query.list[id].query || '*'),
|
||||
filterSrv.getBoolFilter(filterSrv.ids))
|
||||
filterSrv.getBoolFilter(_ids_without_time).must(
|
||||
ejs.RangeFilter(timeField)
|
||||
.from($scope.time.from)
|
||||
.to($scope.time.to)
|
||||
))
|
||||
|
||||
request = request
|
||||
.facet($scope.ejs.QueryFacet(id)
|
||||
@ -75,9 +94,11 @@ angular.module('kibana.trends', [])
|
||||
_.each(query.ids, function(id) {
|
||||
var q = $scope.ejs.FilteredQuery(
|
||||
ejs.QueryStringQuery(query.list[id].query || '*'),
|
||||
ejs.RangeFilter($scope.time.field)
|
||||
filterSrv.getBoolFilter(_ids_without_time).must(
|
||||
ejs.RangeFilter(timeField)
|
||||
.from($scope.old_time.from)
|
||||
.to($scope.old_time.to))
|
||||
.to($scope.old_time.to)
|
||||
))
|
||||
request = request
|
||||
.facet($scope.ejs.QueryFacet("old_"+id)
|
||||
.query(q)
|
||||
@ -92,11 +113,13 @@ angular.module('kibana.trends', [])
|
||||
kbnIndex.indices(
|
||||
$scope.old_time.from,
|
||||
$scope.old_time.to,
|
||||
$scope.time.pattern,
|
||||
$scope.time.interval
|
||||
dashboard.current.index.pattern,
|
||||
dashboard.current.index.interval
|
||||
).then(function (p) {
|
||||
$scope.index = _.union(p,$scope.index);
|
||||
process_results(request.indices($scope.index[_segment]).doSearch());
|
||||
request = request.indices($scope.index[_segment])
|
||||
process_results(request.doSearch());
|
||||
|
||||
});
|
||||
} else {
|
||||
process_results(request.indices($scope.index[_segment]).doSearch());
|
||||
|
Loading…
Reference in New Issue
Block a user