Merge pull request #758 from pwendell/master-json
Add JSON path to master index page
This commit is contained in:
commit
cb7dd86419
|
@ -25,17 +25,25 @@ import akka.dispatch.Await
|
|||
import akka.pattern.ask
|
||||
import akka.util.duration._
|
||||
|
||||
import net.liftweb.json.JsonAST.JValue
|
||||
|
||||
import spark.Utils
|
||||
import spark.deploy.DeployWebUI
|
||||
import spark.deploy.DeployMessages.{MasterStateResponse, RequestMasterState}
|
||||
import spark.deploy.JsonProtocol
|
||||
import spark.deploy.master.{ApplicationInfo, WorkerInfo}
|
||||
import spark.ui.UIUtils
|
||||
|
||||
|
||||
private[spark] class IndexPage(parent: MasterWebUI) {
|
||||
val master = parent.master
|
||||
implicit val timeout = parent.timeout
|
||||
|
||||
def renderJson(request: HttpServletRequest): JValue = {
|
||||
val stateFuture = (master ? RequestMasterState)(timeout).mapTo[MasterStateResponse]
|
||||
val state = Await.result(stateFuture, 30 seconds)
|
||||
JsonProtocol.writeMasterState(state)
|
||||
}
|
||||
|
||||
/** Index view listing applications and executors */
|
||||
def render(request: HttpServletRequest): Seq[Node] = {
|
||||
val stateFuture = (master ? RequestMasterState)(timeout).mapTo[MasterStateResponse]
|
||||
|
|
|
@ -61,6 +61,7 @@ class MasterWebUI(val master: ActorRef, requestedPort: Int) extends Logging {
|
|||
("/static", createStaticHandler(MasterWebUI.STATIC_RESOURCE_DIR)),
|
||||
("/app/json", (request: HttpServletRequest) => applicationPage.renderJson(request)),
|
||||
("/app", (request: HttpServletRequest) => applicationPage.render(request)),
|
||||
("/json", (request: HttpServletRequest) => indexPage.renderJson(request)),
|
||||
("*", (request: HttpServletRequest) => indexPage.render(request))
|
||||
)
|
||||
|
||||
|
|
Loading…
Reference in a new issue