aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/newrelic/NewRelicReporting.scala
diff options
context:
space:
mode:
authorIvan Topolnak <ivantopo@gmail.com>2013-09-18 18:43:11 -0300
committerIvan Topolnak <ivantopo@gmail.com>2013-09-18 18:43:11 -0300
commitbbf7afd85809f6d43b310290b4bb9102dd36043c (patch)
treee819812cafa5bc5c92065b003311866e7a231386 /kamon-core/src/main/scala/kamon/newrelic/NewRelicReporting.scala
parent9382ce9d66b5d6bfef515cee56f40aa178920335 (diff)
downloadKamon-bbf7afd85809f6d43b310290b4bb9102dd36043c.tar.gz
Kamon-bbf7afd85809f6d43b310290b4bb9102dd36043c.tar.bz2
Kamon-bbf7afd85809f6d43b310290b4bb9102dd36043c.zip
basic newrelic reporting
Diffstat (limited to 'kamon-core/src/main/scala/kamon/newrelic/NewRelicReporting.scala')
-rw-r--r--kamon-core/src/main/scala/kamon/newrelic/NewRelicReporting.scala21
1 files changed, 21 insertions, 0 deletions
diff --git a/kamon-core/src/main/scala/kamon/newrelic/NewRelicReporting.scala b/kamon-core/src/main/scala/kamon/newrelic/NewRelicReporting.scala
new file mode 100644
index 00000000..131ecba9
--- /dev/null
+++ b/kamon-core/src/main/scala/kamon/newrelic/NewRelicReporting.scala
@@ -0,0 +1,21 @@
+package kamon.newrelic
+
+import akka.actor.Actor
+import kamon.trace.UowTrace
+import com.newrelic.api.agent.{Trace, NewRelic}
+
+
+class NewRelicReporting extends Actor {
+ def receive = {
+ case trace: UowTrace => recordTransaction(trace)
+ }
+
+ //@Trace
+ def recordTransaction(uowTrace: UowTrace): Unit = {
+ val time = (uowTrace.segments.last.timestamp - uowTrace.segments.head.timestamp)/1E9
+
+ NewRelic.recordMetric("WebTransaction/Custom" + uowTrace.name, time.toFloat)
+ NewRelic.recordMetric("WebTransaction", time.toFloat)
+ NewRelic.recordMetric("HttpDispatcher", time.toFloat)
+ }
+}