aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/test/scala/kamon/util
diff options
context:
space:
mode:
authorIvan Topolnjak <ivantopo@gmail.com>2017-06-18 11:57:14 +0200
committerIvan Topolnjak <ivantopo@gmail.com>2017-06-18 11:57:14 +0200
commit9119413d8dc9b26874e85d8a5f3b135379b9f6da (patch)
tree36d7a2b6b259662236bc05bc63e6f9881a505c8b /kamon-core/src/test/scala/kamon/util
parent90a77097bd579aa6fd8b8cd0ac498e44ae6732d0 (diff)
downloadKamon-9119413d8dc9b26874e85d8a5f3b135379b9f6da.tar.gz
Kamon-9119413d8dc9b26874e85d8a5f3b135379b9f6da.tar.bz2
Kamon-9119413d8dc9b26874e85d8a5f3b135379b9f6da.zip
add utility to copy baggage and trace id to MDC
Diffstat (limited to 'kamon-core/src/test/scala/kamon/util')
-rw-r--r--kamon-core/src/test/scala/kamon/util/BaggageOnMDCSpec.scala39
1 files changed, 39 insertions, 0 deletions
diff --git a/kamon-core/src/test/scala/kamon/util/BaggageOnMDCSpec.scala b/kamon-core/src/test/scala/kamon/util/BaggageOnMDCSpec.scala
new file mode 100644
index 00000000..4e76c8fe
--- /dev/null
+++ b/kamon-core/src/test/scala/kamon/util/BaggageOnMDCSpec.scala
@@ -0,0 +1,39 @@
+package kamon.util
+
+import kamon.Kamon
+import kamon.Kamon.buildSpan
+import kamon.trace.SpanContext
+import org.scalatest.{Matchers, WordSpec}
+import org.slf4j.MDC
+
+class BaggageOnMDCSpec extends WordSpec with Matchers {
+
+ "the BaggageOnMDC utility" should {
+ "copy all baggage items and the trace ID to MDC and clear them after evaluating the supplied code" in {
+ val parent = new SpanContext(1, 1, 0, true, Map.empty)
+ Kamon.withSpan(buildSpan("propagate-mdc").asChildOf(parent).startManual().setBaggageItem("key-to-mdc", "value")) {
+
+ BaggageOnMDC.withBaggageOnMDC {
+ MDC.get("key-to-mdc") should be("value")
+ MDC.get("trace_id") should be(HexCodec.toLowerHex(1))
+ }
+
+ MDC.get("key-to-mdc") should be(null)
+ MDC.get("trace_id") should be(null)
+ }
+ }
+
+ "don't copy the trace ID to MDC if not required" in {
+ Kamon.withSpan(buildSpan("propagate-mdc").startManual().setBaggageItem("key-to-mdc", "value")) {
+ BaggageOnMDC.withBaggageOnMDC(false, {
+ MDC.get("key-to-mdc") should be("value")
+ MDC.get("trace_id") should be(null)
+ })
+
+ MDC.get("key-to-mdc") should be(null)
+ MDC.get("trace_id") should be(null)
+ }
+ }
+ }
+
+}