aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/newrelic/NewRelicReporting.scala
blob: 131ecba9168ecf695ed7d06e6ebc9e5402dfddbc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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)
  }
}