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 2017/10/30 14:04:46 UTC
ambari git commit: AMBARI-22333 Ambari 3.0: Implement new design for
metrics of service summary. (atkach)
Repository: ambari
Updated Branches:
refs/heads/trunk 4be5b8d01 -> 0041ab254
AMBARI-22333 Ambari 3.0: Implement new design for metrics of service summary. (atkach)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/0041ab25
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/0041ab25
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/0041ab25
Branch: refs/heads/trunk
Commit: 0041ab2540f2ad99481d8e1708e12adbee3aa404
Parents: 4be5b8d
Author: Andrii Tkach <at...@apache.org>
Authored: Mon Oct 30 14:42:43 2017 +0200
Committer: Andrii Tkach <at...@apache.org>
Committed: Mon Oct 30 14:42:43 2017 +0200
----------------------------------------------------------------------
ambari-web/app/messages.js | 23 ++-
ambari-web/app/styles/application.less | 8 +-
.../templates/main/service/services/hdfs.hbs | 116 ++++++++----
.../templates/main/service/services/yarn.hbs | 184 +++++++++++++++----
.../app/views/main/service/services/yarn.js | 21 ++-
.../views/main/service/services/yarn_test.js | 22 ---
6 files changed, 253 insertions(+), 121 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/0041ab25/ambari-web/app/messages.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index 0123356..ebf2f8a 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -2938,8 +2938,8 @@ Em.I18n.translations = {
'dashboard.services.uptime':'{0}',
'dashboard.services.summary.slaves.live': 'Live',
'dashboard.services.hdfs.summary':'{0} of {1} nodes live, {2}% capacity used',
- 'dashboard.services.hdfs.summary.components': 'COMPONENT',
- 'dashboard.services.hdfs.summary.service-metrics': 'SERVICE METRICS',
+ 'dashboard.services.hdfs.summary.components': 'Components',
+ 'dashboard.services.hdfs.summary.service-metrics': 'Service Metrics',
'dashboard.services.hdfs.nanmenode':'NameNode',
'dashboard.services.hdfs.snanmenode':'Secondary NameNode',
'dashboard.services.hdfs.journalnodes':'JournalNodes',
@@ -3007,14 +3007,21 @@ Em.I18n.translations = {
'dashboard.services.yarn.nodeManagers.status.tooltip.rebooted': 'This is the number of NodeManagers that are in the rebooted state as reported from the ResourceManager.',
'dashboard.services.yarn.nodeManagers.status.tooltip.decommissioned': 'This is the number of NodeManagers that are decommissioned as reported from the ResourceManager.',
'dashboard.services.yarn.containers': 'Containers',
- 'dashboard.services.yarn.containers.msg': '{0} / {1} / {2}',
- 'dashboard.services.yarn.containers.msgDesc': 'allocated / pending / reserved',
+ 'dashboard.services.yarn.containers.allocated': 'allocated',
+ 'dashboard.services.yarn.containers.pending': 'pending',
+ 'dashboard.services.yarn.containers.reserved': 'reserved',
'dashboard.services.yarn.apps': 'Applications',
- 'dashboard.services.yarn.apps.msg': '{0} / {1} / {2} / {3} / {4} / {5}',
- 'dashboard.services.yarn.apps.msgDesc': 'submitted / running / pending / completed / killed / failed',
+ 'dashboard.services.yarn.apps.submitted': 'submitted',
+ 'dashboard.services.yarn.apps.running': 'running',
+ 'dashboard.services.yarn.apps.pending': 'pending',
+ 'dashboard.services.yarn.apps.completed': 'completed',
+ 'dashboard.services.yarn.apps.killed': 'killed',
+ 'dashboard.services.yarn.apps.failed': 'failed',
+
'dashboard.services.yarn.memory': 'Cluster Memory',
- 'dashboard.services.yarn.memory.msg': '{0} / {1} / {2}',
- 'dashboard.services.yarn.memory.msgDesc': 'used / reserved / available',
+ 'dashboard.services.yarn.memory.used': 'used',
+ 'dashboard.services.yarn.memory.reserved': 'reserved',
+ 'dashboard.services.yarn.memory.available': 'available',
'dashboard.services.yarn.queues': 'Queues',
'dashboard.services.yarn.queues.msg': '{0} Queues',
'dashboard.services.hawq.hawqSegments':'HAWQ Segments',
http://git-wip-us.apache.org/repos/asf/ambari/blob/0041ab25/ambari-web/app/styles/application.less
----------------------------------------------------------------------
diff --git a/ambari-web/app/styles/application.less b/ambari-web/app/styles/application.less
index d40ab8e..df86c7f 100644
--- a/ambari-web/app/styles/application.less
+++ b/ambari-web/app/styles/application.less
@@ -2754,11 +2754,10 @@ a.abort-icon:hover {
}
.component-summary, .metrics-summary {
.col-md-2 {
- float:left;
- padding-left: 0px;
+ float: left;
+ padding-left: 0;
top: 7px;
- font-size: 12px;
- font-weight: bold;
+ font-size: 16px;
}
.col-md-10 {
float: right;
@@ -2769,6 +2768,7 @@ a.abort-icon:hover {
.info-desc {
font-size: 12px;
color: #999999;
+ text-transform: capitalize;
}
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/0041ab25/ambari-web/app/templates/main/service/services/hdfs.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/service/services/hdfs.hbs b/ambari-web/app/templates/main/service/services/hdfs.hbs
index fec5bac..bb927aa 100644
--- a/ambari-web/app/templates/main/service/services/hdfs.hbs
+++ b/ambari-web/app/templates/main/service/services/hdfs.hbs
@@ -55,32 +55,6 @@
</div>
</div>
{{/if}}
- {{! Data Node Counts }}
- <div class="row datanode-count col-md-3">
- <div class="summary-value">
- {{#if view.service.metricsNotAvailable}}
- <div class="main-info">
- {{t services.service.summary.notAvailable}}
- </div>
- {{else}}
- <div class="main-info">
- <p {{translateAttr data-original-title="dashboard.services.hdfs.datanode.status.tooltip.live" }}
- rel="tooltip">
- {{view.service.liveDataNodes.length}} {{t dashboard.services.hdfs.nodes.live}}
- </p>
- <p {{translateAttr data-original-title="dashboard.services.hdfs.datanode.status.tooltip.dead" }}
- rel="tooltip">
- {{view.service.deadDataNodes.length}} {{t dashboard.services.hdfs.nodes.dead}}
- </p>
- <p {{translateAttr data-original-title="dashboard.services.hdfs.datanode.status.tooltip.decommission" }}
- rel="tooltip">
- {{view.service.decommissionDataNodes.length}} {{t dashboard.services.hdfs.nodes.decom}}
- </p>
- </div>
- {{/if}}
- </div>
- <div class="summary-label">{{t dashboard.services.hdfs.datanodecounts}}</div>
- </div>
{{! JournalNodes }}
{{#if view.isJournalNodeCreated}}
<div {{bindAttr class=":row :component :col-md-3 view.journalNodeComponent.componentName"}}>
@@ -121,6 +95,59 @@
</div>
</div>
{{/if}}
+ {{! indent next row}}
+ <div class="row"></div>
+ {{! Data Node Counts live }}
+ <div class="row datanode-count-live col-md-3">
+ <div class="summary-value">
+ {{#if view.service.metricsNotAvailable}}
+ <div class="main-info">
+ {{t services.service.summary.notAvailable}}
+ </div>
+ {{else}}
+ <span class="main-info" rel="tooltip"
+ {{translateAttr data-original-title="dashboard.services.hdfs.datanode.status.tooltip.live" }}>
+ {{view.service.liveDataNodes.length}}
+ </span>
+ <div class="info-desc">{{t dashboard.services.hdfs.nodes.live}}</div>
+ {{/if}}
+ </div>
+ <div class="summary-label">{{t dashboard.services.hdfs.datanodecounts}}</div>
+ </div>
+ {{! Data Node Counts dead }}
+ <div class="row datanode-count-dead col-md-3">
+ <div class="summary-value">
+ {{#if view.service.metricsNotAvailable}}
+ <div class="main-info">
+ {{t services.service.summary.notAvailable}}
+ </div>
+ {{else}}
+ <span class="main-info" rel="tooltip"
+ {{translateAttr data-original-title="dashboard.services.hdfs.datanode.status.tooltip.dead" }}>
+ {{view.service.deadDataNodes.length}}
+ </span>
+ <div class="info-desc">{{t dashboard.services.hdfs.nodes.dead}}</div>
+ {{/if}}
+ </div>
+ <div class="summary-label">{{t dashboard.services.hdfs.datanodecounts}}</div>
+ </div>
+ {{! Data Node Counts decommission }}
+ <div class="row datanode-count-decommission col-md-3">
+ <div class="summary-value">
+ {{#if view.service.metricsNotAvailable}}
+ <div class="main-info">
+ {{t services.service.summary.notAvailable}}
+ </div>
+ {{else}}
+ <span class="main-info" rel="tooltip"
+ {{translateAttr data-original-title="dashboard.services.hdfs.datanode.status.tooltip.decommission" }}>
+ {{view.service.decommissionDataNodes.length}}
+ </span>
+ <div class="info-desc">{{t dashboard.services.hdfs.nodes.decom}}</div>
+ {{/if}}
+ </div>
+ <div class="summary-label">{{t dashboard.services.hdfs.datanodecounts}}</div>
+ </div>
</div>
</div>
{{! left column end }}
@@ -156,21 +183,34 @@
<div class="summary-value main-info">{{view.dfsTotalBlocks}}</div>
<div class="summary-label">{{t services.service.summary.blocksTotal}}</div>
</div>
- {{! Block Errors }}
- <div class="row block-errors col-md-3 summary-value">
- <div class="main-info">
- <p>
- {{view.dfsCorruptBlocks}} {{t dashboard.services.hdfs.blockErrors.corrupt}}
- </p>
- <p>
- {{view.dfsMissingBlocks}} {{t dashboard.services.hdfs.blockErrors.missing}}
- </p>
- <p>
- {{view.dfsUnderReplicatedBlocks}} {{t dashboard.services.hdfs.blockErrors.replicated}}
- </p>
+ {{! indent next row}}
+ <div class="row"></div>
+ {{! Block Errors corrupt }}
+ <div class="row block-errors-corrupt col-md-3">
+ <div class="summary-value main-info">
+ <div class="main-info">{{view.dfsCorruptBlocks}}</div>
+ <div class="info-desc">{{t dashboard.services.hdfs.blockErrors.corrupt}}</div>
+ </div>
+ <div class="summary-label">{{t services.service.summary.blockErrors}}</div>
+ </div>
+ {{! Block Errors missing }}
+ <div class="row block-errors-missing col-md-3">
+ <div class="summary-value main-info">
+ <div class="main-info">{{view.dfsMissingBlocks}}</div>
+ <div class="info-desc">{{t dashboard.services.hdfs.blockErrors.missing}}</div>
+ </div>
+ <div class="summary-label">{{t services.service.summary.blockErrors}}</div>
+ </div>
+ {{! Block Errors replicated }}
+ <div class="row block-errors-replicated col-md-3">
+ <div class="summary-value main-info">
+ <div class="main-info">{{view.dfsUnderReplicatedBlocks}}</div>
+ <div class="info-desc">{{t dashboard.services.hdfs.blockErrors.replicated}}</div>
</div>
<div class="summary-label">{{t services.service.summary.blockErrors}}</div>
</div>
+ {{! indent next row}}
+ <div class="row"></div>
{{! Total Files And Directories }}
<div class="row total-files-dirs col-md-3">
<div class="summary-value main-info">{{view.dfsTotalFiles}}</div>
http://git-wip-us.apache.org/repos/asf/ambari/blob/0041ab25/ambari-web/app/templates/main/service/services/yarn.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/service/services/yarn.hbs b/ambari-web/app/templates/main/service/services/yarn.hbs
index aa8ee48..86182a9 100644
--- a/ambari-web/app/templates/main/service/services/yarn.hbs
+++ b/ambari-web/app/templates/main/service/services/yarn.hbs
@@ -52,41 +52,67 @@
</a>
</div>
</div>
+ {{! indent next row}}
+ <div class="row"></div>
{{! ResourceManager Uptime }}
<div class="row col-md-3 resourcemanager-uptime">
<div class="summary-value main-info">{{view.nodeUptime}}</div>
<div class="summary-label">{{t dashboard.services.yarn.resourceManager.uptime}}</div>
</div>
- {{! NodeManagers status }}
- <div class="row col-md-3 nodemanager-status">
- <div class="summary-value">
- <div class="main-info">
- <span {{translateAttr data-original-title="dashboard.services.yarn.nodeManagers.status.tooltip.active"}}
- rel="tooltip">
- {{view._nmActive}} </span> /
- <span {{translateAttr data-original-title="dashboard.services.yarn.nodeManagers.status.tooltip.lost"}}
- rel="tooltip">
- {{view._nmLost}} </span> /
- <span {{translateAttr data-original-title="dashboard.services.yarn.nodeManagers.status.tooltip.unhealthy"}}
- rel="tooltip">
- {{view._nmUnhealthy}} </span> /
- <span {{translateAttr data-original-title="dashboard.services.yarn.nodeManagers.status.tooltip.rebooted"}}
- rel="tooltip">
- {{view._nmRebooted}} </span> /
- <span {{translateAttr data-original-title="dashboard.services.yarn.nodeManagers.status.tooltip.decommissioned"}}
- rel="tooltip">
- {{view._nmDecom}} </span>
- </div>
- <div class="info-desc">
- <span {{t dashboard.services.yarn.nodeManagers.status.active}} </span> /
- <span {{t dashboard.services.yarn.nodeManagers.status.lost}} </span> /
- <span {{t dashboard.services.yarn.nodeManagers.status.unhealthy}} </span> /
- <span {{t dashboard.services.yarn.nodeManagers.status.rebooted}} </span> /
- <span {{t dashboard.services.yarn.nodeManagers.status.decommissioned}} </span>
- </div>
- </div>
+ {{! indent next row}}
+ <div class="row"></div>
+ {{! NodeManagers active }}
+ <div class="row col-md-3 nodemanager-active">
+ <span class="summary-value main-info"
+ {{translateAttr data-original-title="dashboard.services.yarn.nodeManagers.status.tooltip.active"}}
+ rel="tooltip">
+ {{view._nmActive}}
+ </span>
+ <div class="info-desc">{{t dashboard.services.yarn.nodeManagers.status.active}}</div>
+ <div class="summary-label">{{t dashboard.services.yarn.nodeManagers.status}}</div>
+ </div>
+ {{! NodeManagers lost }}
+ <div class="row col-md-3 nodemanager-lost">
+ <span class="summary-value main-info"
+ {{translateAttr data-original-title="dashboard.services.yarn.nodeManagers.status.tooltip.lost"}}
+ rel="tooltip">
+ {{view._nmLost}}
+ </span>
+ <div class="info-desc">{{t dashboard.services.yarn.nodeManagers.status.lost}}</div>
+ <div class="summary-label">{{t dashboard.services.yarn.nodeManagers.status}}</div>
+ </div>
+ {{! NodeManagers unhealthy }}
+ <div class="row col-md-3 nodemanager-unhealthy">
+ <span class="summary-value main-info"
+ {{translateAttr data-original-title="dashboard.services.yarn.nodeManagers.status.tooltip.unhealthy"}}
+ rel="tooltip">
+ {{view._nmUnhealthy}}
+ </span>
+ <div class="info-desc">{{t dashboard.services.yarn.nodeManagers.status.unhealthy}}</div>
+ <div class="summary-label">{{t dashboard.services.yarn.nodeManagers.status}}</div>
+ </div>
+ {{! NodeManagers rebooted }}
+ <div class="row col-md-3 nodemanager-rebooted">
+ <span class="summary-value main-info"
+ {{translateAttr data-original-title="dashboard.services.yarn.nodeManagers.status.tooltip.rebooted"}}
+ rel="tooltip">
+ {{view._nmRebooted}}
+ </span>
+ <div class="info-desc">{{t dashboard.services.yarn.nodeManagers.status.rebooted}}</div>
+ <div class="summary-label">{{t dashboard.services.yarn.nodeManagers.status}}</div>
+ </div>
+ {{! NodeManagers decommissioned }}
+ <div class="row col-md-3 nodemanager-decommissioned">
+ <span class="summary-value main-info"
+ {{translateAttr data-original-title="dashboard.services.yarn.nodeManagers.status.tooltip.decommissioned"}}
+ rel="tooltip">
+ {{view._nmDecom}}
+ </span>
+ <div class="info-desc">{{t dashboard.services.yarn.nodeManagers.status.decommissioned}}</div>
<div class="summary-label">{{t dashboard.services.yarn.nodeManagers.status}}</div>
</div>
+ {{! indent next row}}
+ <div class="row"></div>
{{! ResourceManager Heap }}
<div class="row col-md-3 resourcemanager-heap">
<div class="summary-value main-info">{{view.nodeHeap}}</div>
@@ -99,30 +125,108 @@
<div class="col-md-12 metrics-summary">
<div class="col-md-2">{{t dashboard.services.hdfs.summary.service-metrics}}</div>
<div class="col-md-10">
- {{! Containers }}
- <div class="row col-md-3 yarn-containers">
+ {{! Containers allocated }}
+ <div class="row col-md-3 yarn-containers-allocated">
<div class="summary-value">
- <div class="main-info">{{view.containers}}</div>
- <div class="info-desc">{{t dashboard.services.yarn.containers.msgDesc}}</div>
+ <div class="main-info">{{view._allocated}}</div>
+ <div class="info-desc">{{t dashboard.services.yarn.containers.allocated}}</div>
</div>
<div class="summary-label">{{t dashboard.services.yarn.containers}}</div>
</div>
- {{! Applications }}
- <div class="row col-md-3 yarn-applications">
+ {{! Containers pending }}
+ <div class="row col-md-3 yarn-containers-pending">
+ <div class="summary-value">
+ <div class="main-info">{{view._pending}}</div>
+ <div class="info-desc">{{t dashboard.services.yarn.containers.pending}}</div>
+ </div>
+ <div class="summary-label">{{t dashboard.services.yarn.containers}}</div>
+ </div>
+ {{! Containers reserved }}
+ <div class="row col-md-3 yarn-containers-reserved">
+ <div class="summary-value">
+ <div class="main-info">{{view._reserved}}</div>
+ <div class="info-desc">{{t dashboard.services.yarn.containers.reserved}}</div>
+ </div>
+ <div class="summary-label">{{t dashboard.services.yarn.containers}}</div>
+ </div>
+ {{! indent next row}}
+ <div class="row"></div>
+ {{! Applications submitted }}
+ <div class="row col-md-3 yarn-applications-submitted">
+ <div class="summary-value">
+ <div class="main-info">{{view._appsSubmitted}}</div>
+ <div class="info-desc">{{t dashboard.services.yarn.apps.submitted}}</div>
+ </div>
+ <div class="summary-label">{{t dashboard.services.yarn.apps}}</div>
+ </div>
+ {{! Applications running }}
+ <div class="row col-md-3 yarn-applications-running">
<div class="summary-value">
- <div class="main-info">{{view.apps}}</div>
- <div class="info-desc">{{t dashboard.services.yarn.apps.msgDesc}}</div>
+ <div class="main-info">{{view._appsRunning}}</div>
+ <div class="info-desc">{{t dashboard.services.yarn.apps.running}}</div>
</div>
<div class="summary-label">{{t dashboard.services.yarn.apps}}</div>
</div>
- {{! Memory }}
- <div class="row col-md-3 yarn-memory">
+ {{! Applications pending }}
+ <div class="row col-md-3 yarn-applications-pending">
+ <div class="summary-value">
+ <div class="main-info">{{view._appsPending}}</div>
+ <div class="info-desc">{{t dashboard.services.yarn.apps.pending}}</div>
+ </div>
+ <div class="summary-label">{{t dashboard.services.yarn.apps}}</div>
+ </div>
+ {{! Applications completed }}
+ <div class="row col-md-3 yarn-applications-completed">
+ <div class="summary-value">
+ <div class="main-info">{{view._appsCompleted}}</div>
+ <div class="info-desc">{{t dashboard.services.yarn.apps.completed}}</div>
+ </div>
+ <div class="summary-label">{{t dashboard.services.yarn.apps}}</div>
+ </div>
+ {{! Applications killed }}
+ <div class="row col-md-3 yarn-applications-killed">
+ <div class="summary-value">
+ <div class="main-info">{{view._appsKilled}}</div>
+ <div class="info-desc">{{t dashboard.services.yarn.apps.killed}}</div>
+ </div>
+ <div class="summary-label">{{t dashboard.services.yarn.apps}}</div>
+ </div>
+ {{! Applications failed }}
+ <div class="row col-md-3 yarn-applications-failed">
+ <div class="summary-value">
+ <div class="main-info">{{view._appsFailed}}</div>
+ <div class="info-desc">{{t dashboard.services.yarn.apps.failed}}</div>
+ </div>
+ <div class="summary-label">{{t dashboard.services.yarn.apps}}</div>
+ </div>
+ {{! indent next row}}
+ <div class="row"></div>
+ {{! Memory allocated }}
+ <div class="row col-md-3 yarn-memory-allocated">
+ <div class="summary-value">
+ <div class="main-info">{{view.allocatedMemoryFormatted}}</div>
+ <div class="info-desc">{{t dashboard.services.yarn.memory.used}}</div>
+ </div>
+ <div class="summary-label">{{t dashboard.services.yarn.memory}}</div>
+ </div>
+ {{! Memory reserved }}
+ <div class="row col-md-3 yarn-memory-reserved">
+ <div class="summary-value">
+ <div class="main-info">{{view.reservedMemoryFormatted}}</div>
+ <div class="info-desc">{{t dashboard.services.yarn.memory.reserved}}</div>
+ </div>
+ <div class="summary-label">{{t dashboard.services.yarn.memory}}</div>
+ </div>
+ {{! Memory available }}
+ <div class="row col-md-3 yarn-memory-available">
<div class="summary-value">
- <div class="main-info">{{view.memory}}</div>
- <div class="info-desc">{{t dashboard.services.yarn.memory.msgDesc}}</div>
+ <div class="main-info">{{view.availableMemoryFormatted}}</div>
+ <div class="info-desc">{{t dashboard.services.yarn.memory.available}}</div>
</div>
<div class="summary-label">{{t dashboard.services.yarn.memory}}</div>
</div>
+ {{! indent next row}}
+ <div class="row"></div>
{{! Queues }}
<div class="row col-md-3 yarn-queues">
<div class="summary-value main-info">
http://git-wip-us.apache.org/repos/asf/ambari/blob/0041ab25/ambari-web/app/views/main/service/services/yarn.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/service/services/yarn.js b/ambari-web/app/views/main/service/services/yarn.js
index 3533585..3c5c7a3 100644
--- a/ambari-web/app/views/main/service/services/yarn.js
+++ b/ambari-web/app/views/main/service/services/yarn.js
@@ -60,7 +60,6 @@ App.MainDashboardServiceYARNView = App.MainDashboardServiceView.extend({
_allocated: Em.computed.formatUnavailable('service.containersAllocated'),
_pending: Em.computed.formatUnavailable('service.containersPending'),
_reserved: Em.computed.formatUnavailable('service.containersReserved'),
- containers: Em.computed.i18nFormat('dashboard.services.yarn.containers.msg', '_allocated', '_pending', '_reserved'),
_appsSubmitted: Em.computed.formatUnavailable('service.appsSubmitted'),
_appsRunning: Em.computed.formatUnavailable('service.appsRunning'),
@@ -68,14 +67,18 @@ App.MainDashboardServiceYARNView = App.MainDashboardServiceView.extend({
_appsCompleted: Em.computed.formatUnavailable('service.appsCompleted'),
_appsKilled: Em.computed.formatUnavailable('service.appsKilled'),
_appsFailed: Em.computed.formatUnavailable('service.appsFailed'),
- apps: Em.computed.i18nFormat('dashboard.services.yarn.apps.msg', '_appsSubmitted', '_appsRunning', '_appsPending', '_appsCompleted', '_appsKilled', '_appsFailed'),
-
- memory: function () {
- return Em.I18n.t('dashboard.services.yarn.memory.msg').format(
- numberUtils.bytesToSize(this.get('service.allocatedMemory'), 1, 'parseFloat', 1024 * 1024),
- numberUtils.bytesToSize(this.get('service.reservedMemory'), 1, 'parseFloat', 1024 * 1024),
- numberUtils.bytesToSize(this.get('service.availableMemory'), 1, 'parseFloat', 1024 * 1024));
- }.property('service.allocatedMemory', 'service.reservedMemory', 'service.availableMemory'),
+
+ allocatedMemoryFormatted: function() {
+ return numberUtils.bytesToSize(this.get('service.allocatedMemory'), 1, 'parseFloat', 1024 * 1024);
+ }.property('service.allocatedMemory'),
+
+ reservedMemoryFormatted: function() {
+ return numberUtils.bytesToSize(this.get('service.reservedMemory'), 1, 'parseFloat', 1024 * 1024);
+ }.property('service.reservedMemory'),
+
+ availableMemoryFormatted: function() {
+ return numberUtils.bytesToSize(this.get('service.availableMemory'), 1, 'parseFloat', 1024 * 1024);
+ }.property('service.availableMemory'),
_queuesCountFormatted: Em.computed.formatUnavailable('service.queuesCount'),
queues: Em.computed.i18nFormat('dashboard.services.yarn.queues.msg', '_queuesCountFormatted'),
http://git-wip-us.apache.org/repos/asf/ambari/blob/0041ab25/ambari-web/test/views/main/service/services/yarn_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/views/main/service/services/yarn_test.js b/ambari-web/test/views/main/service/services/yarn_test.js
index d422d47..01b3d92 100644
--- a/ambari-web/test/views/main/service/services/yarn_test.js
+++ b/ambari-web/test/views/main/service/services/yarn_test.js
@@ -94,28 +94,6 @@ describe('App.MainDashboardServiceYARNView', function () {
});
});
- describe("#memory", function() {
-
- beforeEach(function() {
- sinon.stub(numberUtils, 'bytesToSize', function(arg1) {
- return arg1;
- })
- });
- afterEach(function() {
- numberUtils.bytesToSize.restore();
- });
-
- it("should return formatted memory", function() {
- view.set('service', Em.Object.create({
- allocatedMemory: 1,
- reservedMemory: 2,
- availableMemory: 3
- }));
- view.propertyDidChange('memory');
- expect(view.get('memory')).to.be.equal(Em.I18n.t('dashboard.services.yarn.memory.msg').format(1,2,3));
- });
- });
-
describe("#didInsertElement()", function() {
beforeEach(function() {