Repository: spark
Updated Branches:
  refs/heads/master 11a1a135d -> 93dbb3ad8


[SPARK-7598] [DEPLOY] Add aliveWorkers metrics in Master

In Spark Standalone setup, when some workers are DEAD, they will stay in master 
worker list for a while.
master.workers metrics for master is only showing the total number of workers, 
we need to monitor how many real ALIVE workers are there to ensure the cluster 
is healthy.

Author: Rex Xiong <[email protected]>

Closes #6117 from twilightgod/add-aliveWorker-metrics and squashes the 
following commits:

6be69a5 [Rex Xiong] Fix comment for aliveWorkers metrics
a882f39 [Rex Xiong] Fix style for aliveWorkers metrics
38ce955 [Rex Xiong] Add aliveWorkers metrics in Master


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/93dbb3ad
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/93dbb3ad
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/93dbb3ad

Branch: refs/heads/master
Commit: 93dbb3ad83fd60444a38c3dc87a2053c667123af
Parents: 11a1a13
Author: Rex Xiong <[email protected]>
Authored: Thu May 14 16:55:31 2015 -0700
Committer: Andrew Or <[email protected]>
Committed: Thu May 14 16:55:31 2015 -0700

----------------------------------------------------------------------
 .../scala/org/apache/spark/deploy/master/MasterSource.scala     | 5 +++++
 1 file changed, 5 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/spark/blob/93dbb3ad/core/src/main/scala/org/apache/spark/deploy/master/MasterSource.scala
----------------------------------------------------------------------
diff --git 
a/core/src/main/scala/org/apache/spark/deploy/master/MasterSource.scala 
b/core/src/main/scala/org/apache/spark/deploy/master/MasterSource.scala
index 9c3f79f..66a9ff3 100644
--- a/core/src/main/scala/org/apache/spark/deploy/master/MasterSource.scala
+++ b/core/src/main/scala/org/apache/spark/deploy/master/MasterSource.scala
@@ -30,6 +30,11 @@ private[spark] class MasterSource(val master: Master) 
extends Source {
     override def getValue: Int = master.workers.size
   })
 
+  // Gauge for alive worker numbers in cluster
+  metricRegistry.register(MetricRegistry.name("aliveWorkers"), new Gauge[Int]{
+    override def getValue: Int = master.workers.filter(_.state == 
WorkerState.ALIVE).size
+  })
+
   // Gauge for application numbers in cluster
   metricRegistry.register(MetricRegistry.name("apps"), new Gauge[Int] {
     override def getValue: Int = master.apps.size


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to