diff options
author | Ivan Topolnak <ivantopo@gmail.com> | 2013-05-30 18:32:41 -0300 |
---|---|---|
committer | Ivan Topolnak <ivantopo@gmail.com> | 2013-05-30 18:32:41 -0300 |
commit | 148827486f116c4196888022f04ad053f4fb6e99 (patch) | |
tree | e0cdf5982e778b2e49790bda1572a861884d83f2 /src/main/scala/kamon/Kamon.scala | |
parent | 38316a2b0b3a58b81cf7458b0a719980136bbb97 (diff) | |
download | Kamon-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.scala | 26 |
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 + +} |