diff options
author | Diego <diegolparra@gmail.com> | 2016-12-04 15:37:51 -0300 |
---|---|---|
committer | Diego <diegolparra@gmail.com> | 2016-12-04 15:37:51 -0300 |
commit | 56039ef037d42cb817d0bc6d5a5891bc87e633c3 (patch) | |
tree | 711d36b49d69f7321ea75172d9d4969e318d7afe /kamon-core/src/main/scala/kamon/trace | |
parent | e02d137ab960676cb89ff597bc33915f8b83a4d2 (diff) | |
download | Kamon-56039ef037d42cb817d0bc6d5a5891bc87e633c3.tar.gz Kamon-56039ef037d42cb817d0bc6d5a5891bc87e633c3.tar.bz2 Kamon-56039ef037d42cb817d0bc6d5a5891bc87e633c3.zip |
wip
Diffstat (limited to 'kamon-core/src/main/scala/kamon/trace')
8 files changed, 41 insertions, 28 deletions
diff --git a/kamon-core/src/main/scala/kamon/trace/Incubator.scala b/kamon-core/src/main/scala/kamon/trace/Incubator.scala index 05279d95..fe5ad569 100644 --- a/kamon-core/src/main/scala/kamon/trace/Incubator.scala +++ b/kamon-core/src/main/scala/kamon/trace/Incubator.scala @@ -16,9 +16,9 @@ package kamon.trace -import akka.actor.{ ActorLogging, Props, Actor, ActorRef } -import kamon.trace.Incubator.{ CheckForCompletedTraces, IncubatingTrace } -import kamon.util.{ NanoInterval, RelativeNanoTimestamp } +import akka.actor.{ActorLogging, Props, Actor, ActorRef} +import kamon.trace.Incubator.{CheckForCompletedTraces, IncubatingTrace} +import kamon.util.{NanoInterval, RelativeNanoTimestamp} import scala.annotation.tailrec import scala.collection.immutable.Queue import kamon.util.ConfigTools.Syntax diff --git a/kamon-core/src/main/scala/kamon/trace/MetricsOnlyContext.scala b/kamon-core/src/main/scala/kamon/trace/MetricsOnlyContext.scala index c1e23d91..bc0bedba 100644 --- a/kamon-core/src/main/scala/kamon/trace/MetricsOnlyContext.scala +++ b/kamon-core/src/main/scala/kamon/trace/MetricsOnlyContext.scala @@ -20,19 +20,21 @@ import java.util.concurrent.ConcurrentLinkedQueue import akka.event.LoggingAdapter import kamon.Kamon -import kamon.metric.{ SegmentMetrics, TraceMetrics } -import kamon.util.{ NanoInterval, RelativeNanoTimestamp } +import kamon.metric.{SegmentMetrics, TraceMetrics} +import kamon.util.{NanoInterval, RelativeNanoTimestamp} import scala.annotation.tailrec import scala.collection.concurrent.TrieMap -private[kamon] class MetricsOnlyContext(traceName: String, +private[kamon] class MetricsOnlyContext( + traceName: String, val token: String, traceTags: Map[String, String], currentStatus: Status, val levelOfDetail: LevelOfDetail, val startTimestamp: RelativeNanoTimestamp, - log: LoggingAdapter) extends TraceContext { + log: LoggingAdapter +) extends TraceContext { @volatile private var _name = traceName @volatile private var _status = currentStatus @@ -86,9 +88,10 @@ private[kamon] class MetricsOnlyContext(traceName: String, val segment = _finishedSegments.poll() if (segment != null) { val defaultTags = Map( - "trace" -> name, - "category" -> segment.category, - "library" -> segment.library) + "trace" → name, + "category" → segment.category, + "library" → segment.library + ) if (Kamon.metrics.shouldTrack(segment.name, SegmentMetrics.category)) { val segmentEntity = Kamon.metrics.entity(SegmentMetrics, segment.name, defaultTags ++ segment.tags) @@ -99,12 +102,14 @@ private[kamon] class MetricsOnlyContext(traceName: String, } } - protected def finishSegment(segmentName: String, + protected def finishSegment( + segmentName: String, category: String, library: String, duration: NanoInterval, segmentTags: Map[String, String], - isFinishedWithError: Boolean): Unit = { + isFinishedWithError: Boolean + ): Unit = { _finishedSegments.add(SegmentLatencyData(segmentName, category, library, duration, segmentTags, isFinishedWithError)) @@ -120,10 +125,12 @@ private[kamon] class MetricsOnlyContext(traceName: String, // will be returned. def elapsedTime: NanoInterval = _elapsedTime - class MetricsOnlySegment(segmentName: String, + class MetricsOnlySegment( + segmentName: String, val category: String, val library: String, - segmentTags: Map[String, String]) extends Segment { + segmentTags: Map[String, String] + ) extends Segment { private val _startTimestamp = RelativeNanoTimestamp.now private val _tags = TrieMap.empty[String, String] ++= segmentTags @@ -169,9 +176,11 @@ private[kamon] class MetricsOnlyContext(traceName: String, } } -case class SegmentLatencyData(name: String, +case class SegmentLatencyData( + name: String, category: String, library: String, duration: NanoInterval, tags: Map[String, String], - isFinishedWithError: Boolean)
\ No newline at end of file + isFinishedWithError: Boolean +)
\ No newline at end of file diff --git a/kamon-core/src/main/scala/kamon/trace/Sampler.scala b/kamon-core/src/main/scala/kamon/trace/Sampler.scala index 8480ecff..234c67bb 100644 --- a/kamon-core/src/main/scala/kamon/trace/Sampler.scala +++ b/kamon-core/src/main/scala/kamon/trace/Sampler.scala @@ -18,7 +18,7 @@ package kamon.trace import java.net.InetAddress import java.util.concurrent.atomic.AtomicLong -import kamon.util.{ NanoTimestamp, NanoInterval, Sequencer } +import kamon.util.{NanoTimestamp, NanoInterval, Sequencer} import scala.concurrent.forkjoin.ThreadLocalRandom import scala.util.Try diff --git a/kamon-core/src/main/scala/kamon/trace/TraceContext.scala b/kamon-core/src/main/scala/kamon/trace/TraceContext.scala index c5704caa..bbf40d8d 100644 --- a/kamon-core/src/main/scala/kamon/trace/TraceContext.scala +++ b/kamon-core/src/main/scala/kamon/trace/TraceContext.scala @@ -21,7 +21,7 @@ import java.util import kamon.trace.Status.Closed import kamon.trace.TraceContextAware.DefaultTraceContextAware -import kamon.util.{ Function, RelativeNanoTimestamp, SameThreadExecutionContext, Supplier } +import kamon.util.{Function, RelativeNanoTimestamp, SameThreadExecutionContext, Supplier} import scala.concurrent.Future @@ -38,7 +38,7 @@ trait TraceContext { def rename(newName: String): Unit def startSegment(segmentName: String, category: String, library: String): Segment def startSegment(segmentName: String, category: String, library: String, tags: Map[String, String]): Segment - def addMetadata(key: String, value: String) + def addMetadata(key: String, value: String): Unit def addTag(key: String, value: String): Unit def removeTag(key: String, value: String): Boolean def startTimestamp: RelativeNanoTimestamp diff --git a/kamon-core/src/main/scala/kamon/trace/TraceSubscriptions.scala b/kamon-core/src/main/scala/kamon/trace/TraceSubscriptions.scala index f2da404c..47455ec5 100644 --- a/kamon-core/src/main/scala/kamon/trace/TraceSubscriptions.scala +++ b/kamon-core/src/main/scala/kamon/trace/TraceSubscriptions.scala @@ -16,7 +16,7 @@ package kamon.trace -import akka.actor.{ Terminated, ActorRef, Actor } +import akka.actor.{Terminated, ActorRef, Actor} class TraceSubscriptions extends Actor { import TraceSubscriptions._ diff --git a/kamon-core/src/main/scala/kamon/trace/TracerModule.scala b/kamon-core/src/main/scala/kamon/trace/TracerModule.scala index a60b1617..b7b6c17a 100644 --- a/kamon-core/src/main/scala/kamon/trace/TracerModule.scala +++ b/kamon-core/src/main/scala/kamon/trace/TracerModule.scala @@ -19,7 +19,7 @@ package kamon.trace import java.util import akka.actor._ -import akka.event.{ Logging, LoggingAdapter } +import akka.event.{Logging, LoggingAdapter} import com.typesafe.config.Config import kamon.Kamon import kamon.metric.MetricsModule diff --git a/kamon-core/src/main/scala/kamon/trace/TracingContext.scala b/kamon-core/src/main/scala/kamon/trace/TracingContext.scala index 4cada1d0..1ea35526 100644 --- a/kamon-core/src/main/scala/kamon/trace/TracingContext.scala +++ b/kamon-core/src/main/scala/kamon/trace/TracingContext.scala @@ -20,11 +20,12 @@ import java.util.concurrent.ConcurrentLinkedQueue import java.util.concurrent.atomic.AtomicInteger import akka.event.LoggingAdapter -import kamon.util.{ NanoInterval, NanoTimestamp, RelativeNanoTimestamp } +import kamon.util.{NanoInterval, NanoTimestamp, RelativeNanoTimestamp} import scala.collection.concurrent.TrieMap -private[trace] class TracingContext(traceName: String, +private[trace] class TracingContext( + traceName: String, token: String, tags: Map[String, String], currentStatus: Status, @@ -32,7 +33,8 @@ private[trace] class TracingContext(traceName: String, isLocal: Boolean, startTimeztamp: RelativeNanoTimestamp, log: LoggingAdapter, - traceInfoSink: TracingContext ⇒ Unit) extends MetricsOnlyContext(traceName, token, tags, currentStatus, levelOfDetail, startTimeztamp, log) { + traceInfoSink: TracingContext ⇒ Unit +) extends MetricsOnlyContext(traceName, token, tags, currentStatus, levelOfDetail, startTimeztamp, log) { private val _openSegments = new AtomicInteger(0) private val _startTimestamp = NanoTimestamp.now @@ -87,10 +89,12 @@ private[trace] class TracingContext(traceName: String, TraceInfo(name, token, _startTimestamp, elapsedTime, _metadata.toMap, tags, segmentsInfo.result(), status) } - class TracingSegment(segmentName: String, + class TracingSegment( + segmentName: String, category: String, library: String, - tags: Map[String, String]) extends MetricsOnlySegment(segmentName, category, library, tags) { + tags: Map[String, String] + ) extends MetricsOnlySegment(segmentName, category, library, tags) { private val metadata = TrieMap.empty[String, String] override def addMetadata(key: String, value: String): Unit = metadata.put(key, value) diff --git a/kamon-core/src/main/scala/kamon/trace/logging/MdcKeysSupport.scala b/kamon-core/src/main/scala/kamon/trace/logging/MdcKeysSupport.scala index c757027c..556366b0 100644 --- a/kamon-core/src/main/scala/kamon/trace/logging/MdcKeysSupport.scala +++ b/kamon-core/src/main/scala/kamon/trace/logging/MdcKeysSupport.scala @@ -17,7 +17,7 @@ package kamon.trace.logging import kamon.trace.TraceLocal.AvailableToMdc -import kamon.trace.{ EmptyTraceContext, MetricsOnlyContext, TraceContext, Tracer } +import kamon.trace.{EmptyTraceContext, MetricsOnlyContext, TraceContext, Tracer} import kamon.util.Supplier import org.slf4j.MDC @@ -44,7 +44,7 @@ trait MdcKeysSupport { MDC.put(traceNameKey, ctx.name) defaultKeys ++ ctx.traceLocalStorage.underlyingStorage.collect { - case (available: AvailableToMdc, value) ⇒ Map(available.mdcKey -> String.valueOf(value)) + case (available: AvailableToMdc, value) ⇒ Map(available.mdcKey → String.valueOf(value)) }.flatMap { value ⇒ value.map { case (k, v) ⇒ MDC.put(k, v); k } } case EmptyTraceContext ⇒ Iterable.empty[String] |