[SPARK-7519] [SQL] fix minor bugs in thrift server UI
Bugs description:
1. There are extra commas on the top of session list.
2. The format of time in "Start at:" part is not the same as others.
3. The total number of online sessions is wrong.
Author: tianyi <tianyi.asiainfo@gmail.com>
Closes #6048 from tianyi/SPARK-7519 and squashes the following commits:
ed366b7 [tianyi] fix bug
(cherry picked from commit 2242ab31e9
)
Signed-off-by: Cheng Lian <lian@databricks.com>
This commit is contained in:
parent
5f227fdbfe
commit
fff3c86b06
|
@ -147,7 +147,7 @@ object HiveThriftServer2 extends Logging {
|
||||||
override def onApplicationEnd(applicationEnd: SparkListenerApplicationEnd): Unit = {
|
override def onApplicationEnd(applicationEnd: SparkListenerApplicationEnd): Unit = {
|
||||||
server.stop()
|
server.stop()
|
||||||
}
|
}
|
||||||
|
var onlineSessionNum: Int = 0
|
||||||
val sessionList = new mutable.LinkedHashMap[String, SessionInfo]
|
val sessionList = new mutable.LinkedHashMap[String, SessionInfo]
|
||||||
val executionList = new mutable.LinkedHashMap[String, ExecutionInfo]
|
val executionList = new mutable.LinkedHashMap[String, ExecutionInfo]
|
||||||
val retainedStatements =
|
val retainedStatements =
|
||||||
|
@ -170,11 +170,13 @@ object HiveThriftServer2 extends Logging {
|
||||||
def onSessionCreated(ip: String, sessionId: String, userName: String = "UNKNOWN"): Unit = {
|
def onSessionCreated(ip: String, sessionId: String, userName: String = "UNKNOWN"): Unit = {
|
||||||
val info = new SessionInfo(sessionId, System.currentTimeMillis, ip, userName)
|
val info = new SessionInfo(sessionId, System.currentTimeMillis, ip, userName)
|
||||||
sessionList.put(sessionId, info)
|
sessionList.put(sessionId, info)
|
||||||
|
onlineSessionNum += 1
|
||||||
trimSessionIfNecessary()
|
trimSessionIfNecessary()
|
||||||
}
|
}
|
||||||
|
|
||||||
def onSessionClosed(sessionId: String): Unit = {
|
def onSessionClosed(sessionId: String): Unit = {
|
||||||
sessionList(sessionId).finishTimestamp = System.currentTimeMillis
|
sessionList(sessionId).finishTimestamp = System.currentTimeMillis
|
||||||
|
onlineSessionNum -= 1
|
||||||
}
|
}
|
||||||
|
|
||||||
def onStatementStart(
|
def onStatementStart(
|
||||||
|
|
|
@ -29,7 +29,7 @@ import org.apache.spark.ui.UIUtils._
|
||||||
import org.apache.spark.ui._
|
import org.apache.spark.ui._
|
||||||
|
|
||||||
|
|
||||||
/** Page for Spark Web UI that shows statistics of a streaming job */
|
/** Page for Spark Web UI that shows statistics of a thrift server */
|
||||||
private[ui] class ThriftServerPage(parent: ThriftServerTab) extends WebUIPage("") with Logging {
|
private[ui] class ThriftServerPage(parent: ThriftServerTab) extends WebUIPage("") with Logging {
|
||||||
|
|
||||||
private val listener = parent.listener
|
private val listener = parent.listener
|
||||||
|
@ -42,7 +42,7 @@ private[ui] class ThriftServerPage(parent: ThriftServerTab) extends WebUIPage(""
|
||||||
generateBasicStats() ++
|
generateBasicStats() ++
|
||||||
<br/> ++
|
<br/> ++
|
||||||
<h4>
|
<h4>
|
||||||
{listener.sessionList.size} session(s) are online,
|
{listener.onlineSessionNum} session(s) are online,
|
||||||
running {listener.totalRunning} SQL statement(s)
|
running {listener.totalRunning} SQL statement(s)
|
||||||
</h4> ++
|
</h4> ++
|
||||||
generateSessionStatsTable() ++
|
generateSessionStatsTable() ++
|
||||||
|
@ -50,12 +50,12 @@ private[ui] class ThriftServerPage(parent: ThriftServerTab) extends WebUIPage(""
|
||||||
UIUtils.headerSparkPage("ThriftServer", content, parent, Some(5000))
|
UIUtils.headerSparkPage("ThriftServer", content, parent, Some(5000))
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Generate basic stats of the streaming program */
|
/** Generate basic stats of the thrift server program */
|
||||||
private def generateBasicStats(): Seq[Node] = {
|
private def generateBasicStats(): Seq[Node] = {
|
||||||
val timeSinceStart = System.currentTimeMillis() - startTime.getTime
|
val timeSinceStart = System.currentTimeMillis() - startTime.getTime
|
||||||
<ul class ="unstyled">
|
<ul class ="unstyled">
|
||||||
<li>
|
<li>
|
||||||
<strong>Started at: </strong> {startTime.toString}
|
<strong>Started at: </strong> {formatDate(startTime)}
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong>Time since start: </strong>{formatDurationVerbose(timeSinceStart)}
|
<strong>Time since start: </strong>{formatDurationVerbose(timeSinceStart)}
|
||||||
|
@ -148,7 +148,7 @@ private[ui] class ThriftServerPage(parent: ThriftServerTab) extends WebUIPage(""
|
||||||
<tr>
|
<tr>
|
||||||
<td> {session.userName} </td>
|
<td> {session.userName} </td>
|
||||||
<td> {session.ip} </td>
|
<td> {session.ip} </td>
|
||||||
<td> <a href={sessionLink}> {session.sessionId} </a> </td>,
|
<td> <a href={sessionLink}> {session.sessionId} </a> </td>
|
||||||
<td> {formatDate(session.startTimestamp)} </td>
|
<td> {formatDate(session.startTimestamp)} </td>
|
||||||
<td> {if(session.finishTimestamp > 0) formatDate(session.finishTimestamp)} </td>
|
<td> {if(session.finishTimestamp > 0) formatDate(session.finishTimestamp)} </td>
|
||||||
<td> {formatDurationOption(Some(session.totalTime))} </td>
|
<td> {formatDurationOption(Some(session.totalTime))} </td>
|
||||||
|
|
Loading…
Reference in a new issue