aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/kamon/Kamon.scala
diff options
context:
space:
mode:
authorIvan Topolnak <ivantopo@gmail.com>2013-05-30 18:32:41 -0300
committerIvan Topolnak <ivantopo@gmail.com>2013-05-30 18:32:41 -0300
commit148827486f116c4196888022f04ad053f4fb6e99 (patch)
treee0cdf5982e778b2e49790bda1572a861884d83f2 /src/main/scala/kamon/Kamon.scala
parent38316a2b0b3a58b81cf7458b0a719980136bbb97 (diff)
downloadKamon-148827486f116c4196888022f04ad053f4fb6e99.tar.gz
Kamon-148827486f116c4196888022f04ad053f4fb6e99.tar.bz2
Kamon-148827486f116c4196888022f04ad053f4fb6e99.zip
WIP - first functional implementation of TraceContext
Diffstat (limited to 'src/main/scala/kamon/Kamon.scala')
-rw-r--r--src/main/scala/kamon/Kamon.scala26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/main/scala/kamon/Kamon.scala b/src/main/scala/kamon/Kamon.scala
new file mode 100644
index 00000000..b5998f81
--- /dev/null
+++ b/src/main/scala/kamon/Kamon.scala
@@ -0,0 +1,26 @@
+package kamon
+
+import akka.actor.{Props, ActorSystem}
+
+object Kamon {
+
+ implicit val actorSystem = ActorSystem("kamon")
+
+ private val ctx = new ThreadLocal[Option[TraceContext]] {
+ override def initialValue() = None
+ }
+
+ def context = ctx.get()
+ def clear = ctx.remove()
+ def set(traceContext: TraceContext) = ctx.set(Some(traceContext))
+
+ def start: Unit = set(newTraceContext)
+
+ def newTraceContext(): TraceContext = TraceContext()
+
+
+ val publisher = actorSystem.actorOf(Props[TransactionPublisher])
+
+ def publish(tx: FullTransaction) = publisher ! tx
+
+}