blob: 57352e8c3461439cc34f3a1202b55ce505eb43f8 [file] [log] [blame]
<%@ page
contentType="text/html; charset=UTF-8"
import="javax.servlet.*"
import="javax.servlet.http.*"
import="java.io.*"
import="java.util.*"
import="org.apache.hadoop.mapred.*"
import="org.apache.hadoop.util.*"
import="java.lang.Integer"
%>
<%
String jobid = request.getParameter("jobid");
String type = request.getParameter("type");
String pagenum = request.getParameter("pagenum");
int pnum = Integer.parseInt(pagenum);
int next_page = pnum+1;
int numperpage = 2000;
JobTracker tracker = JobTracker.getTracker();
String trackerLabel =
StringUtils.simpleHostname(tracker.getJobTrackerMachine());
JobInProgress job = (JobInProgress) tracker.getJob(jobid);
JobProfile profile = (job != null) ? (job.getProfile()) : null;
JobStatus status = (job != null) ? (job.getStatus()) : null;
TaskReport[] reports = null;
int start_index = (pnum - 1) * numperpage;
int end_index = start_index + numperpage;
int report_len = 0;
if ("map".equals(type)){
reports = (job != null) ? tracker.getMapTaskReports(jobid) : null;
}
else{
reports = (job != null) ? tracker.getReduceTaskReports(jobid) : null;
}
%>
<html>
<title>Hadoop <%=type%> task list for <%=jobid%> on <%=trackerLabel%></title>
<body>
<h1>Hadoop <%=type%> task list for
<a href="/jobdetails.jsp?jobid=<%=jobid%>"><%=jobid%></a> on
<a href="/jobtracker.jsp"><%=trackerLabel%></a></h1>
<%
if (job == null) {
out.print("<b>Job " + jobid + " not found.</b><br>\n");
return;
}
report_len = reports.length;
if (report_len <= start_index) {
out.print("<b>No such tasks</b>");
} else {
out.print("<hr>");
out.print("<h2>Tasks</h2>");
out.print("<center>");
out.print("<table border=2 cellpadding=\"5\" cellspacing=\"2\">");
out.print("<tr><td align=\"center\">Task</td><td>Complete</td><td>Status</td><td>Errors</td></tr>");
if (end_index > report_len){
end_index = report_len;
}
for (int i = start_index ; i < end_index; i++) {
TaskReport report = reports[i];
out.print("<tr><td><a href=\"taskdetails.jsp?jobid=" + jobid +
"&taskid=" + report.getTaskId() + "\">" +
report.getTaskId() + "</a></td>");
out.print("<td>" + report.getProgress() + "</td>");
out.print("<td>" + report.getState() + "</td>");
String[] diagnostics = report.getDiagnostics();
for (int j = 0; j < diagnostics.length ; j++) {
out.print("<td><pre>" + diagnostics[j] + "</pre></td>");
}
out.print("</tr>\n");
}
out.print("</table>");
out.print("</center>");
}
if (end_index < report_len) {
out.print("<div style=\"text-align:right\">" +
"<a href=\"/jobtasks.jsp?jobid="+ jobid + "&type=" + type +
"&pagenum=" + next_page +
"\">" + "Next" + "</a></div>");
}
if (start_index != 0) {
out.print("<div style=\"text-align:right\">" +
"<a href=\"/jobtasks.jsp?jobid="+ jobid + "&type=" + type +
"&pagenum=" + (pnum -1) + "\">" + "Prev" + "</a></div>");
}
%>
<hr>
<a href="/jobtracker.jsp">Go back to JobTracker</a><br>
<a href="http://lucene.apache.org/hadoop">Hadoop</a>, 2006.<br>
</body>
</html>