diff options
author | Ivan Topolnjak <ivantopo@gmail.com> | 2013-10-30 09:04:25 -0300 |
---|---|---|
committer | Ivan Topolnjak <ivantopo@gmail.com> | 2013-10-30 09:04:25 -0300 |
commit | ca1e93621ddad4b9f2a9028ea183b1c2f4c25a27 (patch) | |
tree | 2f9ce9a7b2f73fd19b5ec2d1af46c4ab43037528 /kamon-core/src/main/scala/kamon/TraceContext.scala | |
parent | ab40e0e7f35f97390d180b49d556ee36aac4af18 (diff) | |
download | Kamon-ca1e93621ddad4b9f2a9028ea183b1c2f4c25a27.tar.gz Kamon-ca1e93621ddad4b9f2a9028ea183b1c2f4c25a27.tar.bz2 Kamon-ca1e93621ddad4b9f2a9028ea183b1c2f4c25a27.zip |
move things all over the place
Diffstat (limited to 'kamon-core/src/main/scala/kamon/TraceContext.scala')
-rw-r--r-- | kamon-core/src/main/scala/kamon/TraceContext.scala | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/kamon-core/src/main/scala/kamon/TraceContext.scala b/kamon-core/src/main/scala/kamon/TraceContext.scala deleted file mode 100644 index 63cdb488..00000000 --- a/kamon-core/src/main/scala/kamon/TraceContext.scala +++ /dev/null @@ -1,64 +0,0 @@ -package kamon - -import java.util.UUID -import akka.actor._ -import java.util.concurrent.atomic.AtomicLong -import kamon.trace.UowTraceAggregator -import scala.concurrent.duration._ -import kamon.newrelic.NewRelicReporting -import kamon.trace.UowTracing.Start - -// TODO: Decide if we need or not an ID, generating it takes time and it doesn't seem necessary. -case class TraceContext(id: Long, tracer: ActorRef, uow: String = "", userContext: Option[Any] = None) - -object TraceContext { - val reporter = Kamon.actorSystem.actorOf(Props[NewRelicReporting]) - val traceIdCounter = new AtomicLong - - def apply()(implicit system: ActorSystem) = { - val n = traceIdCounter.incrementAndGet() - val actor = system.actorOf(UowTraceAggregator.props(reporter, 30 seconds), s"tracer-${n}") - actor ! Start() - - new TraceContext(n, actor) // TODO: Move to a kamon specific supervisor, like /user/kamon/tracer - } -} - - - -class TraceAccumulator extends Actor { - def receive = { - case a => println("Trace Accumulated: "+a) - } -} - - -trait TraceEntry -case class CodeBlockExecutionTime(name: String, begin: Long, end: Long) extends TraceEntry -case class TransactionTrace(id: UUID, start: Long, end: Long, entries: Seq[TraceEntry]) - -object Collector - -trait TraceEntryStorage { - def store(entry: TraceEntry): Boolean -} - -class TransactionContext(val id: UUID, private val storage: TraceEntryStorage) { - def store(entry: TraceEntry) = storage.store(entry) -} - -object ThreadLocalTraceEntryStorage extends TraceEntryStorage { - - private val storage = new ThreadLocal[List[TraceEntry]] { - override def initialValue(): List[TraceEntry] = Nil - } - - def update(f: List[TraceEntry] => List[TraceEntry]) = storage set f(storage.get) - - def store(entry: TraceEntry): Boolean = { - update(entry :: _) - true - } -} - - |