From bbf7afd85809f6d43b310290b4bb9102dd36043c Mon Sep 17 00:00:00 2001 From: Ivan Topolnak Date: Wed, 18 Sep 2013 18:43:11 -0300 Subject: basic newrelic reporting --- .../scala/kamon/newrelic/NewRelicReporting.scala | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 kamon-core/src/main/scala/kamon/newrelic/NewRelicReporting.scala (limited to 'kamon-core/src/main/scala/kamon/newrelic/NewRelicReporting.scala') 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) + } +} -- cgit v1.2.3