@@ -25,7 +25,8 @@ import org.apache.spark.storage.StorageLevel
2525import org .apache .spark .ui .{ToolTips , UIUtils , WebUIPage }
2626import org .apache .spark .util .Utils
2727
28- private case class ExecutorInfo (
28+ /** Summary information about an executor to display in the UI. */
29+ private case class ExecutorSummaryInfo (
2930 id : String ,
3031 hostPort : String ,
3132 rddBlocks : Int ,
@@ -67,17 +68,12 @@ private[ui] class ExecutorsPage(parent: ExecutorsTab) extends WebUIPage("") {
6768 <th >Complete Tasks </th >
6869 <th >Total Tasks </th >
6970 <th >Task Time </th >
71+ <th ><span data-toggle =" tooltip" title ={ToolTips .INPUT }>Input </span ></th >
72+ <th ><span data-toggle =" tooltip" title ={ToolTips .SHUFFLE_READ }>Shuffle Read </span ></th >
7073 <th >
71- <span data-toggle =" tooltip" title ={ToolTips .INPUT }>
72- Input
73- </span >
74- </th >
75- <th >
76- <span data-toggle =" tooltip" title ={ToolTips .SHUFFLE_READ }>
77- Shuffle Read
78- </span >
79- </th >
80- <th >
74+ <!-- Place the shuffle write tooltip on the left (rather than the default position
75+ of on top) because the shuffle write column is the last column on the right side and
76+ the tooltip is wider than the column, so it doesn' t fit on top. -->
8177 <span data-toggle =" tooltip" data-placement =" left" title ={ToolTips .SHUFFLE_WRITE }>
8278 Shuffle Write
8379 </span >
@@ -110,7 +106,7 @@ private[ui] class ExecutorsPage(parent: ExecutorsTab) extends WebUIPage("") {
110106 }
111107
112108 /** Render an HTML row representing an executor */
113- private def execRow (info : ExecutorInfo ): Seq [Node ] = {
109+ private def execRow (info : ExecutorSummaryInfo ): Seq [Node ] = {
114110 val maximumMemory = info.maxMemory
115111 val memoryUsed = info.memoryUsed
116112 val diskUsed = info.diskUsed
@@ -145,7 +141,7 @@ private[ui] class ExecutorsPage(parent: ExecutorsTab) extends WebUIPage("") {
145141 }
146142
147143 /** Represent an executor's info as a map given a storage status index */
148- private def getExecInfo (statusId : Int ): ExecutorInfo = {
144+ private def getExecInfo (statusId : Int ): ExecutorSummaryInfo = {
149145 val status = listener.storageStatusList(statusId)
150146 val execId = status.blockManagerId.executorId
151147 val hostPort = status.blockManagerId.hostPort
@@ -164,7 +160,7 @@ private[ui] class ExecutorsPage(parent: ExecutorsTab) extends WebUIPage("") {
164160 val totalShuffleRead = listener.executorToShuffleRead.getOrElse(execId, 0L )
165161 val totalShuffleWrite = listener.executorToShuffleWrite.getOrElse(execId, 0L )
166162
167- new ExecutorInfo (
163+ new ExecutorSummaryInfo (
168164 execId,
169165 hostPort,
170166 rddBlocks,
0 commit comments