|
@@ -19,6 +19,7 @@
|
|
<%
|
|
<%
|
|
String jobid = request.getParameter("jobid");
|
|
String jobid = request.getParameter("jobid");
|
|
String logFile = request.getParameter("logFile");
|
|
String logFile = request.getParameter("logFile");
|
|
|
|
+ String encodedLogFileName = JobHistory.JobInfo.encodeJobHistoryFilePath(logFile);
|
|
String numTasks = request.getParameter("numTasks");
|
|
String numTasks = request.getParameter("numTasks");
|
|
int showTasks = 10 ;
|
|
int showTasks = 10 ;
|
|
if (numTasks != null) {
|
|
if (numTasks != null) {
|
|
@@ -26,7 +27,7 @@
|
|
}
|
|
}
|
|
JobInfo job = (JobInfo)request.getSession().getAttribute("job");
|
|
JobInfo job = (JobInfo)request.getSession().getAttribute("job");
|
|
%>
|
|
%>
|
|
-<h2>Hadoop Job <a href="jobdetailshistory.jsp?jobid=<%=jobid%>&&logFile=<%=logFile %>"><%=jobid %> </a></h2>
|
|
|
|
|
|
+<h2>Hadoop Job <a href="jobdetailshistory.jsp?jobid=<%=jobid%>&&logFile=<%=encodedLogFileName%>"><%=jobid %> </a></h2>
|
|
<b>User : </b> <%=job.get(Keys.USER) %><br/>
|
|
<b>User : </b> <%=job.get(Keys.USER) %><br/>
|
|
<b>JobName : </b> <%=job.get(Keys.JOBNAME) %><br/>
|
|
<b>JobName : </b> <%=job.get(Keys.JOBNAME) %><br/>
|
|
<b>JobConf : </b> <%=job.get(Keys.JOBCONF) %><br/>
|
|
<b>JobConf : </b> <%=job.get(Keys.JOBCONF) %><br/>
|
|
@@ -100,7 +101,7 @@
|
|
%>
|
|
%>
|
|
|
|
|
|
<h3>Time taken by best performing Map task
|
|
<h3>Time taken by best performing Map task
|
|
-<a href="taskdetailshistory.jsp?jobid=<%=jobid%>&logFile=<%=logFile%>&taskid=<%=minMap.get(Keys.TASKID)%>">
|
|
|
|
|
|
+<a href="taskdetailshistory.jsp?jobid=<%=jobid%>&logFile=<%=encodedLogFileName%>&taskid=<%=minMap.get(Keys.TASKID)%>">
|
|
<%=minMap.get(Keys.TASKID) %></a> : <%=StringUtils.formatTimeDiff(minMap.getLong(Keys.FINISH_TIME), minMap.getLong(Keys.START_TIME) ) %></h3>
|
|
<%=minMap.get(Keys.TASKID) %></a> : <%=StringUtils.formatTimeDiff(minMap.getLong(Keys.FINISH_TIME), minMap.getLong(Keys.START_TIME) ) %></h3>
|
|
<h3>Average time taken by Map tasks:
|
|
<h3>Average time taken by Map tasks:
|
|
<%=StringUtils.formatTimeDiff(avgMapTime, 0) %></h3>
|
|
<%=StringUtils.formatTimeDiff(avgMapTime, 0) %></h3>
|
|
@@ -111,7 +112,7 @@
|
|
for (int i=0;i<showTasks && i<mapTasks.length; i++) {
|
|
for (int i=0;i<showTasks && i<mapTasks.length; i++) {
|
|
%>
|
|
%>
|
|
<tr>
|
|
<tr>
|
|
- <td><a href="taskdetailshistory.jsp?jobid=<%=jobid%>&logFile=<%=logFile%>&taskid=<%=mapTasks[i].get(Keys.TASKID)%>">
|
|
|
|
|
|
+ <td><a href="taskdetailshistory.jsp?jobid=<%=jobid%>&logFile=<%=encodedLogFileName%>&taskid=<%=mapTasks[i].get(Keys.TASKID)%>">
|
|
<%=mapTasks[i].get(Keys.TASKID) %></a></td>
|
|
<%=mapTasks[i].get(Keys.TASKID) %></a></td>
|
|
<td><%=StringUtils.formatTimeDiff(mapTasks[i].getLong(Keys.FINISH_TIME), mapTasks[i].getLong(Keys.START_TIME)) %></td>
|
|
<td><%=StringUtils.formatTimeDiff(mapTasks[i].getLong(Keys.FINISH_TIME), mapTasks[i].getLong(Keys.START_TIME)) %></td>
|
|
</tr>
|
|
</tr>
|
|
@@ -133,7 +134,7 @@
|
|
%>
|
|
%>
|
|
|
|
|
|
<h3>The last Map task
|
|
<h3>The last Map task
|
|
-<a href="taskdetailshistory.jsp?jobid=<%=jobid%>&logFile=<%=logFile%>
|
|
|
|
|
|
+<a href="taskdetailshistory.jsp?jobid=<%=jobid%>&logFile=<%=encodedLogFileName%>
|
|
&taskid=<%=lastMap.get(Keys.TASKID)%>"><%=lastMap.get(Keys.TASKID) %></a>
|
|
&taskid=<%=lastMap.get(Keys.TASKID)%>"><%=lastMap.get(Keys.TASKID) %></a>
|
|
finished at (relative to the Job launch time):
|
|
finished at (relative to the Job launch time):
|
|
<%=StringUtils.getFormattedTimeWithDiff(dateFormat,
|
|
<%=StringUtils.getFormattedTimeWithDiff(dateFormat,
|
|
@@ -147,7 +148,7 @@ finished at (relative to the Job launch time):
|
|
JobHistory.Task minShuffle = reduceTasks[reduceTasks.length-1] ;
|
|
JobHistory.Task minShuffle = reduceTasks[reduceTasks.length-1] ;
|
|
%>
|
|
%>
|
|
<h3>Time taken by best performing shuffle
|
|
<h3>Time taken by best performing shuffle
|
|
-<a href="taskdetailshistory.jsp?jobid=<%=jobid%>&logFile=<%=logFile%>
|
|
|
|
|
|
+<a href="taskdetailshistory.jsp?jobid=<%=jobid%>&logFile=<%=encodedLogFileName%>
|
|
&taskid=<%=minShuffle.get(Keys.TASKID)%>"><%=minShuffle.get(Keys.TASKID)%></a> :
|
|
&taskid=<%=minShuffle.get(Keys.TASKID)%>"><%=minShuffle.get(Keys.TASKID)%></a> :
|
|
<%=StringUtils.formatTimeDiff(minShuffle.getLong(Keys.SHUFFLE_FINISHED),
|
|
<%=StringUtils.formatTimeDiff(minShuffle.getLong(Keys.SHUFFLE_FINISHED),
|
|
minShuffle.getLong(Keys.START_TIME) ) %></h3>
|
|
minShuffle.getLong(Keys.START_TIME) ) %></h3>
|
|
@@ -161,7 +162,7 @@ finished at (relative to the Job launch time):
|
|
%>
|
|
%>
|
|
<tr>
|
|
<tr>
|
|
<td><a href="taskdetailshistory.jsp?jobid=<%=jobid%>&logFile=
|
|
<td><a href="taskdetailshistory.jsp?jobid=<%=jobid%>&logFile=
|
|
- <%=logFile%>&taskid=<%=reduceTasks[i].get(Keys.TASKID)%>">
|
|
|
|
|
|
+ <%=encodedLogFileName%>&taskid=<%=reduceTasks[i].get(Keys.TASKID)%>">
|
|
<%=reduceTasks[i].get(Keys.TASKID) %></a></td>
|
|
<%=reduceTasks[i].get(Keys.TASKID) %></a></td>
|
|
<td><%=
|
|
<td><%=
|
|
StringUtils.formatTimeDiff(
|
|
StringUtils.formatTimeDiff(
|
|
@@ -187,7 +188,7 @@ finished at (relative to the Job launch time):
|
|
%>
|
|
%>
|
|
|
|
|
|
<h3>The last Shuffle
|
|
<h3>The last Shuffle
|
|
-<a href="taskdetailshistory.jsp?jobid=<%=jobid%>&logFile=<%=logFile%>
|
|
|
|
|
|
+<a href="taskdetailshistory.jsp?jobid=<%=jobid%>&logFile=<%=encodedLogFileName%>
|
|
&taskid=<%=lastShuffle.get(Keys.TASKID)%>"><%=lastShuffle.get(Keys.TASKID)%>
|
|
&taskid=<%=lastShuffle.get(Keys.TASKID)%>"><%=lastShuffle.get(Keys.TASKID)%>
|
|
</a> finished at (relative to the Job launch time):
|
|
</a> finished at (relative to the Job launch time):
|
|
<%=StringUtils.getFormattedTimeWithDiff(dateFormat,
|
|
<%=StringUtils.getFormattedTimeWithDiff(dateFormat,
|
|
@@ -209,7 +210,7 @@ finished at (relative to the Job launch time):
|
|
%>
|
|
%>
|
|
<hr/>
|
|
<hr/>
|
|
<h3>Time taken by best performing Reduce task :
|
|
<h3>Time taken by best performing Reduce task :
|
|
-<a href="taskdetailshistory.jsp?jobid=<%=jobid%>&logFile=<%=logFile%>&taskid=<%=minReduce.get(Keys.TASKID)%>">
|
|
|
|
|
|
+<a href="taskdetailshistory.jsp?jobid=<%=jobid%>&logFile=<%=encodedLogFileName%>&taskid=<%=minReduce.get(Keys.TASKID)%>">
|
|
<%=minReduce.get(Keys.TASKID) %></a> :
|
|
<%=minReduce.get(Keys.TASKID) %></a> :
|
|
<%=StringUtils.formatTimeDiff(minReduce.getLong(Keys.FINISH_TIME),
|
|
<%=StringUtils.formatTimeDiff(minReduce.getLong(Keys.FINISH_TIME),
|
|
minReduce.getLong(Keys.SHUFFLE_FINISHED) ) %></h3>
|
|
minReduce.getLong(Keys.SHUFFLE_FINISHED) ) %></h3>
|
|
@@ -223,7 +224,7 @@ finished at (relative to the Job launch time):
|
|
for (int i=0;i<showTasks && i<reduceTasks.length; i++) {
|
|
for (int i=0;i<showTasks && i<reduceTasks.length; i++) {
|
|
%>
|
|
%>
|
|
<tr>
|
|
<tr>
|
|
- <td><a href="taskdetailshistory.jsp?jobid=<%=jobid%>&logFile=<%=logFile%>&taskid=<%=reduceTasks[i].get(Keys.TASKID)%>">
|
|
|
|
|
|
+ <td><a href="taskdetailshistory.jsp?jobid=<%=jobid%>&logFile=<%=encodedLogFileName%>&taskid=<%=reduceTasks[i].get(Keys.TASKID)%>">
|
|
<%=reduceTasks[i].get(Keys.TASKID) %></a></td>
|
|
<%=reduceTasks[i].get(Keys.TASKID) %></a></td>
|
|
<td><%=StringUtils.formatTimeDiff(
|
|
<td><%=StringUtils.formatTimeDiff(
|
|
reduceTasks[i].getLong(Keys.FINISH_TIME),
|
|
reduceTasks[i].getLong(Keys.FINISH_TIME),
|
|
@@ -239,11 +240,11 @@ finished at (relative to the Job launch time):
|
|
%>
|
|
%>
|
|
|
|
|
|
<h3>The last Reduce task
|
|
<h3>The last Reduce task
|
|
-<a href="taskdetailshistory.jsp?jobid=<%=jobid%>&logFile=<%=logFile%>
|
|
|
|
|
|
+<a href="taskdetailshistory.jsp?jobid=<%=jobid%>&logFile=<%=encodedLogFileName%>
|
|
&taskid=<%=lastReduce.get(Keys.TASKID)%>"><%=lastReduce.get(Keys.TASKID)%>
|
|
&taskid=<%=lastReduce.get(Keys.TASKID)%>"><%=lastReduce.get(Keys.TASKID)%>
|
|
</a> finished at (relative to the Job launch time):
|
|
</a> finished at (relative to the Job launch time):
|
|
<%=StringUtils.getFormattedTimeWithDiff(dateFormat,
|
|
<%=StringUtils.getFormattedTimeWithDiff(dateFormat,
|
|
lastReduce.getLong(Keys.FINISH_TIME),
|
|
lastReduce.getLong(Keys.FINISH_TIME),
|
|
job.getLong(Keys.LAUNCH_TIME) ) %></h3>
|
|
job.getLong(Keys.LAUNCH_TIME) ) %></h3>
|
|
</center>
|
|
</center>
|
|
-</body></html>
|
|
|
|
|
|
+</body></html>
|