From 74bb2d6ae7314f4227f654c9cc977cd3777ef71d Mon Sep 17 00:00:00 2001 From: Sunil G Date: Tue, 22 Aug 2017 16:59:29 +0530 Subject: [PATCH] YARN-7067. [YARN-3926] Optimize ResourceType information display in UI. Contributed by Wangda Tan. (cherry picked from commit a333ba54e3f5a1ca57b0fc94bfd008f3cbd5b14b) Conflicts: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/MetricsOverviewTable.java --- .../hadoop/yarn/api/records/ResourceTypeInfo.java | 7 +++++-- .../resourcemanager/webapp/MetricsOverviewTable.java | 11 ++++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ResourceTypeInfo.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ResourceTypeInfo.java index 6cb470caf1d..d85cf0cd29d 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ResourceTypeInfo.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ResourceTypeInfo.java @@ -153,8 +153,11 @@ public abstract class ResourceTypeInfo implements Comparable { @Override public String toString() { - return "name: " + this.getName() + ", units: " + this.getDefaultUnit() - + ", type: " + getResourceType(); + StringBuilder sb = new StringBuilder(); + sb.append(""); + return sb.toString(); } @Override diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/MetricsOverviewTable.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/MetricsOverviewTable.java index fe7b2470044..aebac0cf4a4 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/MetricsOverviewTable.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/MetricsOverviewTable.java @@ -19,17 +19,21 @@ package org.apache.hadoop.yarn.server.resourcemanager.webapp; import org.apache.hadoop.util.StringUtils; +import org.apache.hadoop.yarn.api.records.ResourceTypeInfo; import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager; import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.ClusterMetricsInfo; import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.SchedulerInfo; import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.UserMetricsInfo; +import org.apache.hadoop.yarn.util.resource.ResourceUtils; import org.apache.hadoop.yarn.webapp.hamlet.Hamlet; import org.apache.hadoop.yarn.webapp.hamlet.Hamlet.DIV; import org.apache.hadoop.yarn.webapp.view.HtmlBlock; import com.google.inject.Inject; +import java.util.Arrays; + /** * Provides an table with an overview of many cluster wide metrics and if * per user metrics are enabled it will show an overview of what the @@ -168,8 +172,8 @@ public class MetricsOverviewTable extends HtmlBlock { } } - - SchedulerInfo schedulerInfo=new SchedulerInfo(this.rm); + + SchedulerInfo schedulerInfo = new SchedulerInfo(this.rm); div.h3("Scheduler Metrics"). table("#schedulermetricsoverview"). @@ -186,7 +190,8 @@ public class MetricsOverviewTable extends HtmlBlock { tbody().$class("ui-widget-content"). tr(). td(String.valueOf(schedulerInfo.getSchedulerType())). - td(String.valueOf(schedulerInfo.getSchedulerResourceTypes())). + td(String.valueOf(Arrays.toString(ResourceUtils.getResourcesTypeInfo() + .toArray(new ResourceTypeInfo[0])))). td(schedulerInfo.getMinAllocation().toString()). td(schedulerInfo.getMaxAllocation().toString()). td(String.valueOf(schedulerInfo.getMaxClusterLevelAppPriority())).