1 | <%@ page |
---|
2 | contentType="text/html; charset=UTF-8" |
---|
3 | import="javax.servlet.*" |
---|
4 | import="javax.servlet.http.*" |
---|
5 | import="java.io.*" |
---|
6 | import="java.lang.String" |
---|
7 | import="java.text.*" |
---|
8 | import="java.util.*" |
---|
9 | import="org.apache.hadoop.mapred.*" |
---|
10 | import="org.apache.hadoop.util.*" |
---|
11 | import="java.text.SimpleDateFormat" |
---|
12 | %> |
---|
13 | <% |
---|
14 | JobTracker tracker = (JobTracker) application.getAttribute("job.tracker"); |
---|
15 | String trackerName = |
---|
16 | StringUtils.simpleHostname(tracker.getJobTrackerMachine()); |
---|
17 | String jobid = request.getParameter("jobid"); |
---|
18 | String tipid = request.getParameter("tipid"); |
---|
19 | String taskid = request.getParameter("taskid"); |
---|
20 | JobID jobidObj = JobID.forName(jobid); |
---|
21 | TaskID tipidObj = TaskID.forName(tipid); |
---|
22 | TaskAttemptID taskidObj = TaskAttemptID.forName(taskid); |
---|
23 | |
---|
24 | JobInProgress job = (JobInProgress) tracker.getJob(jobidObj); |
---|
25 | |
---|
26 | Format decimal = new DecimalFormat(); |
---|
27 | Counters counters; |
---|
28 | if (taskid == null) { |
---|
29 | counters = tracker.getTipCounters(tipidObj); |
---|
30 | taskid = tipid; // for page title etc |
---|
31 | } |
---|
32 | else { |
---|
33 | TaskStatus taskStatus = tracker.getTaskStatus(taskidObj); |
---|
34 | counters = taskStatus.getCounters(); |
---|
35 | } |
---|
36 | %> |
---|
37 | |
---|
38 | <html> |
---|
39 | <head> |
---|
40 | <title>Counters for <%=taskid%></title> |
---|
41 | </head> |
---|
42 | <body> |
---|
43 | <h1>Counters for <%=taskid%></h1> |
---|
44 | |
---|
45 | <hr> |
---|
46 | |
---|
47 | <% |
---|
48 | if ( counters == null ) { |
---|
49 | %> |
---|
50 | <h3>No counter information found for this task</h3> |
---|
51 | <% |
---|
52 | } else { |
---|
53 | %> |
---|
54 | <table> |
---|
55 | <% |
---|
56 | for (String groupName : counters.getGroupNames()) { |
---|
57 | Counters.Group group = counters.getGroup(groupName); |
---|
58 | String displayGroupName = group.getDisplayName(); |
---|
59 | %> |
---|
60 | <tr> |
---|
61 | <td colspan="3"><br/><b><%=displayGroupName%></b></td> |
---|
62 | </tr> |
---|
63 | <% |
---|
64 | for (Counters.Counter counter : group) { |
---|
65 | String displayCounterName = counter.getDisplayName(); |
---|
66 | long value = counter.getCounter(); |
---|
67 | %> |
---|
68 | <tr> |
---|
69 | <td width="50"></td> |
---|
70 | <td><%=displayCounterName%></td> |
---|
71 | <td align="right"><%=decimal.format(value)%></td> |
---|
72 | </tr> |
---|
73 | <% |
---|
74 | } |
---|
75 | } |
---|
76 | %> |
---|
77 | </table> |
---|
78 | <% |
---|
79 | } |
---|
80 | %> |
---|
81 | |
---|
82 | <hr> |
---|
83 | <a href="jobdetails.jsp?jobid=<%=jobid%>">Go back to the job</a><br> |
---|
84 | <a href="jobtracker.jsp">Go back to JobTracker</a><br> |
---|
85 | <% |
---|
86 | out.println(ServletUtil.htmlFooter()); |
---|
87 | %> |
---|