diff options
author | Ivan Topolnjak <ivantopo@gmail.com> | 2017-07-19 14:47:39 +0200 |
---|---|---|
committer | Ivan Topolnjak <ivantopo@gmail.com> | 2017-07-19 14:47:39 +0200 |
commit | ca6659c419e434b1b8caa6e9551420aad2230e77 (patch) | |
tree | fc8d8aa588a7d99a792cd3db23c8688f0ec6852b /kamon-core/src/test/scala/kamon/testkit | |
parent | 3076d7b7a499d1d7d3d2bc447d989e383dbb1b40 (diff) | |
download | Kamon-ca6659c419e434b1b8caa6e9551420aad2230e77.tar.gz Kamon-ca6659c419e434b1b8caa6e9551420aad2230e77.tar.bz2 Kamon-ca6659c419e434b1b8caa6e9551420aad2230e77.zip |
start writting Span.Real tests
Diffstat (limited to 'kamon-core/src/test/scala/kamon/testkit')
-rw-r--r-- | kamon-core/src/test/scala/kamon/testkit/Reconfigure.scala | 26 | ||||
-rw-r--r-- | kamon-core/src/test/scala/kamon/testkit/TestSpanReporter.scala | 23 |
2 files changed, 49 insertions, 0 deletions
diff --git a/kamon-core/src/test/scala/kamon/testkit/Reconfigure.scala b/kamon-core/src/test/scala/kamon/testkit/Reconfigure.scala new file mode 100644 index 00000000..4b3b2cdb --- /dev/null +++ b/kamon-core/src/test/scala/kamon/testkit/Reconfigure.scala @@ -0,0 +1,26 @@ +package kamon.testkit + +import com.typesafe.config.ConfigFactory +import kamon.Kamon + +trait Reconfigure { + + def enableFastSpanFlushing(): Unit = { + applyConfig("kamon.trace.tick-interval = 1 millisecond") + } + + def sampleAlways(): Unit = { + applyConfig("kamon.trace.sampler = always") + } + + def sampleNever(): Unit = { + applyConfig("kamon.trace.sampler = never") + } + + private def applyConfig(configString: String): Unit = { + Kamon.reconfigure(ConfigFactory.parseString(configString).withFallback(Kamon.config())) + } + + + +} diff --git a/kamon-core/src/test/scala/kamon/testkit/TestSpanReporter.scala b/kamon-core/src/test/scala/kamon/testkit/TestSpanReporter.scala new file mode 100644 index 00000000..8ea2d433 --- /dev/null +++ b/kamon-core/src/test/scala/kamon/testkit/TestSpanReporter.scala @@ -0,0 +1,23 @@ +package kamon.testkit + +import java.util.concurrent.LinkedBlockingQueue + +import com.typesafe.config.Config +import kamon.SpanReporter +import kamon.trace.Span +import kamon.trace.Span.FinishedSpan + +class TestSpanReporter() extends SpanReporter { + import scala.collection.JavaConverters._ + private val reportedSpans = new LinkedBlockingQueue[FinishedSpan]() + + override def reportSpans(spans: Seq[Span.FinishedSpan]): Unit = + reportedSpans.addAll(spans.asJava) + + def nextSpan(): Option[FinishedSpan] = + Option(reportedSpans.poll()) + + override def start(): Unit = {} + override def stop(): Unit = {} + override def reconfigure(config: Config): Unit = {} +} |