aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/trace/Tracer.scala
diff options
context:
space:
mode:
authorIvan Topolnjak <ivantopo@gmail.com>2017-08-14 23:08:14 +0200
committerIvan Topolnjak <ivantopo@gmail.com>2017-08-14 23:08:35 +0200
commit407d74e89acdd4dff5a887c1ae5793d63e9e7a2e (patch)
tree677f0a573dfe028f31826748609e315a4bfa36dd /kamon-core/src/main/scala/kamon/trace/Tracer.scala
parent3a8c0fa25f12230b27e943d1fffe07f814c650fe (diff)
downloadKamon-407d74e89acdd4dff5a887c1ae5793d63e9e7a2e.tar.gz
Kamon-407d74e89acdd4dff5a887c1ae5793d63e9e7a2e.tar.bz2
Kamon-407d74e89acdd4dff5a887c1ae5793d63e9e7a2e.zip
expose the identity provider through the Tracer
Diffstat (limited to 'kamon-core/src/main/scala/kamon/trace/Tracer.scala')
-rw-r--r--kamon-core/src/main/scala/kamon/trace/Tracer.scala14
1 files changed, 9 insertions, 5 deletions
diff --git a/kamon-core/src/main/scala/kamon/trace/Tracer.scala b/kamon-core/src/main/scala/kamon/trace/Tracer.scala
index 65307b95..7d8830ca 100644
--- a/kamon-core/src/main/scala/kamon/trace/Tracer.scala
+++ b/kamon-core/src/main/scala/kamon/trace/Tracer.scala
@@ -29,6 +29,7 @@ import scala.util.Try
trait Tracer {
def buildSpan(operationName: String): SpanBuilder
+ def identityProvider: IdentityProvider
}
object Tracer {
@@ -39,13 +40,16 @@ object Tracer {
private[Tracer] val tracerMetrics = new TracerMetrics(metrics)
@volatile private[Tracer] var joinRemoteParentsWithSameSpanID: Boolean = true
@volatile private[Tracer] var configuredSampler: Sampler = Sampler.Never
- @volatile private[Tracer] var identityProvider: IdentityProvider = IdentityProvider.Default()
+ @volatile private[Tracer] var _identityProvider: IdentityProvider = IdentityProvider.Default()
reconfigure(initialConfig)
override def buildSpan(operationName: String): SpanBuilder =
new SpanBuilder(operationName, this, reporterRegistry)
+ override def identityProvider: IdentityProvider =
+ this._identityProvider
+
def sampler: Sampler =
configuredSampler
@@ -69,7 +73,7 @@ object Tracer {
configuredSampler = newSampler
joinRemoteParentsWithSameSpanID = newJoinRemoteParentsWithSameSpanID
- identityProvider = newIdentityProvider
+ _identityProvider = newIdentityProvider
}.failed.foreach {
ex => logger.error("Unable to reconfigure Kamon Tracer", ex)
@@ -150,12 +154,12 @@ object Tracer {
if(parent.isRemote() && tracer.joinRemoteParentsWithSameSpanID)
parent.context().copy(samplingDecision = samplingDecision)
else
- parent.context().createChild(tracer.identityProvider.spanIdentifierGenerator().generate(), samplingDecision)
+ parent.context().createChild(tracer._identityProvider.spanIdGenerator().generate(), samplingDecision)
private def newSpanContext(samplingDecision: SamplingDecision): SpanContext =
SpanContext(
- traceID = tracer.identityProvider.traceIdentifierGenerator().generate(),
- spanID = tracer.identityProvider.spanIdentifierGenerator().generate(),
+ traceID = tracer._identityProvider.traceIdGenerator().generate(),
+ spanID = tracer._identityProvider.spanIdGenerator().generate(),
parentID = IdentityProvider.NoIdentifier,
samplingDecision = samplingDecision
)