aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShixiong Zhu <shixiong@databricks.com>2016-09-19 14:00:42 -0400
committerAndrew Or <andrew@databricks.com>2016-09-19 14:00:42 -0400
commit80d6655921bea9b1bb27c1d95c2b46654e7a8cca (patch)
tree72484cdfe7cdeb8a322992e0f916ee9976a66ed5
parentcdea1d1343d02f0077e1f3c92ca46d04a3d30414 (diff)
downloadspark-80d6655921bea9b1bb27c1d95c2b46654e7a8cca.tar.gz
spark-80d6655921bea9b1bb27c1d95c2b46654e7a8cca.tar.bz2
spark-80d6655921bea9b1bb27c1d95c2b46654e7a8cca.zip
[SPARK-17438][WEBUI] Show Application.executorLimit in the application page
## What changes were proposed in this pull request? This PR adds `Application.executorLimit` to the applicatino page ## How was this patch tested? Checked the UI manually. Screenshots: 1. Dynamic allocation is disabled <img width="484" alt="screen shot 2016-09-07 at 4 21 49 pm" src="https://cloud.githubusercontent.com/assets/1000778/18332029/210056ea-7518-11e6-9f52-76d96046c1c0.png"> 2. Dynamic allocation is enabled. <img width="466" alt="screen shot 2016-09-07 at 4 25 30 pm" src="https://cloud.githubusercontent.com/assets/1000778/18332034/2c07700a-7518-11e6-8fce-aebe25014902.png"> Author: Shixiong Zhu <shixiong@databricks.com> Closes #15001 from zsxwing/fix-core-info.
-rw-r--r--core/src/main/scala/org/apache/spark/deploy/master/ui/ApplicationPage.scala12
-rw-r--r--core/src/main/scala/org/apache/spark/ui/ToolTips.scala6
2 files changed, 17 insertions, 1 deletions
diff --git a/core/src/main/scala/org/apache/spark/deploy/master/ui/ApplicationPage.scala b/core/src/main/scala/org/apache/spark/deploy/master/ui/ApplicationPage.scala
index 17c521cbf9..18cff3125d 100644
--- a/core/src/main/scala/org/apache/spark/deploy/master/ui/ApplicationPage.scala
+++ b/core/src/main/scala/org/apache/spark/deploy/master/ui/ApplicationPage.scala
@@ -24,7 +24,7 @@ import scala.xml.Node
import org.apache.spark.deploy.DeployMessages.{MasterStateResponse, RequestMasterState}
import org.apache.spark.deploy.ExecutorState
import org.apache.spark.deploy.master.ExecutorDesc
-import org.apache.spark.ui.{UIUtils, WebUIPage}
+import org.apache.spark.ui.{ToolTips, UIUtils, WebUIPage}
import org.apache.spark.util.Utils
private[ui] class ApplicationPage(parent: MasterWebUI) extends WebUIPage("app") {
@@ -70,6 +70,16 @@ private[ui] class ApplicationPage(parent: MasterWebUI) extends WebUIPage("app")
}
</li>
<li>
+ <span data-toggle="tooltip" title={ToolTips.APPLICATION_EXECUTOR_LIMIT}
+ data-placement="right">
+ <strong>Executor Limit: </strong>
+ {
+ if (app.executorLimit == Int.MaxValue) "Unlimited" else app.executorLimit
+ }
+ ({app.executors.size} granted)
+ </span>
+ </li>
+ <li>
<strong>Executor Memory:</strong>
{Utils.megabytesToString(app.desc.memoryPerExecutorMB)}
</li>
diff --git a/core/src/main/scala/org/apache/spark/ui/ToolTips.scala b/core/src/main/scala/org/apache/spark/ui/ToolTips.scala
index 2d2d80be4a..3cc5353f47 100644
--- a/core/src/main/scala/org/apache/spark/ui/ToolTips.scala
+++ b/core/src/main/scala/org/apache/spark/ui/ToolTips.scala
@@ -90,4 +90,10 @@ private[spark] object ToolTips {
val TASK_TIME =
"Shaded red when garbage collection (GC) time is over 10% of task time"
+
+ val APPLICATION_EXECUTOR_LIMIT =
+ """Maximum number of executors that this application will use. This limit is finite only when
+ dynamic allocation is enabled. The number of granted executors may exceed the limit
+ ephemerally when executors are being killed.
+ """
}