aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/kamon/actor/AskSupport.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/kamon/actor/AskSupport.scala')
-rw-r--r--src/main/scala/kamon/actor/AskSupport.scala16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/main/scala/kamon/actor/AskSupport.scala b/src/main/scala/kamon/actor/AskSupport.scala
new file mode 100644
index 00000000..8a1ac2e8
--- /dev/null
+++ b/src/main/scala/kamon/actor/AskSupport.scala
@@ -0,0 +1,16 @@
+package kamon.actor
+
+import akka.actor.ActorRef
+import akka.util.Timeout
+import kamon.TraceContext
+
+trait TraceableAskSupport {
+ implicit def pimpWithTraceableAsk(actorRef: ActorRef) = new TraceableAskableActorRef(actorRef)
+}
+
+// FIXME: This name sucks
+class TraceableAskableActorRef(val actorRef: ActorRef) {
+
+ def ??(message: Any)(implicit timeout: Timeout) = akka.pattern.ask(actorRef, TraceableMessage(TraceContext.current.get().fork, message))
+
+}