From 139b19f9ac906029e7ebcceec01d62beaf542bd5 Mon Sep 17 00:00:00 2001 From: carl bergquist Date: Thu, 10 Dec 2015 17:42:31 +0100 Subject: [PATCH] feat(elasticsearch): make series naming generic for pipeline aggs --- .../datasource/elasticsearch/elastic_response.js | 2 +- .../app/plugins/datasource/elasticsearch/metric_agg.js | 2 +- .../plugins/datasource/elasticsearch/query_builder.js | 2 +- .../app/plugins/datasource/elasticsearch/query_def.js | 10 +++++----- .../datasource/elasticsearch/specs/query_def_specs.ts | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/public/app/plugins/datasource/elasticsearch/elastic_response.js b/public/app/plugins/datasource/elasticsearch/elastic_response.js index fd53873aa8d..bcf4983f9a6 100644 --- a/public/app/plugins/datasource/elasticsearch/elastic_response.js +++ b/public/app/plugins/datasource/elasticsearch/elastic_response.js @@ -197,7 +197,7 @@ function (_, queryDef) { }); } - if (series.field && series.metric === 'moving_avg') { + if (series.field && queryDef.isPipelineAgg(series.metric)) { var appliedAgg = _.findWhere(target.metrics, { id: series.field }); if (appliedAgg) { metricName += ' ' + queryDef.describeMetric(appliedAgg); diff --git a/public/app/plugins/datasource/elasticsearch/metric_agg.js b/public/app/plugins/datasource/elasticsearch/metric_agg.js index dedb2436b11..f5272e29632 100644 --- a/public/app/plugins/datasource/elasticsearch/metric_agg.js +++ b/public/app/plugins/datasource/elasticsearch/metric_agg.js @@ -37,7 +37,7 @@ function (angular, _, queryDef) { $scope.settingsLinkText = ''; $scope.aggDef = _.findWhere($scope.metricAggTypes, {value: $scope.agg.type}); - if (queryDef.isPipelineAgg($scope.agg)) { + if (queryDef.isPipelineAgg($scope.agg.type)) { $scope.agg.pipelineAgg = $scope.agg.pipelineAgg || 'select metric'; $scope.agg.field = $scope.agg.pipelineAgg; $scope.settingsLinkText = 'Options'; diff --git a/public/app/plugins/datasource/elasticsearch/query_builder.js b/public/app/plugins/datasource/elasticsearch/query_builder.js index 5e6335e032e..dd071ba137d 100644 --- a/public/app/plugins/datasource/elasticsearch/query_builder.js +++ b/public/app/plugins/datasource/elasticsearch/query_builder.js @@ -171,7 +171,7 @@ function (queryDef) { var aggField = {}; var metricAgg = null; - if (queryDef.isPipelineAgg(metric)) { + if (queryDef.isPipelineAgg(metric.type)) { if (metric.pipelineAgg && /^\d*$/.test(metric.pipelineAgg)) { metricAgg = { buckets_path: metric.pipelineAgg }; } else { diff --git a/public/app/plugins/datasource/elasticsearch/query_def.js b/public/app/plugins/datasource/elasticsearch/query_def.js index e84ff00aab9..d0d49a5f05a 100644 --- a/public/app/plugins/datasource/elasticsearch/query_def.js +++ b/public/app/plugins/datasource/elasticsearch/query_def.js @@ -76,16 +76,16 @@ function (_) { }, getPipelineOptions: function(metric) { - if (!this.isPipelineAgg(metric)) { + if (!this.isPipelineAgg(metric.type)) { return []; } return this.pipelineOptions[metric.type]; }, - isPipelineAgg: function(metric) { - if (metric.type) { - var po = this.pipelineOptions[metric.type]; + isPipelineAgg: function(metricType) { + if (metricType) { + var po = this.pipelineOptions[metricType]; return po !== null && po !== undefined; } @@ -96,7 +96,7 @@ function (_) { var self = this; var result = []; _.each(targets.metrics, function(metric) { - if (!self.isPipelineAgg(metric)) { + if (!self.isPipelineAgg(metric.type)) { result.push({text: self.describeMetric(metric), value: metric.id }); } }); diff --git a/public/app/plugins/datasource/elasticsearch/specs/query_def_specs.ts b/public/app/plugins/datasource/elasticsearch/specs/query_def_specs.ts index 153639d3d9a..e2fda224a6a 100644 --- a/public/app/plugins/datasource/elasticsearch/specs/query_def_specs.ts +++ b/public/app/plugins/datasource/elasticsearch/specs/query_def_specs.ts @@ -64,7 +64,7 @@ describe('ElasticQueryDef', function() { describe('isPipelineMetric', function() { describe('moving_avg', function() { - var result = QueryDef.isPipelineAgg({ type: 'moving_avg' }); + var result = QueryDef.isPipelineAgg('moving_avg'); it('is pipe line metric', function() { expect(result).to.be(true); @@ -72,7 +72,7 @@ describe('ElasticQueryDef', function() { }); describe('count', function() { - var result = QueryDef.isPipelineAgg({ type: 'count' }); + var result = QueryDef.isPipelineAgg('count'); it('is not pipe line metric', function() { expect(result).to.be(false);