diff options
author | João Ferreira <jtjeferreira@gmail.com> | 2015-06-26 17:47:00 +0100 |
---|---|---|
committer | João Ferreira <jtjeferreira@gmail.com> | 2015-06-26 18:02:21 +0100 |
commit | 7e74030ea824a6b6a561880103f69f3e8e409bba (patch) | |
tree | 77eb6fd87599564d309d0abc02132fd2d46070ec /kamon-core/src/main/scala/kamon/trace/Sampler.scala | |
parent | ea0da37b4a9f769b498fde269dc28b6bad06ab64 (diff) | |
download | Kamon-7e74030ea824a6b6a561880103f69f3e8e409bba.tar.gz Kamon-7e74030ea824a6b6a561880103f69f3e8e409bba.tar.bz2 Kamon-7e74030ea824a6b6a561880103f69f3e8e409bba.zip |
+ core: kamon.trace.token-generator conf
Diffstat (limited to 'kamon-core/src/main/scala/kamon/trace/Sampler.scala')
-rw-r--r-- | kamon-core/src/main/scala/kamon/trace/Sampler.scala | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/kamon-core/src/main/scala/kamon/trace/Sampler.scala b/kamon-core/src/main/scala/kamon/trace/Sampler.scala index 5abba221..ac780d5e 100644 --- a/kamon-core/src/main/scala/kamon/trace/Sampler.scala +++ b/kamon-core/src/main/scala/kamon/trace/Sampler.scala @@ -16,9 +16,14 @@ package kamon.trace +import java.net.InetAddress +import java.util.concurrent.atomic.AtomicLong + import kamon.util.{ NanoInterval, Sequencer } import scala.concurrent.forkjoin.ThreadLocalRandom +import scala.util.Try + trait Sampler { def shouldTrace: Boolean def shouldReport(traceElapsedTime: NanoInterval): Boolean @@ -71,3 +76,12 @@ class ThresholdSampler(thresholdInNanoseconds: Long) extends Sampler { def shouldReport(traceElapsedTime: NanoInterval): Boolean = traceElapsedTime.nanos >= thresholdInNanoseconds } +class DefaultTokenGenerator extends Function0[String] { + private val _hostnamePrefix = Try(InetAddress.getLocalHost.getHostName).getOrElse("unknown-localhost") + private val _tokenCounter = new AtomicLong + + def apply(): String = { + _hostnamePrefix + "-" + String.valueOf(_tokenCounter.incrementAndGet()) + } +} + |