aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego <diegolparra@gmail.com>2017-08-15 13:16:45 -0300
committerDiego <diegolparra@gmail.com>2017-08-15 13:16:45 -0300
commit61029e115272b9af3f4460b311d3a2e650c806e3 (patch)
tree2a6f02a7153ae11720e8f42d7c4292c6d39136e1
parent497224c0e499abd611c00c54a57ba04df9bb6d1b (diff)
downloadKamon-61029e115272b9af3f4460b311d3a2e650c806e3.tar.gz
Kamon-61029e115272b9af3f4460b311d3a2e650c806e3.tar.bz2
Kamon-61029e115272b9af3f4460b311d3a2e650c806e3.zip
expose SpanCodec through Kamon::contextCodec
-rw-r--r--kamon-core/src/main/scala/kamon/Kamon.scala7
-rw-r--r--kamon-core/src/main/scala/kamon/context/Codec.scala16
-rw-r--r--kamon-core/src/main/scala/kamon/context/Context.scala17
-rw-r--r--kamon-core/src/main/scala/kamon/trace/SpanCodec.scala2
4 files changed, 38 insertions, 4 deletions
diff --git a/kamon-core/src/main/scala/kamon/Kamon.scala b/kamon-core/src/main/scala/kamon/Kamon.scala
index 884f2d93..2c0561e2 100644
--- a/kamon-core/src/main/scala/kamon/Kamon.scala
+++ b/kamon-core/src/main/scala/kamon/Kamon.scala
@@ -24,7 +24,7 @@ import scala.concurrent.Future
import java.time.Duration
import java.util.concurrent.{Executors, ScheduledExecutorService, ScheduledThreadPoolExecutor}
-import kamon.context.{Context, Storage}
+import kamon.context.{Codec, Context, Storage}
import org.slf4j.LoggerFactory
import scala.util.Try
@@ -42,6 +42,7 @@ object Kamon extends MetricLookup with ReporterRegistry with Tracer {
private val _reporters = new ReporterRegistryImpl(_metrics, _config)
private val _tracer = Tracer.Default(Kamon, _reporters, _config)
private val _contextStorage = Storage.ThreadLocal()
+ private val _contextCodec = new Codec(_config)
private var _onReconfigureHooks = Seq.empty[OnReconfigureHook]
def environment: Environment =
@@ -57,6 +58,7 @@ object Kamon extends MetricLookup with ReporterRegistry with Tracer {
_metrics.reconfigure(config)
_reporters.reconfigure(config)
_tracer.reconfigure(config)
+ _contextCodec.reconfigure(config)
_onReconfigureHooks.foreach(hook => {
Try(hook.onReconfigure(config)).failed.foreach(error =>
@@ -98,6 +100,9 @@ object Kamon extends MetricLookup with ReporterRegistry with Tracer {
override def identityProvider: IdentityProvider =
_tracer.identityProvider
+ def contextCodec(): Codec =
+ _contextCodec
+
def currentContext(): Context =
_contextStorage.current()
diff --git a/kamon-core/src/main/scala/kamon/context/Codec.scala b/kamon-core/src/main/scala/kamon/context/Codec.scala
index 10580c22..19ec2a20 100644
--- a/kamon-core/src/main/scala/kamon/context/Codec.scala
+++ b/kamon-core/src/main/scala/kamon/context/Codec.scala
@@ -1,8 +1,22 @@
+/* =========================================================================================
+ * Copyright © 2013-2017 the kamon project <http://kamon.io/>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+ * either express or implied. See the License for the specific language governing permissions
+ * and limitations under the License.
+ * =========================================================================================
+ */
+
package kamon
package context
import com.typesafe.config.Config
-import kamon.trace.IdentityProvider
import kamon.util.DynamicAccess
import org.slf4j.LoggerFactory
diff --git a/kamon-core/src/main/scala/kamon/context/Context.scala b/kamon-core/src/main/scala/kamon/context/Context.scala
index f8a4662f..85c80d50 100644
--- a/kamon-core/src/main/scala/kamon/context/Context.scala
+++ b/kamon-core/src/main/scala/kamon/context/Context.scala
@@ -1,8 +1,23 @@
+/* =========================================================================================
+ * Copyright © 2013-2017 the kamon project <http://kamon.io/>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+ * either express or implied. See the License for the specific language governing permissions
+ * and limitations under the License.
+ * =========================================================================================
+ */
+
package kamon.context
class Context private (private[context] val entries: Map[Key[_], Any]) {
def get[T](key: Key[T]): T =
- entries.get(key).getOrElse(key.emptyValue).asInstanceOf[T]
+ entries.getOrElse(key, key.emptyValue).asInstanceOf[T]
def withKey[T](key: Key[T], value: T): Context =
new Context(entries.updated(key, value))
diff --git a/kamon-core/src/main/scala/kamon/trace/SpanCodec.scala b/kamon-core/src/main/scala/kamon/trace/SpanCodec.scala
index e04ceb03..96317696 100644
--- a/kamon-core/src/main/scala/kamon/trace/SpanCodec.scala
+++ b/kamon-core/src/main/scala/kamon/trace/SpanCodec.scala
@@ -32,7 +32,7 @@ object SpanCodec {
val carrier = TextMap.Default()
if(span.nonEmpty()) {
- val spanContext = span.context
+ val spanContext = span.context()
carrier.put(Headers.TraceIdentifier, urlEncode(spanContext.traceID.string))
carrier.put(Headers.SpanIdentifier, urlEncode(spanContext.spanID.string))
carrier.put(Headers.ParentSpanIdentifier, urlEncode(spanContext.parentID.string))