YARN-7067. [YARN-3926] Optimize ResourceType information display in UI. Contributed by Wangda Tan.

(cherry picked from commit a333ba54e3)

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
This commit is contained in:
Sunil G 2017-08-22 16:59:29 +05:30 committed by Jonathan Hung
parent 1f05fa041a
commit 74bb2d6ae7
2 changed files with 13 additions and 5 deletions

View File

@ -153,8 +153,11 @@ public abstract class ResourceTypeInfo implements Comparable<ResourceTypeInfo> {
@Override
public String toString() {
return "name: " + this.getName() + ", units: " + this.getDefaultUnit()
+ ", type: " + getResourceType();
StringBuilder sb = new StringBuilder();
sb.append("<name=").append(this.getName()).append(" default-unit=").append(
this.getDefaultUnit()).append(" type=" + getResourceType()).append(
">");
return sb.toString();
}
@Override

View File

@ -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())).