aboutsummaryrefslogtreecommitdiff
path: root/external
diff options
context:
space:
mode:
authorEkasit Kijsipongse <ekasitk@gmail.com>2016-08-05 13:07:52 -0700
committerMarcelo Vanzin <vanzin@cloudera.com>2016-08-05 13:07:52 -0700
commit1f96c97f2374a95140a0c72b1f4eae50ac21d84a (patch)
tree23b0f443f88da95dac80f46a83a43bb73e37a202 /external
parent180fd3e0a3426db200c97170926afb60751dfd0e (diff)
downloadspark-1f96c97f2374a95140a0c72b1f4eae50ac21d84a.tar.gz
spark-1f96c97f2374a95140a0c72b1f4eae50ac21d84a.tar.bz2
spark-1f96c97f2374a95140a0c72b1f4eae50ac21d84a.zip
[SPARK-13238][CORE] Add ganglia dmax parameter
The current ganglia reporter doesn't set metric expiration time (dmax). The metrics of all finished applications are indefinitely left displayed in ganglia web. The dmax parameter allows user to set the lifetime of the metrics. The default value is 0 for compatibility with previous versions. Author: Ekasit Kijsipongse <ekasitk@gmail.com> Closes #11127 from ekasitk/ganglia-dmax.
Diffstat (limited to 'external')
-rw-r--r--external/spark-ganglia-lgpl/src/main/scala/org/apache/spark/metrics/sink/GangliaSink.scala5
1 files changed, 5 insertions, 0 deletions
diff --git a/external/spark-ganglia-lgpl/src/main/scala/org/apache/spark/metrics/sink/GangliaSink.scala b/external/spark-ganglia-lgpl/src/main/scala/org/apache/spark/metrics/sink/GangliaSink.scala
index 3b1880e143..0cd795f638 100644
--- a/external/spark-ganglia-lgpl/src/main/scala/org/apache/spark/metrics/sink/GangliaSink.scala
+++ b/external/spark-ganglia-lgpl/src/main/scala/org/apache/spark/metrics/sink/GangliaSink.scala
@@ -46,6 +46,9 @@ class GangliaSink(val property: Properties, val registry: MetricRegistry,
val GANGLIA_KEY_HOST = "host"
val GANGLIA_KEY_PORT = "port"
+ val GANGLIA_KEY_DMAX = "dmax"
+ val GANGLIA_DEFAULT_DMAX = 0
+
def propertyToOption(prop: String): Option[String] = Option(property.getProperty(prop))
if (!propertyToOption(GANGLIA_KEY_HOST).isDefined) {
@@ -59,6 +62,7 @@ class GangliaSink(val property: Properties, val registry: MetricRegistry,
val host = propertyToOption(GANGLIA_KEY_HOST).get
val port = propertyToOption(GANGLIA_KEY_PORT).get.toInt
val ttl = propertyToOption(GANGLIA_KEY_TTL).map(_.toInt).getOrElse(GANGLIA_DEFAULT_TTL)
+ val dmax = propertyToOption(GANGLIA_KEY_DMAX).map(_.toInt).getOrElse(GANGLIA_DEFAULT_DMAX)
val mode: UDPAddressingMode = propertyToOption(GANGLIA_KEY_MODE)
.map(u => GMetric.UDPAddressingMode.valueOf(u.toUpperCase)).getOrElse(GANGLIA_DEFAULT_MODE)
val pollPeriod = propertyToOption(GANGLIA_KEY_PERIOD).map(_.toInt)
@@ -73,6 +77,7 @@ class GangliaSink(val property: Properties, val registry: MetricRegistry,
val reporter: GangliaReporter = GangliaReporter.forRegistry(registry)
.convertDurationsTo(TimeUnit.MILLISECONDS)
.convertRatesTo(TimeUnit.SECONDS)
+ .withDMax(dmax)
.build(ganglia)
override def start() {