aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/test/scala/kamon/testkit
diff options
context:
space:
mode:
authorIvan Topolnjak <ivantopo@gmail.com>2017-07-19 14:47:39 +0200
committerIvan Topolnjak <ivantopo@gmail.com>2017-07-19 14:47:39 +0200
commitca6659c419e434b1b8caa6e9551420aad2230e77 (patch)
treefc8d8aa588a7d99a792cd3db23c8688f0ec6852b /kamon-core/src/test/scala/kamon/testkit
parent3076d7b7a499d1d7d3d2bc447d989e383dbb1b40 (diff)
downloadKamon-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.scala26
-rw-r--r--kamon-core/src/test/scala/kamon/testkit/TestSpanReporter.scala23
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 = {}
+}