aboutsummaryrefslogtreecommitdiff
path: root/kamon-playground/src/main/scala/test/SimpleRequestProcessor.scala
diff options
context:
space:
mode:
Diffstat (limited to 'kamon-playground/src/main/scala/test/SimpleRequestProcessor.scala')
-rw-r--r--kamon-playground/src/main/scala/test/SimpleRequestProcessor.scala13
1 files changed, 10 insertions, 3 deletions
diff --git a/kamon-playground/src/main/scala/test/SimpleRequestProcessor.scala b/kamon-playground/src/main/scala/test/SimpleRequestProcessor.scala
index dfa275ba..9ff22c12 100644
--- a/kamon-playground/src/main/scala/test/SimpleRequestProcessor.scala
+++ b/kamon-playground/src/main/scala/test/SimpleRequestProcessor.scala
@@ -26,7 +26,7 @@ import scala.util.Random
import akka.routing.RoundRobinRouter
import kamon.trace.TraceRecorder
import kamon.Kamon
-import kamon.metrics.{ TickMetricSnapshotBuffer, ActorMetrics, TraceMetrics, Metrics }
+import kamon.metrics._
import spray.http.{ StatusCodes, Uri }
import kamon.metrics.Subscriptions.TickMetricSnapshot
import kamon.newrelic.WebTransactionMetrics
@@ -45,9 +45,9 @@ object SimpleRequestProcessor extends App with SimpleRoutingApp with RequestBuil
def receive: Actor.Receive = { case any ⇒ sender ! any }
}), "com")
- val buffer = system.actorOf(TickMetricSnapshotBuffer.props(10 seconds, printer))
+ //val buffer = system.actorOf(TickMetricSnapshotBuffer.props(30 seconds, printer))
- Kamon(Metrics).subscribe(TraceMetrics, "*", buffer, permanently = true)
+ //Kamon(Metrics).subscribe(CustomMetric, "*", buffer, permanently = true)
//Kamon(Metrics).subscribe(ActorMetrics, "*", printer, permanently = true)
implicit val timeout = Timeout(30 seconds)
@@ -55,6 +55,9 @@ object SimpleRequestProcessor extends App with SimpleRoutingApp with RequestBuil
val pipeline = sendReceive
val replier = system.actorOf(Props[Replier].withRouter(RoundRobinRouter(nrOfInstances = 2)), "replier")
val random = new Random()
+
+ val requestCountRecorder = Kamon(Metrics).register(CustomMetric("GetCount"), CustomMetric.histogram(10, 3, Scale.Unit))
+
startServer(interface = "localhost", port = 9090) {
get {
path("test") {
@@ -85,6 +88,8 @@ object SimpleRequestProcessor extends App with SimpleRoutingApp with RequestBuil
path("ok") {
traceName("OK") {
complete {
+ println("Defined: " + requestCountRecorder)
+ requestCountRecorder.map(_.record(1))
"ok"
}
}
@@ -115,6 +120,8 @@ object SimpleRequestProcessor extends App with SimpleRoutingApp with RequestBuil
class PrintWhatever extends Actor {
def receive = {
+ case TickMetricSnapshot(from, to, metrics) ⇒
+ println(metrics.map { case (key, value) ⇒ key.name + " => " + value.metrics.mkString(",") }.mkString("|"))
case anything ⇒ println(anything)
}
}