diff --git a/core/src/main/scala/org/apache/spark/storage/StorageStatusListener.scala b/core/src/main/scala/org/apache/spark/storage/StorageStatusListener.scala index 03a464eebbabc..6d9ddb2e77ff4 100644 --- a/core/src/main/scala/org/apache/spark/storage/StorageStatusListener.scala +++ b/core/src/main/scala/org/apache/spark/storage/StorageStatusListener.scala @@ -19,8 +19,8 @@ package org.apache.spark.storage import scala.collection.mutable -import org.apache.spark.annotation.DeveloperApi import org.apache.spark.SparkConf +import org.apache.spark.annotation.DeveloperApi import org.apache.spark.scheduler._ /** diff --git a/core/src/main/scala/org/apache/spark/ui/SparkUI.scala b/core/src/main/scala/org/apache/spark/ui/SparkUI.scala index ffb047efc1dae..5324a7682960b 100644 --- a/core/src/main/scala/org/apache/spark/ui/SparkUI.scala +++ b/core/src/main/scala/org/apache/spark/ui/SparkUI.scala @@ -24,7 +24,7 @@ import scala.collection.JavaConverters._ import org.apache.spark.{Logging, SecurityManager, SparkConf, SparkContext} import org.apache.spark.scheduler._ import org.apache.spark.status.api.v1.{ApiRootResource, ApplicationAttemptInfo, ApplicationInfo, -UIRoot} + UIRoot} import org.apache.spark.storage.StorageStatusListener import org.apache.spark.ui.JettyUtils._ import org.apache.spark.ui.env.{EnvironmentListener, EnvironmentTab} @@ -197,7 +197,7 @@ private[spark] object SparkUI { val environmentListener = new EnvironmentListener val storageStatusListener = new StorageStatusListener(conf) - val executorsListener = new ExecutorsListener(storageStatusListener) + val executorsListener = new ExecutorsListener(storageStatusListener, conf) val storageListener = new StorageListener(storageStatusListener) val operationGraphListener = new RDDOperationGraphListener(conf) diff --git a/core/src/main/scala/org/apache/spark/ui/exec/ExecutorsPage.scala b/core/src/main/scala/org/apache/spark/ui/exec/ExecutorsPage.scala index 786258c982f87..15153b5d3eed3 100644 --- a/core/src/main/scala/org/apache/spark/ui/exec/ExecutorsPage.scala +++ b/core/src/main/scala/org/apache/spark/ui/exec/ExecutorsPage.scala @@ -59,11 +59,11 @@ private[ui] class ExecutorsPage( // removed before we query their status. See SPARK-12784. val _activeExecutorInfo = { for (statusId <- 0 until listener.activeStorageStatusList.size) - yield ExecutorsPage.getExecInfo(listener, statusId, isActive = true) + yield ExecutorsPage.getExecInfo(listener, statusId, isActive = true) } val _deadExecutorInfo = { for (statusId <- 0 until listener.deadStorageStatusList.size) - yield ExecutorsPage.getExecInfo(listener, statusId, isActive = false) + yield ExecutorsPage.getExecInfo(listener, statusId, isActive = false) } (_activeExecutorInfo, _deadExecutorInfo) } @@ -108,8 +108,12 @@ private[ui] class ExecutorsPage( val content =
-

DeadExecutors({deadExecutorInfo.size})

-

Totals for {activeExecutorInfo.size} Active Executors

+

Dead Executors({deadExecutorInfo.size})

+
+
+
+
+

Active Executors({activeExecutorInfo.size})

{execSummary(activeExecutorInfo)}
diff --git a/core/src/test/scala/org/apache/spark/ui/storage/StorageTabSuite.scala b/core/src/test/scala/org/apache/spark/ui/storage/StorageTabSuite.scala index 9b01f841704fa..6b7c538ac8549 100644 --- a/core/src/test/scala/org/apache/spark/ui/storage/StorageTabSuite.scala +++ b/core/src/test/scala/org/apache/spark/ui/storage/StorageTabSuite.scala @@ -18,6 +18,7 @@ package org.apache.spark.ui.storage import org.scalatest.BeforeAndAfter + import org.apache.spark.{SparkConf, SparkFunSuite, Success} import org.apache.spark.executor.TaskMetrics import org.apache.spark.scheduler._