Преглед изворни кода

Merge pull request #224 from TheClimateCorporation/add-metrics-support

[spark] Add scalatra-metrics support to Livy
Romain Rigaux пре 10 година
родитељ
комит
31cf206

+ 12 - 0
apps/spark/java/livy-server/pom.xml

@@ -52,6 +52,18 @@
             <scope>test</scope>
         </dependency>
 
+        <dependency>
+            <groupId>org.scalatra</groupId>
+            <artifactId>scalatra-metrics_${scala.binary.version}</artifactId>
+            <version>2.4.0.M3</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.typesafe.akka</groupId>
+                    <artifactId>akka-actor_${scala.binary.version}</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
         <dependency>
             <groupId>org.apache.spark</groupId>
             <artifactId>spark-assembly_${scala.binary.version}</artifactId>

+ 7 - 1
apps/spark/java/livy-server/src/main/scala/com/cloudera/hue/livy/server/Main.scala

@@ -25,6 +25,8 @@ import com.cloudera.hue.livy._
 import com.cloudera.hue.livy.server.batch._
 import com.cloudera.hue.livy.server.interactive._
 import org.scalatra._
+import org.scalatra.metrics.MetricsBootstrap
+import org.scalatra.metrics.MetricsSupportExtensions._
 import org.scalatra.servlet.ScalatraListener
 import org.slf4j.LoggerFactory
 
@@ -121,7 +123,10 @@ object Main {
   }
 }
 
-class ScalatraBootstrap extends LifeCycle with Logging {
+class ScalatraBootstrap
+  extends LifeCycle
+  with Logging
+  with MetricsBootstrap {
 
   var sessionManager: SessionManager[InteractiveSession] = null
   var batchManager: SessionManager[BatchSession] = null
@@ -145,6 +150,7 @@ class ScalatraBootstrap extends LifeCycle with Logging {
 
       context.mount(new InteractiveSessionServlet(sessionManager), "/sessions/*")
       context.mount(new BatchSessionServlet(batchManager), "/batches/*")
+      context.mountMetricsAdminServlet("/")
     } catch {
       case e: Throwable =>
         println(f"Exception thrown when initializing server: $e")