aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/Kamon.scala
diff options
context:
space:
mode:
authorIvan Topolnjak <ivantopo@gmail.com>2013-10-30 09:04:25 -0300
committerIvan Topolnjak <ivantopo@gmail.com>2013-10-30 09:04:25 -0300
commit227c2dfe6cb8b7e175ad72285dfdfbd15672be24 (patch)
tree7f849da0e20d4c5d80e2af6073e4d35d530408ba /kamon-core/src/main/scala/kamon/Kamon.scala
parentcee1e952cb0f73686bc0324c6bb9d8d571c9beb6 (diff)
downloadKamon-227c2dfe6cb8b7e175ad72285dfdfbd15672be24.tar.gz
Kamon-227c2dfe6cb8b7e175ad72285dfdfbd15672be24.tar.bz2
Kamon-227c2dfe6cb8b7e175ad72285dfdfbd15672be24.zip
move things all over the place
Diffstat (limited to 'kamon-core/src/main/scala/kamon/Kamon.scala')
-rw-r--r--kamon-core/src/main/scala/kamon/Kamon.scala56
1 files changed, 15 insertions, 41 deletions
diff --git a/kamon-core/src/main/scala/kamon/Kamon.scala b/kamon-core/src/main/scala/kamon/Kamon.scala
index fb1b2393..75ef1efe 100644
--- a/kamon-core/src/main/scala/kamon/Kamon.scala
+++ b/kamon-core/src/main/scala/kamon/Kamon.scala
@@ -1,12 +1,11 @@
package kamon
-import akka.actor.{Actor, Props, ActorSystem}
+import akka.actor._
import kamon.metric.{HistogramSnapshot, ActorSystemMetrics}
import scala.concurrent.duration.FiniteDuration
-import com.newrelic.api.agent.NewRelic
import scala.collection.concurrent.TrieMap
import kamon.instrumentation.{SimpleContextPassingInstrumentation, ActorInstrumentationConfiguration}
-import scala.util.DynamicVariable
+import kamon.metric.ActorSystemMetrics
object Instrument {
@@ -14,6 +13,19 @@ object Instrument {
}
object Kamon {
+ trait Extension extends akka.actor.Extension {
+ def manager: ActorRef
+ }
+
+ def apply[T <: Extension](key: ExtensionId[T])(implicit system: ActorSystem): ActorRef = key(system).manager
+
+
+
+
+
+
+
+
implicit lazy val actorSystem = ActorSystem("kamon")
object Metric {
@@ -32,18 +44,6 @@ object Kamon {
}
-object Tracer {
- val traceContext = new DynamicVariable[Option[TraceContext]](None)
-
-
- def context() = traceContext.value
- def set(ctx: TraceContext) = traceContext.value = Some(ctx)
-
- def start = set(newTraceContext)
- def newTraceContext(): TraceContext = TraceContext()(Kamon.actorSystem)
-}
-
-
class MetricManager extends Actor {
implicit val ec = context.system.dispatcher
@@ -70,29 +70,3 @@ class MetricManager extends Actor {
case class RegisterForAllDispatchers(frequency: FiniteDuration)
case class DispatcherMetrics(actorSystem: String, dispatcher: String, activeThreads: HistogramSnapshot, poolSize: HistogramSnapshot, queueSize: HistogramSnapshot)
-
-
-
-
-
-
-class NewrelicReporterActor extends Actor {
- import scala.concurrent.duration._
-
- //Kamon.metricManager ! RegisterForAllDispatchers(5 seconds)
-
- def receive = {
- case DispatcherMetrics(actorSystem, dispatcher, activeThreads, poolSize, queueSize) => {
- /*println("PUBLISHED DISPATCHER STATS")
- println(s"Custom/$actorSystem/Dispatcher/$dispatcher/Threads/active =>" + activeThreads.median.toFloat)
- println(s"Custom/$actorSystem/Dispatcher/$dispatcher/Threads/inactive =>" + (poolSize.median.toFloat-activeThreads.median.toFloat))
- println(s"Custom/$actorSystem/Dispatcher/$dispatcher/Queue =>" + queueSize.median.toFloat)*/
-
-
- NewRelic.recordMetric(s"Custom/$actorSystem/Dispatcher/$dispatcher/Threads/active", activeThreads.median.toFloat)
- NewRelic.recordMetric(s"Custom/$actorSystem/Dispatcher/$dispatcher/Threads/inactive", (poolSize.median.toFloat-activeThreads.median.toFloat))
-
- NewRelic.recordMetric(s"Custom/$actorSystem/Dispatcher/$dispatcher/Queue", queueSize.median.toFloat)
- }
- }
-} \ No newline at end of file