aboutsummaryrefslogtreecommitdiff
path: root/kamon-uow/src/main/scala
diff options
context:
space:
mode:
authorIvan Topolnak <ivantopo@gmail.com>2013-08-07 19:06:33 -0300
committerIvan Topolnak <ivantopo@gmail.com>2013-08-07 19:06:33 -0300
commit923b88e8adef2f66b43e551fa4a0a1bbae5af7ff (patch)
treed555199f0c63b690ec51805b496ee2d54eb014da /kamon-uow/src/main/scala
parent1e6665e30d96772eab92aca4d23e176adcd88dc5 (diff)
downloadKamon-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.scala14
-rw-r--r--kamon-uow/src/main/scala/kamon/logging/UowDirectives.scala28
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())
+
+}