div = html.div(_INFO_WRAP);
+ TABLE> table =
+ div.h3("Total Outstanding Resource Requests: "
+ + getTotalResource(app.getResourceRequests())).table(
+ "#ResourceRequests");
+
+ table.tr().
+ th(".priority", "Priority").
+ th(".resourceName", "ResourceName").
+ th(".totalResource", "Capability").
+ th(".numContainers", "NumContainers").
+ th(".relaxLocality", "RelaxLocality").
+ th(".nodeLabelExpression", "NodeLabelExpression").
+ _();
+
if (app.getResourceRequests() != null) {
for (ResourceRequest request : app.getResourceRequests()) {
if (request.getNumContainers() == 0) {
continue;
}
-
- tbody.tr()
+ table.tr()
.td(String.valueOf(request.getPriority()))
.td(request.getResourceName())
.td(String.valueOf(request.getCapability()))
@@ -101,16 +99,29 @@ private void createResourceRequestsTable(Block html) {
.td(String.valueOf(request.getRelaxLocality()))
.td(request.getNodeLabelExpression() == null ? "N/A" : request
.getNodeLabelExpression())._();
- if (request.getResourceName().equals(ResourceRequest.ANY)) {
- Resources.addTo(totalResource,
- Resources.multiply(request.getCapability(),
- request.getNumContainers()));
- }
}
}
- html.div().$class("totalResourceRequests")
- .h3("Total Outstanding Resource Requests: " + totalResource)._();
- tbody._()._();
+ table._();
+ div._();
+ }
+
+ private Resource getTotalResource(List requests) {
+ Resource totalResource = Resource.newInstance(0, 0);
+ if (requests == null) {
+ return totalResource;
+ }
+ for (ResourceRequest request : requests) {
+ if (request.getNumContainers() == 0) {
+ continue;
+ }
+ if (request.getResourceName().equals(ResourceRequest.ANY)) {
+ Resources.addTo(
+ totalResource,
+ Resources.multiply(request.getCapability(),
+ request.getNumContainers()));
+ }
+ }
+ return totalResource;
}
private void createContainerLocalityTable(Block html) {
@@ -241,4 +252,10 @@ protected void generateOverview(ApplicationAttemptReport appAttemptReport,
}
return null;
}
+
+ @Override
+ protected void createTablesForAttemptMetrics(Block html) {
+ createContainerLocalityTable(html);
+ createResourceRequestsTable(html);
+ }
}