|
|
@@ -167,36 +167,28 @@ function () {
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
- var metricAgg = {field: metric.field};
|
|
|
+ var aggField = {};
|
|
|
+ var metricAgg = null;
|
|
|
+ if (metric.type === 'moving_avg') {
|
|
|
+ var subBucket = metric.id + "_mavg";
|
|
|
+
|
|
|
+ var af = {};
|
|
|
+ af[metric.aggregation] = {field: metric.field};
|
|
|
+ nestedAggs.aggs[subBucket] = af;
|
|
|
+
|
|
|
+ metricAgg = { buckets_path: subBucket };
|
|
|
+ } else {
|
|
|
+ metricAgg = {field: metric.field};
|
|
|
+ }
|
|
|
+
|
|
|
for (var prop in metric.settings) {
|
|
|
if (metric.settings.hasOwnProperty(prop) && metric.settings[prop] !== null) {
|
|
|
metricAgg[prop] = metric.settings[prop];
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- var aggField = {};
|
|
|
- if (metric.type === 'moving_avg') {
|
|
|
- var pipeAgg = '';
|
|
|
- for(var aggname in nestedAggs.aggs) {
|
|
|
- var agg = nestedAggs.aggs[aggname];
|
|
|
- for(prop in agg) {
|
|
|
- if (agg.hasOwnProperty(prop) && agg[prop] !== null) {
|
|
|
- if (metric.field === prop) {
|
|
|
- pipeAgg = aggname;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (pipeAgg !== '') {
|
|
|
- aggField[metric.type] = { buckets_path: pipeAgg };
|
|
|
- nestedAggs.aggs[metric.id] = aggField;
|
|
|
- }
|
|
|
- } else {
|
|
|
- aggField[metric.type] = metricAgg;
|
|
|
- nestedAggs.aggs[metric.id] = aggField;
|
|
|
- }
|
|
|
+ aggField[metric.type] = metricAgg;
|
|
|
+ nestedAggs.aggs[metric.id] = aggField;
|
|
|
}
|
|
|
|
|
|
return query;
|