diff options
author | Ekasit Kijsipongse <ekasitk@gmail.com> | 2016-08-05 13:07:52 -0700 |
---|---|---|
committer | Marcelo Vanzin <vanzin@cloudera.com> | 2016-08-05 13:07:52 -0700 |
commit | 1f96c97f2374a95140a0c72b1f4eae50ac21d84a (patch) | |
tree | 23b0f443f88da95dac80f46a83a43bb73e37a202 /external | |
parent | 180fd3e0a3426db200c97170926afb60751dfd0e (diff) | |
download | spark-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.scala | 5 |
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() { |