YARN-10697. Resources are displayed in bytes in UI for schedulers other than capacity. Contributed by Bilwa S T.
This commit is contained in:
parent
75f2d47ff5
commit
34e507cb8c
|
@ -30,6 +30,7 @@ import org.apache.hadoop.classification.InterfaceAudience.Public;
|
|||
import org.apache.hadoop.classification.InterfaceStability;
|
||||
import org.apache.hadoop.classification.InterfaceStability.Evolving;
|
||||
import org.apache.hadoop.classification.InterfaceStability.Stable;
|
||||
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;
|
||||
|
@ -478,9 +479,13 @@ public abstract class Resource implements Comparable<Resource> {
|
|||
|
||||
@Override
|
||||
public String toString() {
|
||||
return getFormattedString(String.valueOf(getMemorySize()));
|
||||
}
|
||||
|
||||
private String getFormattedString(String memory) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
sb.append("<memory:").append(getMemorySize()).append(", vCores:")
|
||||
sb.append("<memory:").append(memory).append(", vCores:")
|
||||
.append(getVirtualCores());
|
||||
|
||||
for (int i = 2; i < resources.length; i++) {
|
||||
|
@ -498,6 +503,15 @@ public abstract class Resource implements Comparable<Resource> {
|
|||
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;
|
||||
|
|
|
@ -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())).
|
||||
__().
|
||||
|
|
Loading…
Reference in New Issue