aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/trace/TracerModule.scala
diff options
context:
space:
mode:
authorTristan Sallé <tristan.salle@teads.tv>2015-05-27 10:14:11 +0200
committerTristan Sallé <tristan.salle@teads.tv>2015-07-15 09:26:38 +0200
commit02e18a1186f9b0dd9a7133ff30aa73774822db13 (patch)
treefbcf49e57eb671c47357f1b8cb151f07d9fc0522 /kamon-core/src/main/scala/kamon/trace/TracerModule.scala
parentdd9fec8b235b055b7a513ac74710618ba23532a5 (diff)
downloadKamon-02e18a1186f9b0dd9a7133ff30aa73774822db13.tar.gz
Kamon-02e18a1186f9b0dd9a7133ff30aa73774822db13.tar.bz2
Kamon-02e18a1186f9b0dd9a7133ff30aa73774822db13.zip
+ core: add a clock-sampler, fix ordered-sampler, add unit tests for samplers
Diffstat (limited to 'kamon-core/src/main/scala/kamon/trace/TracerModule.scala')
-rw-r--r--kamon-core/src/main/scala/kamon/trace/TracerModule.scala17
1 files changed, 10 insertions, 7 deletions
diff --git a/kamon-core/src/main/scala/kamon/trace/TracerModule.scala b/kamon-core/src/main/scala/kamon/trace/TracerModule.scala
index 88464a30..06286cae 100644
--- a/kamon-core/src/main/scala/kamon/trace/TracerModule.scala
+++ b/kamon-core/src/main/scala/kamon/trace/TracerModule.scala
@@ -17,6 +17,7 @@
package kamon.trace
import akka.actor._
+import akka.event.{ LoggingAdapter, Logging }
import com.typesafe.config.Config
import kamon.Kamon
import kamon.metric.MetricsModule
@@ -112,17 +113,17 @@ private[kamon] class TracerModuleImpl(metricsExtension: MetricsModule, config: C
isOpen: Boolean = true, isLocal: Boolean = true): TraceContext = {
def newMetricsOnlyContext(token: String): TraceContext =
- new MetricsOnlyContext(traceName, token, isOpen, _settings.levelOfDetail, startTimestamp, null)
+ new MetricsOnlyContext(traceName, token, isOpen, _settings.levelOfDetail, startTimestamp, _logger)
val traceToken = token.getOrElse(newToken)
- if (_settings.levelOfDetail == LevelOfDetail.MetricsOnly || !isLocal)
- newMetricsOnlyContext(traceToken)
- else {
- if (!_settings.sampler.shouldTrace)
+ _settings.levelOfDetail match {
+ case LevelOfDetail.MetricsOnly ⇒
newMetricsOnlyContext(traceToken)
- else
- new TracingContext(traceName, traceToken, true, _settings.levelOfDetail, isLocal, startTimestamp, null, dispatchTracingContext)
+ case _ if !isLocal || !_settings.sampler.shouldTrace ⇒
+ newMetricsOnlyContext(traceToken)
+ case _ ⇒
+ new TracingContext(traceName, traceToken, true, _settings.levelOfDetail, isLocal, startTimestamp, _logger, dispatchTracingContext)
}
}
@@ -143,6 +144,7 @@ private[kamon] class TracerModuleImpl(metricsExtension: MetricsModule, config: C
* Tracer Extension initialization.
*/
private var _system: ActorSystem = null
+ private var _logger: LoggingAdapter = null
private lazy val _start = {
val subscriptions = _system.actorOf(Props[TraceSubscriptions], "trace-subscriptions")
_subscriptions.point(subscriptions)
@@ -151,6 +153,7 @@ private[kamon] class TracerModuleImpl(metricsExtension: MetricsModule, config: C
def start(system: ActorSystem): Unit = synchronized {
_system = system
+ _logger = Logging(_system, "TracerModule")
_start
_system = null
}