aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/src/main/scala/org/apache/spark/ui/jobs/AllJobsPage.scala62
1 files changed, 43 insertions, 19 deletions
diff --git a/core/src/main/scala/org/apache/spark/ui/jobs/AllJobsPage.scala b/core/src/main/scala/org/apache/spark/ui/jobs/AllJobsPage.scala
index ea2d187a0e..1d1c701878 100644
--- a/core/src/main/scala/org/apache/spark/ui/jobs/AllJobsPage.scala
+++ b/core/src/main/scala/org/apache/spark/ui/jobs/AllJobsPage.scala
@@ -47,7 +47,7 @@ private[ui] class AllJobsPage(parent: JobsTab) extends WebUIPage("") {
val lastStageData = lastStageInfo.flatMap { s =>
listener.stageIdToData.get((s.stageId, s.attemptId))
}
- val isComplete = job.status == JobExecutionStatus.SUCCEEDED
+
val lastStageName = lastStageInfo.map(_.name).getOrElse("(Unknown Stage Name)")
val lastStageDescription = lastStageData.flatMap(_.description).getOrElse("")
val duration: Option[Long] = {
@@ -107,6 +107,10 @@ private[ui] class AllJobsPage(parent: JobsTab) extends WebUIPage("") {
val failedJobsTable =
jobsTable(failedJobs.sortBy(_.endTime.getOrElse(-1L)).reverse)
+ val shouldShowActiveJobs = activeJobs.nonEmpty
+ val shouldShowCompletedJobs = completedJobs.nonEmpty
+ val shouldShowFailedJobs = failedJobs.nonEmpty
+
val summary: NodeSeq =
<div>
<ul class="unstyled">
@@ -121,27 +125,47 @@ private[ui] class AllJobsPage(parent: JobsTab) extends WebUIPage("") {
<strong>Scheduling Mode: </strong>
{listener.schedulingMode.map(_.toString).getOrElse("Unknown")}
</li>
- <li>
- <a href="#active"><strong>Active Jobs:</strong></a>
- {activeJobs.size}
- </li>
- <li>
- <a href="#completed"><strong>Completed Jobs:</strong></a>
- {completedJobs.size}
- </li>
- <li>
- <a href="#failed"><strong>Failed Jobs:</strong></a>
- {failedJobs.size}
- </li>
+ {
+ if (shouldShowActiveJobs) {
+ <li>
+ <a href="#active"><strong>Active Jobs:</strong></a>
+ {activeJobs.size}
+ </li>
+ }
+ }
+ {
+ if (shouldShowCompletedJobs) {
+ <li>
+ <a href="#completed"><strong>Completed Jobs:</strong></a>
+ {completedJobs.size}
+ </li>
+ }
+ }
+ {
+ if (shouldShowFailedJobs) {
+ <li>
+ <a href="#failed"><strong>Failed Jobs:</strong></a>
+ {failedJobs.size}
+ </li>
+ }
+ }
</ul>
</div>
- val content = summary ++
- <h4 id="active">Active Jobs ({activeJobs.size})</h4> ++ activeJobsTable ++
- <h4 id="completed">Completed Jobs ({completedJobs.size})</h4> ++ completedJobsTable ++
- <h4 id ="failed">Failed Jobs ({failedJobs.size})</h4> ++ failedJobsTable
-
- val helpText = """A job is triggered by a action, like "count()" or "saveAsTextFile()".""" +
+ var content = summary
+ if (shouldShowActiveJobs) {
+ content ++= <h4 id="active">Active Jobs ({activeJobs.size})</h4> ++
+ activeJobsTable
+ }
+ if (shouldShowCompletedJobs) {
+ content ++= <h4 id="completed">Completed Jobs ({completedJobs.size})</h4> ++
+ completedJobsTable
+ }
+ if (shouldShowFailedJobs) {
+ content ++= <h4 id ="failed">Failed Jobs ({failedJobs.size})</h4> ++
+ failedJobsTable
+ }
+ val helpText = """A job is triggered by an action, like "count()" or "saveAsTextFile()".""" +
" Click on a job's title to see information about the stages of tasks associated with" +
" the job."