diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Resource.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Resource.java index 83e1c5fe09b..b91658f759c 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Resource.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Resource.java @@ -31,6 +31,7 @@ import org.apache.hadoop.classification.InterfaceStability; import org.apache.hadoop.classification.InterfaceStability.Evolving; import org.apache.hadoop.classification.InterfaceStability.Stable; import org.apache.hadoop.classification.InterfaceStability.Unstable; +import org.apache.hadoop.util.StringUtils; import org.apache.hadoop.yarn.api.ApplicationMasterProtocol; import org.apache.hadoop.yarn.api.protocolrecords.ResourceTypes; import org.apache.hadoop.yarn.api.records.impl.LightWeightResource; @@ -465,9 +466,13 @@ public abstract class Resource implements Comparable { @Override public String toString() { + return getFormattedString(String.valueOf(getMemorySize())); + } + + private String getFormattedString(String memory) { StringBuilder sb = new StringBuilder(); - sb.append(" { return sb.toString(); } + /** + * This method is to get memory in terms of KB|MB|GB. + * @return string containing all resources + */ + public String getFormattedString() { + return getFormattedString( + StringUtils.byteDesc(getMemorySize() * 1024 * 1024)); + } + @Override public int hashCode() { final int prime = 47; 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 97e43e636ca..009a012e3bc 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 @@ -83,13 +83,13 @@ public class MetricsOverviewTable extends HtmlBlock { } else { allocatedContainers = clusterMetrics.getContainersAllocated(); usedResources = Resource.newInstance( - clusterMetrics.getAllocatedMB() * BYTES_IN_MB, + clusterMetrics.getAllocatedMB(), (int) clusterMetrics.getAllocatedVirtualCores()); totalResources = Resource.newInstance( - clusterMetrics.getTotalMB() * BYTES_IN_MB, + clusterMetrics.getTotalMB(), (int) clusterMetrics.getTotalVirtualCores()); reservedResources = Resource.newInstance( - clusterMetrics.getReservedMB() * BYTES_IN_MB, + clusterMetrics.getReservedMB(), (int) clusterMetrics.getReservedVirtualCores()); } @@ -121,9 +121,9 @@ public class MetricsOverviewTable extends HtmlBlock { ) ). td(String.valueOf(allocatedContainers)). - td(usedResources.toString()). - td(totalResources.toString()). - td(reservedResources.toString()). + td(usedResources.getFormattedString()). + td(totalResources.getFormattedString()). + td(reservedResources.getFormattedString()). td(String.valueOf(clusterMetrics.getUtilizedMBPercent())). td(String.valueOf(clusterMetrics.getUtilizedVirtualCoresPercent())). __().