diff options
author | Ivan Topolnak <ivantopo@gmail.com> | 2013-09-25 19:45:54 -0300 |
---|---|---|
committer | Ivan Topolnak <ivantopo@gmail.com> | 2013-09-25 19:45:54 -0300 |
commit | 96e89d0908c479360d4a915c916e341e148a91c7 (patch) | |
tree | 6f41b5e61abe38e8f143b979ef37452ce339bb71 /kamon-core/src/main/scala/kamon/trace | |
parent | 7a86ca357a11caa6abc89c325be8d50dd91071a6 (diff) | |
download | Kamon-96e89d0908c479360d4a915c916e341e148a91c7.tar.gz Kamon-96e89d0908c479360d4a915c916e341e148a91c7.tar.bz2 Kamon-96e89d0908c479360d4a915c916e341e148a91c7.zip |
wip
Diffstat (limited to 'kamon-core/src/main/scala/kamon/trace')
-rw-r--r-- | kamon-core/src/main/scala/kamon/trace/UowTracing.scala | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/kamon-core/src/main/scala/kamon/trace/UowTracing.scala b/kamon-core/src/main/scala/kamon/trace/UowTracing.scala index 8efc46b2..48def942 100644 --- a/kamon-core/src/main/scala/kamon/trace/UowTracing.scala +++ b/kamon-core/src/main/scala/kamon/trace/UowTracing.scala @@ -1,8 +1,13 @@ package kamon.trace -import akka.actor.{Props, ActorRef, Actor} +import akka.actor._ import kamon.trace.UowTracing.{Start, Finish, Rename} import scala.concurrent.duration.Duration +import kamon.trace.UowTracing.Finish +import kamon.trace.UowTracing.Rename +import kamon.trace.UowTrace +import kamon.trace.UowTracing.Start +import scala.Some sealed trait UowSegment { def timestamp: Long @@ -22,7 +27,7 @@ object UowTracing { case class UowTrace(name: String, segments: Seq[UowSegment]) -class UowTraceAggregator(reporting: ActorRef, aggregationTimeout: Duration) extends Actor { +class UowTraceAggregator(reporting: ActorRef, aggregationTimeout: Duration) extends Actor with ActorLogging { context.setReceiveTimeout(aggregationTimeout) self ! Start() @@ -33,6 +38,9 @@ class UowTraceAggregator(reporting: ActorRef, aggregationTimeout: Duration) exte case finish: Finish => segments = segments :+ finish; finishTracing() case Rename(newName) => name = Some(newName) case segment: UowSegment => segments = segments :+ segment + case ReceiveTimeout => + log.warning("Transaction {} did not complete properly, the recorded segments are: {}", name, segments) + context.stop(self) } def finishTracing(): Unit = { |