.th(".progress", "Progress") .th(".ui", "Tracking UI") .__().__().tbody();
th("Start Time"). th("Finish Time"). th("Elapsed Time").__().__(). tbody(); StringBuilder tasksTableData = new StringBuilder("[\n");
"Nodes blacklisted by the app") .th(".rmBlacklistednodes", "Nodes blacklisted by the RM for the" + " app", "Nodes blacklisted by the system").__().__().tbody();
th(_TH, "Log Aggregation Status"). th(_TH, "Description"). __(); table_description.tr().td(LogAggregationStatus.DISABLED.name()) .td("Log Aggregation is Disabled.").__(); table_description.tr().td(LogAggregationStatus.NOT_START.name()) .td("Log Aggregation does not Start.").__(); table_description.tr().td(LogAggregationStatus.RUNNING.name()) .td("Log Aggregation is Running.").__(); table_description.tr().td(LogAggregationStatus.RUNNING_WITH_FAILURE.name()) .td("Log Aggregation is Running, but has failures " + "in previous cycles").__(); table_description.tr().td(LogAggregationStatus.SUCCEEDED.name()) .td("Log Aggregation is Succeeded. All of the logs have been " + "aggregated successfully.").__(); table_description.tr().td(LogAggregationStatus.FAILED.name()) .td("Log Aggregation is Failed. At least one of the logs " + "have not been aggregated.").__(); table_description.tr().td(LogAggregationStatus.TIME_OUT.name()) .td("The application is finished, but the log aggregation status is " + "not updated for a long time. Not sure whether the log aggregation " + "is finished or not.").__(); table_description.__(); div_description.__(); + maxLogAggregationDiagnosticsInMemory + " Diagnostic Messages") .th(_TH, "Last " + maxLogAggregationDiagnosticsInMemory + " Failure Messages").__();
.__("Total Fulfilled Reservations(count)").__().th() .$class("ui-state-default").__("Total Container Preemptions(count)") .__().__().__().tbody(); tbody .$class("ui-widget-content") .getAggegatedReleasedContainers())) .td(healthInfo.getAggregateFulFilledReservationsCount().toString()) .td(healthInfo.getAggregatePreemptionCount().toString()).__().__().__(); div.h4("Last scheduler run"); tbody = .th().$class("ui-state-default").__("Reservations(count - resources)") .__().th().$class("ui-state-default").__("Releases(count - resources)") .__().__().__().tbody(); tbody .$class("ui-widget-content") .td( healthInfo.getReleaseCount().toString() + " - " + healthInfo.getResourcesReleased().toString()).__().__().__(); Map<String, SchedulerHealth.DetailedInformation> info = new HashMap<>(); info.put("Allocation", healthInfo.getLastAllocationDetails()); .$class("ui-state-default").__("Container Id").__().th() .$class("ui-state-default").__("Node Id").__().th() .$class("ui-state-default").__("Queue").__().__().__().tbody(); SchedulerHealth.DetailedInformation di = entry.getValue(); if (di.getTimestamp() != 0) {
tr(). th(".group.ui-state-default", "Counter Group"). th(".ui-state-default", "Counters").__().__(). tbody(); for (CounterGroup g : total) { th(map == null ? "Value" : "Total").__().__(). tbody(); for (Counter counter : g) { td(rc == null ? "0" : String.format("%,d", rc.getValue())); groupRow.td(String.format("%,d", counter.getValue())).__(); group.__().__().__().__();
.th(".executiontype", "ExecutionType") .th(".allocationTags", "AllocationTags") .th(".placementConstraint", "PlacementConstraint").__().__().tbody();
th(_TH, "value"). th(_TH, "source chain"). __(). __(). tbody(); td(entry.getValue()). td(buffer.toString()). __(); th().input("search_init").$type(InputType.text).$name("value").$value("value").__().__(). th().input("search_init").$type(InputType.text).$name("source chain").$value("source chain").__().__(). __(). __(). __();
table("#t1"). thead(). tr().th("Column1").th("Column2").__().__(). tbody(). tr().td("c1r1").td("c2r1").__(). tr().td("c1r2").td("c2r2").__().__().__(). h2("Nested tables"). div(_INFO_WRAP). table("#t2"). thead(). tr().th(_TH, "Column1").th(_TH, "Column2").__().__(). tbody(). tr().td("r1"). // th wouldn't work as of dt 1.7.5 table("#t3"). thead(). tr().th("SubColumn1").th("SubColumn2").__().__(). tbody(). tr().td("subc1r1").td("subc2r1").__(). tr().td("subc1r2").td("subc2r2").__().__().__().__().__(). tr().td("r2"). // ditto td().$class(C_TABLE). table("#t4"). thead(). tr().th("SubColumn1").th("SubColumn2").__().__(). tbody(). tr().td("subc1r1").td("subc2r1").__(). tr().td("subc1r2").td("subc2r2").__(). __().__().__().__().__().__().__().__().__();
.$class("ui-state-default").__("Used AM Resource").__().th() .$class("ui-state-default").__("Schedulable Apps").__().th() .$class("ui-state-default").__("Non-Schedulable Apps").__().__().__() .tbody(); .td(amUsed.toString()) .td(Integer.toString(userInfo.getNumActiveApplications())) .td(Integer.toString(userInfo.getNumPendingApplications())).__();
th("Reduce Progress"). th("Reduces Total"). th("Reduces Completed").__().__(). tbody(); for (Job j : appContext.getAllJobs().values()) { $style(join("width:", job.getReduceProgressPercent(), '%')).__().__().__(). td(String.valueOf(job.getReducesTotal())). td(String.valueOf(job.getReducesCompleted())).__();
.tr().td() .a(url("container", containerIdStr), containerIdStr) .__().__();
@Override protected void render(Block html) { TBODY<TABLE<BODY<Hamlet>>> tableBody = html.body() .table("#containers") .thead() .tr() .td().__("ContainerId").__() .td().__("ExecutionType").__() .td().__("ContainerState").__() .td().__("logs").__() .__() .__().tbody(); for (Entry<ContainerId, Container> entry : this.nmContext .getContainers().entrySet()) { ContainerInfo info = new ContainerInfo(this.nmContext, entry.getValue()); tableBody .tr() .td().a(url("container", info.getId()), info.getId()) .__() .td().__(info.getExecutionType()).__() .td().__(info.getState()).__() .td() .a(url(info.getShortLogLink()), "logs").__() .__(); } tableBody.__().__().__(); }
@Override protected void render(Block html) { TBODY<TABLE<BODY<Hamlet>>> tableBody = html .body() .table("#applications") .thead() .tr() .td().__("ApplicationId").__() .td().__("ApplicationState").__() .__() .__() .tbody(); for (Entry<ApplicationId, Application> entry : this.nmContext .getApplications().entrySet()) { AppInfo info = new AppInfo(entry.getValue()); tableBody .tr() .td().a(url("application", info.getId()), info.getId()).__() .td().__(info.getState()) .__() .__(); } tableBody.__().__().__(); } }