diff options
author | Ivan Topolnjak <ivantopo@gmail.com> | 2017-06-18 11:57:14 +0200 |
---|---|---|
committer | Ivan Topolnjak <ivantopo@gmail.com> | 2017-06-18 11:57:14 +0200 |
commit | 9119413d8dc9b26874e85d8a5f3b135379b9f6da (patch) | |
tree | 36d7a2b6b259662236bc05bc63e6f9881a505c8b /kamon-core/src/test/scala/kamon/util | |
parent | 90a77097bd579aa6fd8b8cd0ac498e44ae6732d0 (diff) | |
download | Kamon-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.scala | 39 |
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) + } + } + } + +} |