diff options
author | Ivan Topolnak <ivantopo@gmail.com> | 2013-09-18 18:43:11 -0300 |
---|---|---|
committer | Ivan Topolnak <ivantopo@gmail.com> | 2013-09-18 18:43:11 -0300 |
commit | bbf7afd85809f6d43b310290b4bb9102dd36043c (patch) | |
tree | e819812cafa5bc5c92065b003311866e7a231386 /kamon-core/src/main/scala/test/PingPong.scala | |
parent | 9382ce9d66b5d6bfef515cee56f40aa178920335 (diff) | |
download | Kamon-bbf7afd85809f6d43b310290b4bb9102dd36043c.tar.gz Kamon-bbf7afd85809f6d43b310290b4bb9102dd36043c.tar.bz2 Kamon-bbf7afd85809f6d43b310290b4bb9102dd36043c.zip |
basic newrelic reporting
Diffstat (limited to 'kamon-core/src/main/scala/test/PingPong.scala')
-rw-r--r-- | kamon-core/src/main/scala/test/PingPong.scala | 50 |
1 files changed, 38 insertions, 12 deletions
diff --git a/kamon-core/src/main/scala/test/PingPong.scala b/kamon-core/src/main/scala/test/PingPong.scala index 6ed17ec6..b78f1d79 100644 --- a/kamon-core/src/main/scala/test/PingPong.scala +++ b/kamon-core/src/main/scala/test/PingPong.scala @@ -1,37 +1,63 @@ package test import akka.actor.{Deploy, Props, Actor, ActorSystem} +import java.util.concurrent.atomic.AtomicLong +import kamon.Tracer +import spray.routing.SimpleRoutingApp object PingPong extends App { + import scala.concurrent.duration._ + val counter = new AtomicLong val as = ActorSystem("ping-pong") + import as.dispatcher - val pinger = as.actorOf(Props[Pinger]) - val ponger = as.actorOf(Props[Ponger]) + Tracer.start - pinger.tell(Pong, ponger) - - - Thread.sleep(30000) - as.shutdown() + for(i <- 1 to 64) { + val pinger = as.actorOf(Props[Pinger]) + val ponger = as.actorOf(Props[Ponger]) + for(_ <- 1 to 256) { + pinger.tell(Pong, ponger) + } + } + as.scheduler.schedule(1 second, 1 second) { + println("Processed: " + counter.getAndSet(0)) + } } case object Ping case object Pong class Pinger extends Actor { - val ponger = context.actorOf(Props[Ponger], "ponger#") - val ponger2 = context.actorOf(Props[Ponger], "ponger#") - def receive = { - case Pong => ponger ! Ping + case Pong => { + sender ! Ping + PingPong.counter.incrementAndGet() + } } } class Ponger extends Actor { def receive = { - case Ping => sender ! Pong + case Ping => { + sender ! Pong; PingPong.counter.incrementAndGet() + } } } + + +object SimpleRequestProcessor extends App with SimpleRoutingApp { + implicit val system = ActorSystem("test") + + startServer(interface = "localhost", port = 9090) { + get { + path("test"){ + complete("OK") + } + } + } + +} |