blob: 570fb9f2c992e26f6039d7c1acf299acbd0205f8 [file] [log] [blame]
<%/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/%>
<%@ page
contentType="text/html; charset=UTF-8"
import="javax.servlet.*"
import="javax.servlet.http.*"
import="java.util.Vector"
import="java.util.Collection"
import="org.apache.hadoop.http.HtmlQuoting"
import="org.apache.hadoop.mapred.*"
import="org.apache.hadoop.util.StringUtils"
import="org.apache.hadoop.util.ServletUtil"
%>
<%!private static final long serialVersionUID = 526456771152222127L;%>
<%
JobTracker tracker = (JobTracker) application.getAttribute("job.tracker");
String trackerName = StringUtils.simpleHostname(tracker
.getJobTrackerMachine());
String queueName = request.getParameter("queueName");
TaskScheduler scheduler = tracker.getTaskScheduler();
JobQueueInfo schedInfo = tracker.getQueueInfo(queueName);
%>
<html>
<head>
<title>Queue details for <%=queueName != null ? queueName : ""%> </title>
<link rel="stylesheet" type="text/css" href="/static/hadoop.css">
<script type="text/javascript" src="/static/jobtracker.js"></script>
</head>
<body>
<%
if (!JSPUtil.processButtons(request, response, tracker)) {
return;// user is not authorized
}
%>
<%
String schedulingInfoString = schedInfo.getSchedulingInfo();
%>
<h1>Hadoop Job Queue Scheduling Information on
<a href="jobtracker.jsp"><%=trackerName%></a>
</h1>
<div>
Scheduling Information :
<%=HtmlQuoting.quoteHtmlChars(schedulingInfoString).replaceAll("\n", "<br/>")%>
</div>
<hr/>
<%
if (schedInfo.getChildren() != null && schedInfo.getChildren().size() > 0) {
%>
Child Queues :
<%
for (JobQueueInfo childQueue : schedInfo.getChildren()) {
String[] childNameSplits = childQueue.getQueueName().split(":");
String childName = childNameSplits[childNameSplits.length -1];
%>
<a href="jobqueue_details.jsp?queueName=<%=childQueue.getQueueName()%>">
<%=childName%></a>&nbsp &nbsp
<%
}
%>
<br/>
<%
} else {
Collection<JobInProgress> jobs = scheduler.getJobs(queueName);
if (jobs == null || jobs.isEmpty()) {
%>
<center>
<h2> No Jobs found for the Queue :: <%=queueName != null ? queueName : ""%> </h2>
<hr/>
</center>
<%
} else {
%>
<center>
<h2> Job Summary for the Queue :: <%=queueName != null ? queueName : ""%> </h2>
</center>
<div style="text-align: center;text-indent: center;font-style: italic;">
(In the order maintained by the scheduler)
</div>
<br/>
<hr/>
<%=JSPUtil.generateJobTable("Job List", jobs, 30, 0, tracker.conf)%>
<hr>
<%
}
}
%>
<%
out.println(ServletUtil.htmlFooter());
%>