From 95025afdecdf5b21ab3d73c6786be9f3c6d579ca Mon Sep 17 00:00:00 2001 From: Karen Feng <karenfeng.us@gmail.com> Date: Mon, 5 Aug 2013 13:04:56 -0700 Subject: [PATCH] Made most small fixes for SPARK-849 except for table sort, task progress overlay --- core/src/main/scala/spark/ui/UIUtils.scala | 17 ++++++------- .../main/scala/spark/ui/jobs/IndexPage.scala | 24 ++++++++++++------- .../main/scala/spark/ui/jobs/StageTable.scala | 9 +------ .../main/scala/spark/ui/storage/RDDPage.scala | 5 ++-- 4 files changed, 27 insertions(+), 28 deletions(-) diff --git a/core/src/main/scala/spark/ui/UIUtils.scala b/core/src/main/scala/spark/ui/UIUtils.scala index cff26d3168..226fe49aaf 100644 --- a/core/src/main/scala/spark/ui/UIUtils.scala +++ b/core/src/main/scala/spark/ui/UIUtils.scala @@ -28,14 +28,14 @@ private[spark] object UIUtils { /** Returns a spark page with correctly formatted headers */ def headerSparkPage(content: => Seq[Node], sc: SparkContext, title: String, page: Page.Value) : Seq[Node] = { - val storage = page match { - case Storage => <li class="active"><a href="/storage">Storage</a></li> - case _ => <li><a href="/storage">Storage</a></li> - } val jobs = page match { case Jobs => <li class="active"><a href="/stages">Jobs</a></li> case _ => <li><a href="/stages">Jobs</a></li> } + val storage = page match { + case Storage => <li class="active"><a href="/storage">Storage</a></li> + case _ => <li><a href="/storage">Storage</a></li> + } val environment = page match { case Environment => <li class="active"><a href="/environment">Environment</a></li> case _ => <li><a href="/environment">Environment</a></li> @@ -65,17 +65,14 @@ private[spark] object UIUtils { <div class="navbar"> <div class="navbar-inner"> <div class="container"> - <div class="brand"><img src="/static/spark-logo-77x50px-hd.png" /></div> + <a href="/" class="brand"><img src="/static/spark-logo-77x50px-hd.png" /></a> <ul class="nav"> - {storage} {jobs} + {storage} {environment} {executors} </ul> - <ul id="infolist"> - <li>Application: <strong>{sc.appName}</strong></li> - <li>Executors: <strong>{sc.getExecutorStorageStatus.size}</strong></li> - </ul> + <p class="navbar-text pull-right">Application: <strong>{sc.appName}</strong></p> </div> </div> </div> diff --git a/core/src/main/scala/spark/ui/jobs/IndexPage.scala b/core/src/main/scala/spark/ui/jobs/IndexPage.scala index 2da2155e09..cb0119bcce 100644 --- a/core/src/main/scala/spark/ui/jobs/IndexPage.scala +++ b/core/src/main/scala/spark/ui/jobs/IndexPage.scala @@ -69,11 +69,19 @@ private[spark] class IndexPage(parent: JobProgressUI) { {Utils.memoryBytesToString(listener.totalShuffleWrite)} </li> } - <li><strong>Active Stages Number:</strong> {activeStages.size} </li> - <li><strong>Completed Stages Number:</strong> {completedStages.size} </li> - <li><strong>Failed Stages Number:</strong> {failedStages.size} </li> - <li><strong>Scheduling Mode:</strong> {parent.sc.getSchedulingMode}</li> - + <li><a href="#active"> + <strong>Active Stages Number:</strong> + {activeStages.size} + </a></li> + <li><a href="#completed"> + <strong>Completed Stages Number:</strong> + {completedStages.size} + </a></li> + <li><a href="#failed"> + <strong>Failed Stages Number:</strong> + {failedStages.size} + </a></li> + <li><strong>Scheduling Mode:</strong> {parent.sc.getSchedulingMode}</li> </ul> </div> @@ -83,11 +91,11 @@ private[spark] class IndexPage(parent: JobProgressUI) { } else { Seq() }} ++ - <h3>Active Stages : {activeStages.size}</h3> ++ + <h3 id="active">Active Stages : {activeStages.size}</h3> ++ activeStagesTable.toNodeSeq++ - <h3>Completed Stages : {completedStages.size}</h3> ++ + <h3 id="completed">Completed Stages : {completedStages.size}</h3> ++ completedStagesTable.toNodeSeq++ - <h3>Failed Stages : {failedStages.size}</h3> ++ + <h3 id ="failed">Failed Stages : {failedStages.size}</h3> ++ failedStagesTable.toNodeSeq headerSparkPage(content, parent.sc, "Spark Stages", Jobs) diff --git a/core/src/main/scala/spark/ui/jobs/StageTable.scala b/core/src/main/scala/spark/ui/jobs/StageTable.scala index 3257f4e360..b1b8743a97 100644 --- a/core/src/main/scala/spark/ui/jobs/StageTable.scala +++ b/core/src/main/scala/spark/ui/jobs/StageTable.scala @@ -37,10 +37,9 @@ private[spark] class StageTable(val stages: Seq[Stage], val parent: JobProgressU <th>Origin</th> <th>Submitted</th> <td>Duration</td> - <td colspan="2">Tasks: Complete/Total</td> + <td colspan="2">Tasks: Succeeded/Total</td> <td>Shuffle Read</td> <td>Shuffle Write</td> - <td>Stored RDD</td> </thead> <tbody> {rows.map(r => makeRow(r))} @@ -105,12 +104,6 @@ private[spark] class StageTable(val stages: Seq[Stage], val parent: JobProgressU </td> <td>{shuffleRead}</td> <td>{shuffleWrite}</td> - <td>{if (s.rdd.getStorageLevel != StorageLevel.NONE) { - <a href={"/storage/rdd?id=%s".format(s.rdd.id)}> - {Option(s.rdd.name).getOrElse(s.rdd.id)} - </a> - }} - </td> </tr> } } diff --git a/core/src/main/scala/spark/ui/storage/RDDPage.scala b/core/src/main/scala/spark/ui/storage/RDDPage.scala index 003be54ad8..cd828778a6 100644 --- a/core/src/main/scala/spark/ui/storage/RDDPage.scala +++ b/core/src/main/scala/spark/ui/storage/RDDPage.scala @@ -83,18 +83,19 @@ private[spark] class RDDPage(parent: BlockManagerUI) { <hr/> <div class="row"> <div class="span12"> + <h3> Data Distribution Summary </h3> {workerTable} </div> </div> <hr/> <div class="row"> <div class="span12"> - <h3> RDD Summary </h3> + <h3> Partitions </h3> {blockTable} </div> </div>; - headerSparkPage(content, parent.sc, "RDD Info: " + rddInfo.name, Jobs) + headerSparkPage(content, parent.sc, "RDD Info: " + rddInfo.name, Storage) } def blockRow(row: (String, BlockStatus, Seq[String])): Seq[Node] = { -- GitLab