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

Split task columns, memory columns sort by numeric value

parent 2eea9747
No related branches found
No related tags found
No related merge requests found
...@@ -45,15 +45,21 @@ private[spark] class ExecutorsUI(val sc: SparkContext) { ...@@ -45,15 +45,21 @@ private[spark] class ExecutorsUI(val sc: SparkContext) {
.reduceOption(_+_).getOrElse(0L) .reduceOption(_+_).getOrElse(0L)
val execHead = Seq("Executor ID", "Address", "RDD blocks", "Memory used", "Disk used", val execHead = Seq("Executor ID", "Address", "RDD blocks", "Memory used", "Disk used",
"Tasks: Complete/Total") "Failed tasks", "Complete tasks", "Total tasks")
def execRow(kv: Seq[String]) = def execRow(kv: Seq[String]) =
<tr> <tr>
<td>{kv(0)}</td> <td>{kv(0)}</td>
<td>{kv(1)}</td> <td>{kv(1)}</td>
<td>{kv(2)}</td> <td>{kv(2)}</td>
<td>{kv(3)}</td> <td sorttable_customkey={kv(3)}>
<td>{kv(4)}</td> {Utils.memoryBytesToString(kv(3).toLong)} / {Utils.memoryBytesToString(kv(4).toLong)}
<td>{kv(5)}</td> </td>
<td sorttable_customkey={kv(5)}>
{Utils.memoryBytesToString(kv(5).toLong)}
</td>
<td>{kv(6)}</td>
<td>{kv(7)}</td>
<td>{kv(8)}</td>
</tr> </tr>
val execInfo = val execInfo =
for (b <- 0 until storageStatusList.size) for (b <- 0 until storageStatusList.size)
...@@ -83,24 +89,24 @@ private[spark] class ExecutorsUI(val sc: SparkContext) { ...@@ -83,24 +89,24 @@ private[spark] class ExecutorsUI(val sc: SparkContext) {
def getExecInfo(a: Int): Seq[String] = { def getExecInfo(a: Int): Seq[String] = {
val execId = sc.getExecutorStorageStatus(a).blockManagerId.executorId val execId = sc.getExecutorStorageStatus(a).blockManagerId.executorId
val hostPort = sc.getExecutorStorageStatus(a).blockManagerId.hostPort val hostPort = sc.getExecutorStorageStatus(a).blockManagerId.hostPort
val memUsed = Utils.memoryBytesToString(sc.getExecutorStorageStatus(a).memUsed())
val maxMem = Utils.memoryBytesToString(sc.getExecutorStorageStatus(a).maxMem)
val diskUsed = Utils.memoryBytesToString(sc.getExecutorStorageStatus(a).diskUsed())
val rddBlocks = sc.getExecutorStorageStatus(a).blocks.size.toString val rddBlocks = sc.getExecutorStorageStatus(a).blocks.size.toString
val completedTasks = listener.executorToTasksComplete.getOrElse(a.toString, 0) val memUsed = sc.getExecutorStorageStatus(a).memUsed().toString
val totalTasks = listener.executorToTaskInfos(a.toString).size val maxMem = sc.getExecutorStorageStatus(a).maxMem.toString
val failedTasks = listener.executorToTasksFailed.getOrElse(a.toString, 0) match { val diskUsed = sc.getExecutorStorageStatus(a).diskUsed().toString
case f if f > 0 => " (%s failed)".format(f) val failedTasks = listener.executorToTasksFailed.getOrElse(a.toString, 0).toString
case _ => "" val completedTasks = listener.executorToTasksComplete.getOrElse(a.toString, 0).toString
} val totalTasks = listener.executorToTaskInfos(a.toString).size.toString
Seq( Seq(
execId, execId,
hostPort, hostPort,
rddBlocks, rddBlocks,
"%s / %s".format(memUsed, maxMem), memUsed,
maxMem,
diskUsed, diskUsed,
"%s / %s".format(completedTasks, totalTasks) + failedTasks failedTasks,
completedTasks,
totalTasks
) )
} }
......
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