diff --git a/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/ui/ThriftServerPage.scala b/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/ui/ThriftServerPage.scala index 368db975ec88..d3351f3d6ca1 100644 --- a/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/ui/ThriftServerPage.scala +++ b/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/ui/ThriftServerPage.scala @@ -443,10 +443,13 @@ private[ui] class SessionStatsPagedTable( val sessionTableHeaders = Seq("User", "IP", "Session ID", "Start Time", "Finish Time", "Duration", "Total Execute") + val tooltips = Seq(None, None, None, None, None, Some(THRIFT_SESSION_DURATION), + Some(THRIFT_SESSION_TOTAL_EXECUTE)) + assert(sessionTableHeaders.length == tooltips.length) val colWidthAttr = s"${100.toDouble / sessionTableHeaders.size}%" val headerRow: Seq[Node] = { - sessionTableHeaders.map { header => + sessionTableHeaders.zip(tooltips).map { case (header, tooltip) => if (header == sortColumn) { val headerLink = Unparsed( parameterPath + @@ -455,12 +458,22 @@ private[ui] class SessionStatsPagedTable( s"&$sessionStatsTableTag.pageSize=$pageSize" + s"#$sessionStatsTableTag") val arrow = if (desc) "▾" else "▴" // UP or DOWN + + + { + if (tooltip.nonEmpty) { + + {header} {Unparsed(arrow)} + + } else { + + {header} {Unparsed(arrow)} + + } + } + + - - - {header} {Unparsed(arrow)} - - } else { val headerLink = Unparsed( parameterPath + @@ -468,11 +481,19 @@ private[ui] class SessionStatsPagedTable( s"&$sessionStatsTableTag.pageSize=$pageSize" + s"#$sessionStatsTableTag") - - - {header} - - + + + { + if (tooltip.nonEmpty) { + + {header} + + } else { + {header} + } + } + + } } } diff --git a/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/ui/ToolTips.scala b/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/ui/ToolTips.scala index 1990b8f2d328..56ab766f4aab 100644 --- a/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/ui/ToolTips.scala +++ b/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/ui/ToolTips.scala @@ -29,4 +29,11 @@ private[ui] object ToolTips { val THRIFT_SERVER_DURATION = "Difference between start time and close time" + + val THRIFT_SESSION_TOTAL_EXECUTE = + "Number of operations submitted in this session" + + val THRIFT_SESSION_DURATION = + "Elapsed time since session start, or until closed if the session was closed" + }