diff options
author | Ivan Topolnjak <ivantopo@gmail.com> | 2017-07-19 09:35:30 +0200 |
---|---|---|
committer | Ivan Topolnjak <ivantopo@gmail.com> | 2017-07-19 09:35:30 +0200 |
commit | 7cf98a6043cf90a17b5d0a51cf2399e35239cc0c (patch) | |
tree | ccff868acecf46381de6eaec498009bf8fc1999e /kamon-core/src/main/scala/kamon/trace/Tracer.scala | |
parent | bfca826392933357046c5f4682cf7b43911b5433 (diff) | |
download | Kamon-7cf98a6043cf90a17b5d0a51cf2399e35239cc0c.tar.gz Kamon-7cf98a6043cf90a17b5d0a51cf2399e35239cc0c.tar.bz2 Kamon-7cf98a6043cf90a17b5d0a51cf2399e35239cc0c.zip |
tests for Span building and the ExtendedB3 codec, related bugfixes
Diffstat (limited to 'kamon-core/src/main/scala/kamon/trace/Tracer.scala')
-rw-r--r-- | kamon-core/src/main/scala/kamon/trace/Tracer.scala | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/kamon-core/src/main/scala/kamon/trace/Tracer.scala b/kamon-core/src/main/scala/kamon/trace/Tracer.scala index 47b633ac..714f0215 100644 --- a/kamon-core/src/main/scala/kamon/trace/Tracer.scala +++ b/kamon-core/src/main/scala/kamon/trace/Tracer.scala @@ -148,7 +148,8 @@ object Tracer { final class SpanBuilder(operationName: String, tracer: Tracer.Default, reporterRegistry: ReporterRegistryImpl) { private var parentContext: SpanContext = _ private var startTimestamp = 0L - private var initialTags = Map.empty[String, Span.TagValue] + private var initialSpanTags = Map.empty[String, Span.TagValue] + private var initialMetricTags = Map.empty[String, String] private var useActiveSpanAsParent = true def asChildOf(parentContext: SpanContext): SpanBuilder = { @@ -159,19 +160,24 @@ object Tracer { def asChildOf(parentSpan: Span): SpanBuilder = asChildOf(parentSpan.context()) + def withMetricTag(key: String, value: String): SpanBuilder = { + this.initialMetricTags = this.initialMetricTags + (key -> value) + this + } + def withSpanTag(key: String, value: String): SpanBuilder = { - this.initialTags = this.initialTags + (key -> TagValue.String(value)) + this.initialSpanTags = this.initialSpanTags + (key -> TagValue.String(value)) this } def withSpanTag(key: String, value: Long): SpanBuilder = { - this.initialTags = this.initialTags + (key -> TagValue.Number(value)) + this.initialSpanTags = this.initialSpanTags + (key -> TagValue.Number(value)) this } def withSpanTag(key: String, value: Boolean): SpanBuilder = { val tagValue = if (value) TagValue.True else TagValue.False - this.initialTags = this.initialTags + (key -> tagValue) + this.initialSpanTags = this.initialSpanTags + (key -> tagValue) this } @@ -195,7 +201,7 @@ object Tracer { val samplingDecision: SamplingDecision = parentSpanContext .map(_.samplingDecision) .filter(_ != SamplingDecision.Unknown) - .getOrElse(tracer.sampler.decide(operationName, initialTags)) + .getOrElse(tracer.sampler.decide(operationName, initialSpanTags)) val spanContext = parentSpanContext match { case Some(parent) => joinParentContext(parent, samplingDecision) @@ -203,7 +209,7 @@ object Tracer { } tracer.tracerMetrics.createdSpans.increment() - Span.Real(spanContext, operationName, initialTags, startTimestampMicros, reporterRegistry, tracer) + Span.Real(spanContext, operationName, initialSpanTags, initialMetricTags, startTimestampMicros, reporterRegistry, tracer) } private def joinParentContext(parent: SpanContext, samplingDecision: SamplingDecision): SpanContext = |