aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Topolnak <ivantopo@gmail.com>2013-05-21 18:31:50 -0300
committerIvan Topolnak <ivantopo@gmail.com>2013-05-21 18:31:50 -0300
commitc56018c9a3bef9e99cc38f1804eafdfe5c8be45c (patch)
treee6a9c4fc5a3fb81b2f5eaa6b554c52f87425bebe
parentfa11dbb9448e002de4863fd67924946b7157913d (diff)
downloadKamon-c56018c9a3bef9e99cc38f1804eafdfe5c8be45c.tar.gz
Kamon-c56018c9a3bef9e99cc38f1804eafdfe5c8be45c.tar.bz2
Kamon-c56018c9a3bef9e99cc38f1804eafdfe5c8be45c.zip
started working on metrics aggregation using dedicated actors
-rw-r--r--project/Build.scala2
-rw-r--r--project/Dependencies.scala1
-rw-r--r--src/main/scala/kamon/Aggregator.scala18
3 files changed, 20 insertions, 1 deletions
diff --git a/project/Build.scala b/project/Build.scala
index 13afe956..97f23aa6 100644
--- a/project/Build.scala
+++ b/project/Build.scala
@@ -10,7 +10,7 @@ object Build extends Build {
.settings(revolverSettings: _*)
.settings(
libraryDependencies ++=
- compile(akkaActor, sprayCan, sprayClient, sprayRouting, sprayServlet, aspectJ, metrics, newrelic, metricsScala, sprayJson) ++
+ compile(akkaActor, sprayCan, sprayClient, sprayRouting, sprayServlet, aspectJ, metrics, newrelic, metricsScala, sprayJson, guava) ++
test(scalatest, sprayTestkit))
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index 491a9c24..357b7d7d 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -23,6 +23,7 @@ object Dependencies {
val metrics = "com.yammer.metrics" % "metrics-core" % "2.2.0"
val metricsScala = "com.yammer.metrics" % "metrics-scala_2.9.1" % "2.2.0"
val newrelic = "com.newrelic.agent.java" % "newrelic-api" % "2.17.2"
+ val guava = "com.google.guava" % "guava" % "14.0.1"
def compile (deps: ModuleID*): Seq[ModuleID] = deps map (_ % "compile")
def provided (deps: ModuleID*): Seq[ModuleID] = deps map (_ % "provided")
diff --git a/src/main/scala/kamon/Aggregator.scala b/src/main/scala/kamon/Aggregator.scala
new file mode 100644
index 00000000..441178df
--- /dev/null
+++ b/src/main/scala/kamon/Aggregator.scala
@@ -0,0 +1,18 @@
+package kamon
+
+import akka.actor.Actor
+import scala.collection.mutable
+
+class Aggregator extends Actor {
+
+ val parts = mutable.LinkedList[TraceEntry]()
+
+ def receive = {
+ case ContextPart(ctx) => println("registering context information")
+ case FinishAggregation() => println("report to newrelic")
+ }
+
+}
+
+case class ContextPart(context: TraceContext)
+case class FinishAggregation()