diff options
author | Ivan Topolnak <ivantopo@gmail.com> | 2013-08-07 19:06:33 -0300 |
---|---|---|
committer | Ivan Topolnak <ivantopo@gmail.com> | 2013-08-07 19:06:33 -0300 |
commit | 923b88e8adef2f66b43e551fa4a0a1bbae5af7ff (patch) | |
tree | d555199f0c63b690ec51805b496ee2d54eb014da /kamon-uow/src/main/scala | |
parent | 1e6665e30d96772eab92aca4d23e176adcd88dc5 (diff) | |
download | Kamon-923b88e8adef2f66b43e551fa4a0a1bbae5af7ff.tar.gz Kamon-923b88e8adef2f66b43e551fa4a0a1bbae5af7ff.tar.bz2 Kamon-923b88e8adef2f66b43e551fa4a0a1bbae5af7ff.zip |
upgrading to akka 2.2
Diffstat (limited to 'kamon-uow/src/main/scala')
-rw-r--r-- | kamon-uow/src/main/scala/kamon/logging/UowActorLogging.scala | 14 | ||||
-rw-r--r-- | kamon-uow/src/main/scala/kamon/logging/UowDirectives.scala | 28 |
2 files changed, 42 insertions, 0 deletions
diff --git a/kamon-uow/src/main/scala/kamon/logging/UowActorLogging.scala b/kamon-uow/src/main/scala/kamon/logging/UowActorLogging.scala new file mode 100644 index 00000000..e117db1b --- /dev/null +++ b/kamon-uow/src/main/scala/kamon/logging/UowActorLogging.scala @@ -0,0 +1,14 @@ +package kamon.logging + +import akka.actor.Actor +import kamon.Kamon + +trait UowActorLogging { + self: Actor => + + def logWithUOW(text: String) = { + val uow = Kamon.context.map(_.userContext).getOrElse("NA") + println(s"=======>[$uow] - $text") + } + +} diff --git a/kamon-uow/src/main/scala/kamon/logging/UowDirectives.scala b/kamon-uow/src/main/scala/kamon/logging/UowDirectives.scala new file mode 100644 index 00000000..e79602ea --- /dev/null +++ b/kamon-uow/src/main/scala/kamon/logging/UowDirectives.scala @@ -0,0 +1,28 @@ +package kamon.logging + +import java.util.concurrent.atomic.AtomicLong +import spray.routing.Directive0 +import spray.routing.directives.BasicDirectives +import java.net.InetAddress +import scala.util.Try +import kamon.Kamon + +trait UowDirectives extends BasicDirectives { + def uow: Directive0 = mapRequest { request => + val generatedUow = Some(UowDirectives.newUow) + println("Generated UOW: "+generatedUow) + Kamon.set(Kamon.newTraceContext().copy(userContext = generatedUow)) + + + request + } +} + +object UowDirectives { + val uowCounter = new AtomicLong + + val hostnamePrefix = Try(InetAddress.getLocalHost.getHostName.toString).getOrElse("unknown-localhost") + + def newUow = "%s-%s".format(hostnamePrefix, uowCounter.incrementAndGet()) + +} |