diff options
author | Ivan Topolnjak <ivantopo@gmail.com> | 2017-07-18 13:31:06 +0200 |
---|---|---|
committer | Ivan Topolnjak <ivantopo@gmail.com> | 2017-07-18 13:31:06 +0200 |
commit | bfca826392933357046c5f4682cf7b43911b5433 (patch) | |
tree | 8b868447c3d6100b4de039e6a7e18835006c0515 | |
parent | a2d54a72b806ebd60f19011559a6c186d2d9640b (diff) | |
download | Kamon-bfca826392933357046c5f4682cf7b43911b5433.tar.gz Kamon-bfca826392933357046c5f4682cf7b43911b5433.tar.bz2 Kamon-bfca826392933357046c5f4682cf7b43911b5433.zip |
provide the proper FQCN for default identity providers and codecs
-rw-r--r-- | build.sbt | 3 | ||||
-rw-r--r-- | kamon-core/src/main/resources/reference.conf | 10 | ||||
-rw-r--r-- | kamon-core/src/main/scala/kamon/trace/Tracer.scala | 4 | ||||
-rw-r--r-- | kamon-core/src/test/scala/kamon/testkit/SpanInspector.scala | 17 | ||||
-rw-r--r-- | kamon-core/src/test/scala/kamon/trace/TracerSpec.scala | 18 |
5 files changed, 45 insertions, 7 deletions
@@ -36,7 +36,8 @@ lazy val core = (project in file("kamon-core")) "org.hdrhistogram" % "HdrHistogram" % "2.1.9", "com.lihaoyi" %% "fansi" % "0.2.4", - "org.scalatest" %% "scalatest" % "3.0.1" % "test" + "org.scalatest" %% "scalatest" % "3.0.1" % "test", + "ch.qos.logback" % "logback-classic" % "1.2.2" % "test" ) ) diff --git a/kamon-core/src/main/resources/reference.conf b/kamon-core/src/main/resources/reference.conf index cc4da03e..3e9d7b8d 100644 --- a/kamon-core/src/main/resources/reference.conf +++ b/kamon-core/src/main/resources/reference.conf @@ -110,12 +110,12 @@ kamon { # The IdentityProvider used to generate Trace and Span Identifiers in Kamon. There are two default implementations # that ship with Kamon: - # - kamon.trace.IdentityProvider.Default: Creates 8-byte identifiers for both Traces and Spans. - # - kamon.trace.IdentityProvider.DoubleSizeTraceID: Creates 16-byte identifiers for Traces and 8-byte identifiers + # - kamon.trace.IdentityProvider$Default: Creates 8-byte identifiers for both Traces and Spans. + # - kamon.trace.IdentityProvider$DoubleSizeTraceID: Creates 16-byte identifiers for Traces and 8-byte identifiers # for Spans. # # Any external implementation can be configured here, as long as it can be instantiated with a parameterless constructor. - identity-provider = "kamon.trace.IdentityProvider.Default" + identity-provider = "kamon.trace.IdentityProvider$Default" # The SpanContextCodecs are used to encode/decode the SpanContext data into simple TextMaps, HTTP Headers or Binary # carriers. The decision about which one to use is based on the kamon.trace.SpanContextCodec.Format instance passed @@ -127,11 +127,11 @@ kamon { # Encodes/Decodes the SpanContext data using a simple key/value pair. Since this is very rarely going to be used # we default to using the same codec for HTTP Headers, as it is built on top of a TextMap. - text-map = "kamon.trace.SpanContextCodec.ExtendedB3" + text-map = "kamon.trace.SpanContextCodec$ExtendedB3" # Encodes/Decodes the SpanContext into a TextMap with HTTP Header friendly, URLEncoded values. The default # implementation follows the guidelines of B3 propagation. See more at https://github.com/openzipkin/b3-propagation. - http-headers = "kamon.trace.SpanContextCodec.ExtendedB3" + http-headers = "kamon.trace.SpanContextCodec$ExtendedB3" # Encodes/Decodes the SpanContext using a binary representation. binary = "TODO" diff --git a/kamon-core/src/main/scala/kamon/trace/Tracer.scala b/kamon-core/src/main/scala/kamon/trace/Tracer.scala index f95a8cef..47b633ac 100644 --- a/kamon-core/src/main/scala/kamon/trace/Tracer.scala +++ b/kamon-core/src/main/scala/kamon/trace/Tracer.scala @@ -98,7 +98,7 @@ object Tracer { private[kamon] def reconfigure(config: Config): Unit = synchronized { Try { - val dynamic = new DynamicAccess(classOf[Tracer].getClassLoader) + val dynamic = new DynamicAccess(getClass.getClassLoader) val traceConfig = config.getConfig("kamon.trace") val newSampler = traceConfig.getString("sampler") match { @@ -134,6 +134,8 @@ object Tracer { textMapSpanContextCodec = newTextMapSpanContextCodec httpHeaderSpanContextCodec = newHttpHeadersSpanContextCodec + }.failed.foreach { + ex => logger.error("Unable to reconfigure Kamon Tracer", ex) } } } diff --git a/kamon-core/src/test/scala/kamon/testkit/SpanInspector.scala b/kamon-core/src/test/scala/kamon/testkit/SpanInspector.scala new file mode 100644 index 00000000..b0bb3e39 --- /dev/null +++ b/kamon-core/src/test/scala/kamon/testkit/SpanInspector.scala @@ -0,0 +1,17 @@ +package kamon.testkit + +import kamon.trace.Span +import kamon.trace.Span.FinishedSpan + +class SpanInspector(span: Span) { + + + private def getSpanData(): Option[FinishedSpan] = { + + } + +} + +object SpanInspector { + def apply(span: Span): SpanInspector = new SpanInspector(span) +} diff --git a/kamon-core/src/test/scala/kamon/trace/TracerSpec.scala b/kamon-core/src/test/scala/kamon/trace/TracerSpec.scala new file mode 100644 index 00000000..686c15d0 --- /dev/null +++ b/kamon-core/src/test/scala/kamon/trace/TracerSpec.scala @@ -0,0 +1,18 @@ +package kamon.trace + +import kamon.Kamon +import org.scalatest.{Matchers, WordSpec} + +class TracerSpec extends WordSpec with Matchers { + + "the Kamon tracer" should { + "build spans that contain all information given to the builder" in { + val span = tracer.buildSpan("myOperation") + .withSpanTag("hello", "world") + .start() + } + } + + val tracer: Tracer = Kamon + +} |