diff --git a/core/src/main/scala/org/apache/spark/status/storeTypes.scala b/core/src/main/scala/org/apache/spark/status/storeTypes.scala index 412644d3657b..1ea869b9f430 100644 --- a/core/src/main/scala/org/apache/spark/status/storeTypes.scala +++ b/core/src/main/scala/org/apache/spark/status/storeTypes.scala @@ -113,6 +113,7 @@ private[spark] object TaskIndexNames { final val EXEC_RUN_TIME = "ert" final val GC_TIME = "gc" final val GETTING_RESULT_TIME = "grt" + final val HOST = "host" final val INPUT_RECORDS = "ir" final val INPUT_SIZE = "is" final val LAUNCH_TIME = "lt" @@ -165,6 +166,7 @@ private[spark] class TaskDataWrapper( val duration: Long, @KVIndexParam(value = TaskIndexNames.EXECUTOR, parent = TaskIndexNames.STAGE) val executorId: String, + @KVIndexParam(value = TaskIndexNames.HOST, parent = TaskIndexNames.STAGE) val host: String, @KVIndexParam(value = TaskIndexNames.STATUS, parent = TaskIndexNames.STAGE) val status: String, diff --git a/core/src/main/scala/org/apache/spark/ui/jobs/StagePage.scala b/core/src/main/scala/org/apache/spark/ui/jobs/StagePage.scala index 5c2b0c3a1999..3eac12b6014f 100644 --- a/core/src/main/scala/org/apache/spark/ui/jobs/StagePage.scala +++ b/core/src/main/scala/org/apache/spark/ui/jobs/StagePage.scala @@ -961,16 +961,17 @@ private[ui] class TaskPagedTable( } } -private object ApiHelper { +private[ui] object ApiHelper { - private val COLUMN_TO_INDEX = Map( + private[ui] val COLUMN_TO_INDEX = Map( "ID" -> null.asInstanceOf[String], "Index" -> TaskIndexNames.TASK_INDEX, "Attempt" -> TaskIndexNames.ATTEMPT, "Status" -> TaskIndexNames.STATUS, "Locality Level" -> TaskIndexNames.LOCALITY, - "Executor ID / Host" -> TaskIndexNames.EXECUTOR, + "Executor ID" -> TaskIndexNames.EXECUTOR, + "Host" -> TaskIndexNames.HOST, "Launch Time" -> TaskIndexNames.LAUNCH_TIME, "Duration" -> TaskIndexNames.DURATION, "Scheduler Delay" -> TaskIndexNames.SCHEDULER_DELAY, diff --git a/core/src/test/scala/org/apache/spark/ui/StagePageSuite.scala b/core/src/test/scala/org/apache/spark/ui/StagePageSuite.scala index 0aeddf730cd3..ad193d1ccbdd 100644 --- a/core/src/test/scala/org/apache/spark/ui/StagePageSuite.scala +++ b/core/src/test/scala/org/apache/spark/ui/StagePageSuite.scala @@ -28,8 +28,9 @@ import org.apache.spark._ import org.apache.spark.executor.TaskMetrics import org.apache.spark.scheduler._ import org.apache.spark.status.AppStatusStore +import org.apache.spark.status.api.v1.{AccumulableInfo => UIAccumulableInfo, StageData, StageStatus} import org.apache.spark.status.config._ -import org.apache.spark.ui.jobs.{StagePage, StagesTab} +import org.apache.spark.ui.jobs.{ApiHelper, StagePage, StagesTab, TaskPagedTable} class StagePageSuite extends SparkFunSuite with LocalSparkContext { @@ -47,6 +48,66 @@ class StagePageSuite extends SparkFunSuite with LocalSparkContext { assert(html.contains(s"