You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by at...@apache.org on 2016/02/12 21:39:46 UTC
ambari git commit: AMBARI-15027 Sometimes Yarn graphs,
Heatmaps take longer to load. (atkach)
Repository: ambari
Updated Branches:
refs/heads/trunk aac5389fe -> ed55354ab
AMBARI-15027 Sometimes Yarn graphs,Heatmaps take longer to load. (atkach)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/ed55354a
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/ed55354a
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/ed55354a
Branch: refs/heads/trunk
Commit: ed55354abaa8bf53ad0c1fda0d935976baf4c53d
Parents: aac5389
Author: Andrii Tkach <at...@hortonworks.com>
Authored: Fri Feb 12 16:11:18 2016 +0200
Committer: Andrii Tkach <at...@hortonworks.com>
Committed: Fri Feb 12 22:38:32 2016 +0200
----------------------------------------------------------------------
.../app/mixins/common/widgets/widget_mixin.js | 29 ++++++++++++--------
.../views/common/widget/graph_widget_view.js | 18 +++++++-----
.../test/mixins/common/widget_mixin_test.js | 2 +-
3 files changed, 30 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/ed55354a/ambari-web/app/mixins/common/widgets/widget_mixin.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mixins/common/widgets/widget_mixin.js b/ambari-web/app/mixins/common/widgets/widget_mixin.js
index b6fe353..6d65c33 100644
--- a/ambari-web/app/mixins/common/widgets/widget_mixin.js
+++ b/ambari-web/app/mixins/common/widgets/widget_mixin.js
@@ -204,7 +204,9 @@ App.WidgetMixin = Ember.Mixin.create({
},
/**
- * aggregate all metric names in the query. Add time range and step to temporal queries
+ * aggregate all metric names in the query. Add time range and step to temporal queries
+ * @param {Array} metricPaths
+ * @returns {string}
*/
prepareMetricPaths: function(metricPaths) {
var temporalMetrics = metricPaths.filterProperty('metric_type', 'TEMPORAL');
@@ -225,15 +227,20 @@ App.WidgetMixin = Ember.Mixin.create({
* @returns {$.ajax}
*/
getHostComponentMetrics: function (request) {
- return App.ajax.send({
- name: 'widgets.hostComponent.metrics.get',
- sender: this,
- data: {
- componentName: request.component_name,
- metricPaths: this.prepareMetricPaths(request.metric_paths),
- hostComponentCriteria: this.computeHostComponentCriteria(request)
- }
- });
+ var metricPaths = this.prepareMetricPaths(request.metric_paths);
+
+ if (metricPaths.length) {
+ return App.ajax.send({
+ name: 'widgets.hostComponent.metrics.get',
+ sender: this,
+ data: {
+ componentName: request.component_name,
+ metricPaths: this.prepareMetricPaths(request.metric_paths),
+ hostComponentCriteria: this.computeHostComponentCriteria(request)
+ }
+ });
+ }
+ return jQuery.Deferred().reject().promise();
},
getHostComponentMetricsSuccessCallback: function (data) {
@@ -771,7 +778,7 @@ App.WidgetLoadAggregator = Em.Object.create({
subRequest.errorCallback.call(subRequest.context, xhr, textStatus, errorThrown);
}
}, this);
- }).complete(function () {
+ }).always(function () {
_request.subRequests.forEach(function (subRequest) {
subRequest.completeCallback.call(subRequest.context);
}, this);
http://git-wip-us.apache.org/repos/asf/ambari/blob/ed55354a/ambari-web/app/views/common/widget/graph_widget_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/widget/graph_widget_view.js b/ambari-web/app/views/common/widget/graph_widget_view.js
index 6feaa28..30eb658 100644
--- a/ambari-web/app/views/common/widget/graph_widget_view.js
+++ b/ambari-web/app/views/common/widget/graph_widget_view.js
@@ -211,13 +211,17 @@ App.GraphWidgetView = Em.View.extend(App.WidgetMixin, App.ExportMetricsMixin, {
step = this.get('timeStep'),
timeRange = this.get('timeRange'),
result = [],
- targetView = this.get('exportTargetView.isPopup') ? this.get('exportTargetView') : this.get('parentView'),
- customStartTime = targetView.get('customStartTime'),
- customEndTime = targetView.get('customEndTime');
- if (timeRange === 0 && !Em.isNone(customStartTime) && !Em.isNone(customEndTime)) {
- // Custom start and end time is specified by user
- toSeconds = customEndTime / 1000;
- fromSeconds = customStartTime / 1000;
+ targetView = this.get('exportTargetView.isPopup') ? this.get('exportTargetView') : this.get('parentView');
+
+ //if view destroyed then no metrics should be asked
+ if (Em.isNone(targetView)) return result;
+
+ if (timeRange === 0 &&
+ !Em.isNone(targetView.get('customStartTime')) &&
+ !Em.isNone(targetView.get('customEndTime'))) {
+ // Custom start/end time is specified by user
+ toSeconds = targetView.get('customEndTime') / 1000;
+ fromSeconds = targetView.get('customStartTime') / 1000;
} else {
// Preset time range is specified by user
toSeconds = Math.round(App.dateTime() / 1000);
http://git-wip-us.apache.org/repos/asf/ambari/blob/ed55354a/ambari-web/test/mixins/common/widget_mixin_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/mixins/common/widget_mixin_test.js b/ambari-web/test/mixins/common/widget_mixin_test.js
index 91f628f..e32026a 100644
--- a/ambari-web/test/mixins/common/widget_mixin_test.js
+++ b/ambari-web/test/mixins/common/widget_mixin_test.js
@@ -626,7 +626,7 @@ describe('App.WidgetLoadAggregator', function () {
return {
done: Em.K,
fail: Em.K,
- complete: Em.K
+ always: Em.K
}
},
state: 'inDOM'