aboutsummaryrefslogtreecommitdiff
path: root/extras/spark-ganglia-lgpl
diff options
context:
space:
mode:
authorSean Owen <sowen@cloudera.com>2016-03-09 18:27:44 +0000
committerSean Owen <sowen@cloudera.com>2016-03-09 18:27:44 +0000
commit256704c771d301700af9ebf0d180c1ba7c4116c0 (patch)
treef9be79919b5c6ec4847c24a086fa844555e2cd12 /extras/spark-ganglia-lgpl
parent7791d0c3a9bdfe73e071266846f9ab1491fce50c (diff)
downloadspark-256704c771d301700af9ebf0d180c1ba7c4116c0.tar.gz
spark-256704c771d301700af9ebf0d180c1ba7c4116c0.tar.bz2
spark-256704c771d301700af9ebf0d180c1ba7c4116c0.zip
[SPARK-13595][BUILD] Move docker, extras modules into external
## What changes were proposed in this pull request? Move `docker` dirs out of top level into `external/`; move `extras/*` into `external/` ## How was this patch tested? This is tested with Jenkins tests. Author: Sean Owen <sowen@cloudera.com> Closes #11523 from srowen/SPARK-13595.
Diffstat (limited to 'extras/spark-ganglia-lgpl')
-rw-r--r--extras/spark-ganglia-lgpl/pom.xml49
-rw-r--r--extras/spark-ganglia-lgpl/src/main/scala/org/apache/spark/metrics/sink/GangliaSink.scala90
2 files changed, 0 insertions, 139 deletions
diff --git a/extras/spark-ganglia-lgpl/pom.xml b/extras/spark-ganglia-lgpl/pom.xml
deleted file mode 100644
index bfb92791de..0000000000
--- a/extras/spark-ganglia-lgpl/pom.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-~ Licensed to the Apache Software Foundation (ASF) under one or more
-~ contributor license agreements. See the NOTICE file distributed with
-~ this work for additional information regarding copyright ownership.
-~ The ASF licenses this file to You under the Apache License, Version 2.0
-~ (the "License"); you may not use this file except in compliance with
-~ the License. You may obtain a copy of the License at
-~
-~ http://www.apache.org/licenses/LICENSE-2.0
-~
-~ Unless required by applicable law or agreed to in writing, software
-~ distributed under the License is distributed on an "AS IS" BASIS,
-~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-~ See the License for the specific language governing permissions and
-~ limitations under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.spark</groupId>
- <artifactId>spark-parent_2.11</artifactId>
- <version>2.0.0-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
-
- <!-- Ganglia integration is not included by default due to LGPL-licensed code -->
- <groupId>org.apache.spark</groupId>
- <artifactId>spark-ganglia-lgpl_2.11</artifactId>
- <packaging>jar</packaging>
- <name>Spark Ganglia Integration</name>
-
- <properties>
- <sbt.project.name>ganglia-lgpl</sbt.project.name>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.spark</groupId>
- <artifactId>spark-core_${scala.binary.version}</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>io.dropwizard.metrics</groupId>
- <artifactId>metrics-ganglia</artifactId>
- </dependency>
- </dependencies>
-</project>
diff --git a/extras/spark-ganglia-lgpl/src/main/scala/org/apache/spark/metrics/sink/GangliaSink.scala b/extras/spark-ganglia-lgpl/src/main/scala/org/apache/spark/metrics/sink/GangliaSink.scala
deleted file mode 100644
index 3b1880e143..0000000000
--- a/extras/spark-ganglia-lgpl/src/main/scala/org/apache/spark/metrics/sink/GangliaSink.scala
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.spark.metrics.sink
-
-import java.util.Properties
-import java.util.concurrent.TimeUnit
-
-import com.codahale.metrics.MetricRegistry
-import com.codahale.metrics.ganglia.GangliaReporter
-import info.ganglia.gmetric4j.gmetric.GMetric
-import info.ganglia.gmetric4j.gmetric.GMetric.UDPAddressingMode
-
-import org.apache.spark.SecurityManager
-import org.apache.spark.metrics.MetricsSystem
-
-class GangliaSink(val property: Properties, val registry: MetricRegistry,
- securityMgr: SecurityManager) extends Sink {
- val GANGLIA_KEY_PERIOD = "period"
- val GANGLIA_DEFAULT_PERIOD = 10
-
- val GANGLIA_KEY_UNIT = "unit"
- val GANGLIA_DEFAULT_UNIT: TimeUnit = TimeUnit.SECONDS
-
- val GANGLIA_KEY_MODE = "mode"
- val GANGLIA_DEFAULT_MODE: UDPAddressingMode = GMetric.UDPAddressingMode.MULTICAST
-
- // TTL for multicast messages. If listeners are X hops away in network, must be at least X.
- val GANGLIA_KEY_TTL = "ttl"
- val GANGLIA_DEFAULT_TTL = 1
-
- val GANGLIA_KEY_HOST = "host"
- val GANGLIA_KEY_PORT = "port"
-
- def propertyToOption(prop: String): Option[String] = Option(property.getProperty(prop))
-
- if (!propertyToOption(GANGLIA_KEY_HOST).isDefined) {
- throw new Exception("Ganglia sink requires 'host' property.")
- }
-
- if (!propertyToOption(GANGLIA_KEY_PORT).isDefined) {
- throw new Exception("Ganglia sink requires 'port' property.")
- }
-
- 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 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)
- .getOrElse(GANGLIA_DEFAULT_PERIOD)
- val pollUnit: TimeUnit = propertyToOption(GANGLIA_KEY_UNIT)
- .map(u => TimeUnit.valueOf(u.toUpperCase))
- .getOrElse(GANGLIA_DEFAULT_UNIT)
-
- MetricsSystem.checkMinimalPollingPeriod(pollUnit, pollPeriod)
-
- val ganglia = new GMetric(host, port, mode, ttl)
- val reporter: GangliaReporter = GangliaReporter.forRegistry(registry)
- .convertDurationsTo(TimeUnit.MILLISECONDS)
- .convertRatesTo(TimeUnit.SECONDS)
- .build(ganglia)
-
- override def start() {
- reporter.start(pollPeriod, pollUnit)
- }
-
- override def stop() {
- reporter.stop()
- }
-
- override def report() {
- reporter.report()
- }
-}
-