aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon
diff options
context:
space:
mode:
authorDiego Parra <diegolparra@gmail.com>2013-08-23 04:19:17 -0300
committerDiego Parra <diegolparra@gmail.com>2013-08-23 04:19:17 -0300
commitb678e3250576a0352bfc1d8c4ee5ee2a62b75715 (patch)
treec8b1070ec7db24f23059642b07ad9cb8c421d27f /kamon-core/src/main/scala/kamon
parente7a33a53b2eb3c25fea0cb6da2b54b84c94761bd (diff)
downloadKamon-b678e3250576a0352bfc1d8c4ee5ee2a62b75715.tar.gz
Kamon-b678e3250576a0352bfc1d8c4ee5ee2a62b75715.tar.bz2
Kamon-b678e3250576a0352bfc1d8c4ee5ee2a62b75715.zip
WIP:first implementation of Kamon Dashboard
Diffstat (limited to 'kamon-core/src/main/scala/kamon')
-rw-r--r--kamon-core/src/main/scala/kamon/Kamon.scala12
-rw-r--r--kamon-core/src/main/scala/kamon/executor/eventbus.scala6
-rw-r--r--kamon-core/src/main/scala/kamon/instrumentation/ActorRefTellInstrumentation.scala3
-rw-r--r--kamon-core/src/main/scala/kamon/metric/Metrics.scala6
4 files changed, 13 insertions, 14 deletions
diff --git a/kamon-core/src/main/scala/kamon/Kamon.scala b/kamon-core/src/main/scala/kamon/Kamon.scala
index 07773c55..298f43eb 100644
--- a/kamon-core/src/main/scala/kamon/Kamon.scala
+++ b/kamon-core/src/main/scala/kamon/Kamon.scala
@@ -1,17 +1,17 @@
package kamon
import akka.actor.{Actor, Props, ActorSystem}
-import scala.collection.JavaConverters._
-import java.util.concurrent.ConcurrentHashMap
-import kamon.metric.{HistogramSnapshot, Histogram, Atomic, ActorSystemMetrics}
-import scala.concurrent.duration.{FiniteDuration, Duration}
+import kamon.metric.{HistogramSnapshot, ActorSystemMetrics}
+import scala.concurrent.duration.FiniteDuration
import com.newrelic.api.agent.NewRelic
+import scala.collection.concurrent.TrieMap
object Kamon {
implicit lazy val actorSystem = ActorSystem("kamon")
object Metric {
- val actorSystems = new ConcurrentHashMap[String, ActorSystemMetrics] asScala
+
+ val actorSystems = TrieMap.empty[String, ActorSystemMetrics]
def actorSystemNames: List[String] = actorSystems.keys.toList
def registerActorSystem(name: String) = actorSystems.getOrElseUpdate(name, ActorSystemMetrics(name))
@@ -34,7 +34,7 @@ object Tracer {
def clear = ctx.remove()
def set(traceContext: TraceContext) = ctx.set(Some(traceContext))
- def start = ??? //set(newTraceContext)
+ def start = set(newTraceContext)
def stop = ctx.get match {
case Some(context) => context.close
case None =>
diff --git a/kamon-core/src/main/scala/kamon/executor/eventbus.scala b/kamon-core/src/main/scala/kamon/executor/eventbus.scala
index 33ff4a4e..a1c099d4 100644
--- a/kamon-core/src/main/scala/kamon/executor/eventbus.scala
+++ b/kamon-core/src/main/scala/kamon/executor/eventbus.scala
@@ -36,7 +36,7 @@ case class Pong()
class PingActor extends Actor with ActorLogging {
- val pong = context.actorOf(Props[PongActor])
+ val pong = context.actorOf(Props[PongActor], "Pong")
val random = new Random()
def receive = {
case Pong() => {
@@ -68,7 +68,7 @@ object TryAkka extends App{
Tracer.start
for(i <- 1 to 4) {
- val ping = system.actorOf(Props[PingActor])
+ val ping = system.actorOf(Props[PingActor], "Ping" + i)
ping ! Pong()
}
@@ -86,7 +86,7 @@ object TryAkka extends App{
- Tracer.start
+ //Tracer.start
Tracer.context.get.append(CodeBlockExecutionTime("some-block", System.nanoTime(), System.nanoTime()))
threadPrintln("Before doing it")
diff --git a/kamon-core/src/main/scala/kamon/instrumentation/ActorRefTellInstrumentation.scala b/kamon-core/src/main/scala/kamon/instrumentation/ActorRefTellInstrumentation.scala
index 36dd9d0b..212eab2c 100644
--- a/kamon-core/src/main/scala/kamon/instrumentation/ActorRefTellInstrumentation.scala
+++ b/kamon-core/src/main/scala/kamon/instrumentation/ActorRefTellInstrumentation.scala
@@ -5,9 +5,8 @@ import org.aspectj.lang.ProceedingJoinPoint
import akka.actor.{Props, ActorSystem, ActorRef}
import kamon.{Tracer, TraceContext}
import akka.dispatch.{MessageDispatcher, Envelope}
-import com.codahale.metrics.{Timer, ExponentiallyDecayingReservoir, Histogram}
+import com.codahale.metrics.Timer
import kamon.metric.{MetricDirectory, Metrics}
-import com.codahale.metrics
import scala.Some
case class TraceableMessage(traceContext: Option[TraceContext], message: Any, timer: Timer.Context)
diff --git a/kamon-core/src/main/scala/kamon/metric/Metrics.scala b/kamon-core/src/main/scala/kamon/metric/Metrics.scala
index cdc0a334..edf532ae 100644
--- a/kamon-core/src/main/scala/kamon/metric/Metrics.scala
+++ b/kamon-core/src/main/scala/kamon/metric/Metrics.scala
@@ -1,9 +1,10 @@
package kamon.metric
-import java.util.concurrent.{ConcurrentHashMap, ConcurrentSkipListSet, TimeUnit}
+import java.util.concurrent.TimeUnit
import akka.actor.ActorRef
import com.codahale.metrics
import com.codahale.metrics.{MetricFilter, Metric, ConsoleReporter, MetricRegistry}
+import scala.collection.concurrent.TrieMap
object Metrics {
@@ -85,8 +86,7 @@ trait HistogramSnapshot {
case class ActorSystemMetrics(actorSystemName: String) {
- import scala.collection.JavaConverters._
- val dispatchers = new ConcurrentHashMap[String, DispatcherMetricCollector] asScala
+ val dispatchers = TrieMap.empty[String, DispatcherMetricCollector]
private[this] def createDispatcherCollector: DispatcherMetricCollector = DispatcherMetricCollector(CodahaleHistogram(), CodahaleHistogram(), CodahaleHistogram())