mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Replace deprecated facets with aggregations.
This commit is contained in:
parent
7bccd17bbe
commit
56d1411253
@ -314,11 +314,13 @@ function (angular, _, config, kbn, moment, ElasticQueryBuilder) {
|
||||
|
||||
ElasticDatasource.prototype._getTimeSeries = function(results) {
|
||||
var data = [];
|
||||
if (results && results.facets) {
|
||||
for (var target in results.facets) {
|
||||
if (results.facets.hasOwnProperty(target) && results.facets[target].entries) {
|
||||
var datapoints = results.facets[target].entries.map(function(entry) {
|
||||
return [entry.mean, entry.time];
|
||||
if (results && results.aggregations) {
|
||||
for (var target in results.aggregations) {
|
||||
if (results.aggregations.hasOwnProperty(target) &&
|
||||
results.aggregations[target].date_histogram &&
|
||||
results.aggregations[target].date_histogram.buckets) {
|
||||
var datapoints = results.aggregations[target].date_histogram.buckets.map(function(entry) {
|
||||
return [entry.metric.avg, entry.key];
|
||||
});
|
||||
data.push({ target: target, datapoints: datapoints });
|
||||
}
|
||||
@ -329,5 +331,4 @@ function (angular, _, config, kbn, moment, ElasticQueryBuilder) {
|
||||
|
||||
return ElasticDatasource;
|
||||
});
|
||||
|
||||
});
|
||||
|
@ -8,24 +8,34 @@ function () {
|
||||
|
||||
ElasticQueryBuilder.prototype.build = function(targets) {
|
||||
var query = {
|
||||
"facets": {},
|
||||
"aggs": {},
|
||||
"size": "$maxDataPoints"
|
||||
};
|
||||
var self = this;
|
||||
targets.forEach(function(target) {
|
||||
if (!target.hide) {
|
||||
query["facets"][target.termKey + "_" + target.termValue] = {
|
||||
"date_histogram": {
|
||||
"interval": target.interval || "$interval",
|
||||
"key_field": target.keyField,
|
||||
"min_doc_count": 0,
|
||||
"value_field": target.valueField
|
||||
},
|
||||
"facet_filter": {
|
||||
query["aggs"][target.termKey + "_" + target.termValue] = {
|
||||
"filter": {
|
||||
"and": [
|
||||
self._buildRangeFilter(target),
|
||||
self._buildTermFilter(target)
|
||||
]
|
||||
},
|
||||
"aggs": {
|
||||
"date_histogram": {
|
||||
"date_histogram": {
|
||||
"interval": target.interval || "$interval",
|
||||
"field": target.keyField,
|
||||
"min_doc_count": 0,
|
||||
},
|
||||
"aggs": {
|
||||
"metric": {
|
||||
"stats": {
|
||||
"field": target.valueField
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@ -35,12 +35,12 @@ function (angular, _, ElasticQueryBuilder) {
|
||||
$scope.valueFieldSegment = new MetricSegment({value: target.valueField});
|
||||
|
||||
if (!target.termKey) {
|
||||
target.termKey = 'service';
|
||||
target.termKey = 'service.raw';
|
||||
}
|
||||
$scope.termKeySegment = new MetricSegment({value: target.termKey});
|
||||
|
||||
if (!target.termValue) {
|
||||
target.termValue = 'cpu';
|
||||
target.termValue = 'cpu-average/cpu-user';
|
||||
}
|
||||
$scope.termValueSegment = new MetricSegment({value: target.termValue});
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user