aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaren Feng <karenfeng.us@gmail.com>2013-08-05 13:04:56 -0700
committerKaren Feng <karenfeng.us@gmail.com>2013-08-05 13:04:56 -0700
commit95025afdecdf5b21ab3d73c6786be9f3c6d579ca (patch)
treef3193353c9ba4922583608dda1246c12ca0f2da9
parent22abbc10d66609fff7e73e354e7cbd151d3d3889 (diff)
downloadspark-95025afdecdf5b21ab3d73c6786be9f3c6d579ca.tar.gz
spark-95025afdecdf5b21ab3d73c6786be9f3c6d579ca.tar.bz2
spark-95025afdecdf5b21ab3d73c6786be9f3c6d579ca.zip
Made most small fixes for SPARK-849 except for table sort, task progress overlay
-rw-r--r--core/src/main/scala/spark/ui/UIUtils.scala17
-rw-r--r--core/src/main/scala/spark/ui/jobs/IndexPage.scala24
-rw-r--r--core/src/main/scala/spark/ui/jobs/StageTable.scala9
-rw-r--r--core/src/main/scala/spark/ui/storage/RDDPage.scala5
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] = {