Skip to content
Snippets Groups Projects
Commit 48835868 authored by Patrick Wendell's avatar Patrick Wendell
Browse files

Responding to Matei's review

parent ddb97f0f
No related branches found
No related tags found
No related merge requests found
...@@ -5,6 +5,7 @@ import javax.servlet.http.HttpServletRequest ...@@ -5,6 +5,7 @@ import javax.servlet.http.HttpServletRequest
import org.eclipse.jetty.server.Handler import org.eclipse.jetty.server.Handler
import scala.collection.JavaConversions._ import scala.collection.JavaConversions._
import scala.util.Properties
import spark.ui.JettyUtils._ import spark.ui.JettyUtils._
import spark.ui.UIUtils.headerSparkPage import spark.ui.UIUtils.headerSparkPage
...@@ -21,19 +22,27 @@ private[spark] class EnvironmentUI(sc: SparkContext) { ...@@ -21,19 +22,27 @@ private[spark] class EnvironmentUI(sc: SparkContext) {
) )
def envDetails(request: HttpServletRequest): Seq[Node] = { def envDetails(request: HttpServletRequest): Seq[Node] = {
val properties = System.getProperties.iterator.toSeq val jvmInformation = Seq(
("Java Version", "%s (%s)".format(Properties.javaVersion, Properties.javaVendor)),
("Java Home", Properties.javaHome),
("Scala Version", Properties.versionString),
("Scala Home", Properties.scalaHome)
)
def jvmRow(kv: (String, String)) = <tr><td>{kv._1}</td><td>{kv._2}</td></tr>
def jvmTable = UIUtils.listingTable(Seq("Name", "Value"), jvmRow, jvmInformation)
val properties = System.getProperties.iterator.toSeq
val classPathProperty = properties val classPathProperty = properties
.filter{case (k, v) => k.contains("java.class.path")} .filter{case (k, v) => k.contains("java.class.path")}
.headOption .headOption
.getOrElse("", "") .getOrElse("", "")
val sparkProperties = properties.filter(_._1.contains("spark")) val sparkProperties = properties.filter(_._1.startsWith("spark"))
val otherProperties = properties.diff(sparkProperties :+ classPathProperty) val otherProperties = properties.diff(sparkProperties :+ classPathProperty)
val propertyHeaders = Seq("Name", "Value") val propertyHeaders = Seq("Name", "Value")
def propertyRow(kv: (String, String)) = <tr><td>{kv._1}</td><td>{kv._2}</td></tr> def propertyRow(kv: (String, String)) = <tr><td>{kv._1}</td><td>{kv._2}</td></tr>
val propertyTable = UIUtils.listingTable( val sparkPropertyTable = UIUtils.listingTable(propertyHeaders, propertyRow, sparkProperties)
propertyHeaders, propertyRow, sparkProperties ++ otherProperties) val otherPropertyTable = UIUtils.listingTable(propertyHeaders, propertyRow, otherProperties)
val classPathEntries = classPathProperty._2 val classPathEntries = classPathProperty._2
.split(System.getProperty("path.separator", ":")) .split(System.getProperty("path.separator", ":"))
...@@ -49,7 +58,9 @@ private[spark] class EnvironmentUI(sc: SparkContext) { ...@@ -49,7 +58,9 @@ private[spark] class EnvironmentUI(sc: SparkContext) {
val content = val content =
<span> <span>
<h2>System Properties</h2> {propertyTable} <h2>Runtime Information</h2> {jvmTable}
<h2>Spark Properties</h2> {sparkPropertyTable}
<h2>System Properties</h2> {otherPropertyTable}
<h2>Classpath Entries</h2> {classPathTable} <h2>Classpath Entries</h2> {classPathTable}
</span> </span>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment