Skip to content
Snippets Groups Projects
Commit 95025afd authored by Karen Feng's avatar Karen Feng
Browse files

Made most small fixes for SPARK-849 except for table sort, task progress overlay

parent 22abbc10
No related branches found
No related tags found
No related merge requests found
...@@ -28,14 +28,14 @@ private[spark] object UIUtils { ...@@ -28,14 +28,14 @@ private[spark] object UIUtils {
/** Returns a spark page with correctly formatted headers */ /** Returns a spark page with correctly formatted headers */
def headerSparkPage(content: => Seq[Node], sc: SparkContext, title: String, page: Page.Value) def headerSparkPage(content: => Seq[Node], sc: SparkContext, title: String, page: Page.Value)
: Seq[Node] = { : 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 { val jobs = page match {
case Jobs => <li class="active"><a href="/stages">Jobs</a></li> case Jobs => <li class="active"><a href="/stages">Jobs</a></li>
case _ => <li><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 { val environment = page match {
case Environment => <li class="active"><a href="/environment">Environment</a></li> case Environment => <li class="active"><a href="/environment">Environment</a></li>
case _ => <li><a href="/environment">Environment</a></li> case _ => <li><a href="/environment">Environment</a></li>
...@@ -65,17 +65,14 @@ private[spark] object UIUtils { ...@@ -65,17 +65,14 @@ private[spark] object UIUtils {
<div class="navbar"> <div class="navbar">
<div class="navbar-inner"> <div class="navbar-inner">
<div class="container"> <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"> <ul class="nav">
{storage}
{jobs} {jobs}
{storage}
{environment} {environment}
{executors} {executors}
</ul> </ul>
<ul id="infolist"> <p class="navbar-text pull-right">Application: <strong>{sc.appName}</strong></p>
<li>Application: <strong>{sc.appName}</strong></li>
<li>Executors: <strong>{sc.getExecutorStorageStatus.size}</strong></li>
</ul>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -69,11 +69,19 @@ private[spark] class IndexPage(parent: JobProgressUI) { ...@@ -69,11 +69,19 @@ private[spark] class IndexPage(parent: JobProgressUI) {
{Utils.memoryBytesToString(listener.totalShuffleWrite)} {Utils.memoryBytesToString(listener.totalShuffleWrite)}
</li> </li>
} }
<li><strong>Active Stages Number:</strong> {activeStages.size} </li> <li><a href="#active">
<li><strong>Completed Stages Number:</strong> {completedStages.size} </li> <strong>Active Stages Number:</strong>
<li><strong>Failed Stages Number:</strong> {failedStages.size} </li> {activeStages.size}
<li><strong>Scheduling Mode:</strong> {parent.sc.getSchedulingMode}</li> </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> </ul>
</div> </div>
...@@ -83,11 +91,11 @@ private[spark] class IndexPage(parent: JobProgressUI) { ...@@ -83,11 +91,11 @@ private[spark] class IndexPage(parent: JobProgressUI) {
} else { } else {
Seq() Seq()
}} ++ }} ++
<h3>Active Stages : {activeStages.size}</h3> ++ <h3 id="active">Active Stages : {activeStages.size}</h3> ++
activeStagesTable.toNodeSeq++ activeStagesTable.toNodeSeq++
<h3>Completed Stages : {completedStages.size}</h3> ++ <h3 id="completed">Completed Stages : {completedStages.size}</h3> ++
completedStagesTable.toNodeSeq++ completedStagesTable.toNodeSeq++
<h3>Failed Stages : {failedStages.size}</h3> ++ <h3 id ="failed">Failed Stages : {failedStages.size}</h3> ++
failedStagesTable.toNodeSeq failedStagesTable.toNodeSeq
headerSparkPage(content, parent.sc, "Spark Stages", Jobs) headerSparkPage(content, parent.sc, "Spark Stages", Jobs)
......
...@@ -37,10 +37,9 @@ private[spark] class StageTable(val stages: Seq[Stage], val parent: JobProgressU ...@@ -37,10 +37,9 @@ private[spark] class StageTable(val stages: Seq[Stage], val parent: JobProgressU
<th>Origin</th> <th>Origin</th>
<th>Submitted</th> <th>Submitted</th>
<td>Duration</td> <td>Duration</td>
<td colspan="2">Tasks: Complete/Total</td> <td colspan="2">Tasks: Succeeded/Total</td>
<td>Shuffle Read</td> <td>Shuffle Read</td>
<td>Shuffle Write</td> <td>Shuffle Write</td>
<td>Stored RDD</td>
</thead> </thead>
<tbody> <tbody>
{rows.map(r => makeRow(r))} {rows.map(r => makeRow(r))}
...@@ -105,12 +104,6 @@ private[spark] class StageTable(val stages: Seq[Stage], val parent: JobProgressU ...@@ -105,12 +104,6 @@ private[spark] class StageTable(val stages: Seq[Stage], val parent: JobProgressU
</td> </td>
<td>{shuffleRead}</td> <td>{shuffleRead}</td>
<td>{shuffleWrite}</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> </tr>
} }
} }
...@@ -83,18 +83,19 @@ private[spark] class RDDPage(parent: BlockManagerUI) { ...@@ -83,18 +83,19 @@ private[spark] class RDDPage(parent: BlockManagerUI) {
<hr/> <hr/>
<div class="row"> <div class="row">
<div class="span12"> <div class="span12">
<h3> Data Distribution Summary </h3>
{workerTable} {workerTable}
</div> </div>
</div> </div>
<hr/> <hr/>
<div class="row"> <div class="row">
<div class="span12"> <div class="span12">
<h3> RDD Summary </h3> <h3> Partitions </h3>
{blockTable} {blockTable}
</div> </div>
</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] = { def blockRow(row: (String, BlockStatus, Seq[String])): Seq[Node] = {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment