diff options
author | Ivan Topolnjak <ivantopo@gmail.com> | 2017-08-24 11:23:21 +0200 |
---|---|---|
committer | Ivan Topolnjak <ivantopo@gmail.com> | 2017-08-24 11:23:21 +0200 |
commit | cd54e4ed73734dbabebbf22e4fa288c9b047992e (patch) | |
tree | 73a94488fb9097c3e3fe1ad0271f9caadd53f6cf /kamon-core/src/main/scala/kamon/trace/Tracer.scala | |
parent | 5291089bcc6bb048dcecad2c931f3408bd539574 (diff) | |
download | Kamon-cd54e4ed73734dbabebbf22e4fa288c9b047992e.tar.gz Kamon-cd54e4ed73734dbabebbf22e4fa288c9b047992e.tar.bz2 Kamon-cd54e4ed73734dbabebbf22e4fa288c9b047992e.zip |
introduce the SpanCustomizer API
Diffstat (limited to 'kamon-core/src/main/scala/kamon/trace/Tracer.scala')
-rw-r--r-- | kamon-core/src/main/scala/kamon/trace/Tracer.scala | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/kamon-core/src/main/scala/kamon/trace/Tracer.scala b/kamon-core/src/main/scala/kamon/trace/Tracer.scala index 5f61f3aa..8fa5df5d 100644 --- a/kamon-core/src/main/scala/kamon/trace/Tracer.scala +++ b/kamon-core/src/main/scala/kamon/trace/Tracer.scala @@ -91,6 +91,7 @@ object Tracer { final class SpanBuilder(operationName: String, tracer: Tracer.Default, spanSink: SpanSink) { private var parentSpan: Span = _ + private var initialOperationName: String = operationName private var startTimestamp = 0L private var initialSpanTags = Map.empty[String, Span.TagValue] private var initialMetricTags = Map.empty[String, String] @@ -133,6 +134,17 @@ object Tracer { this } + def withOperationName(operationName: String): SpanBuilder = { + this.initialOperationName = operationName + this + } + + def spanTags: Map[String, Span.TagValue] = + this.initialSpanTags + + def metricTags: Map[String, String] = + this.initialMetricTags + def ignoreParentFromContext(): SpanBuilder = { this.useParentFromContext = false this @@ -150,7 +162,7 @@ object Tracer { val samplingDecision: SamplingDecision = parentSpan .map(_.context.samplingDecision) .filter(_ != SamplingDecision.Unknown) - .getOrElse(tracer.sampler.decide(operationName, initialSpanTags)) + .getOrElse(tracer.sampler.decide(initialOperationName, initialSpanTags)) val spanContext = parentSpan match { case Some(parent) => joinParentContext(parent, samplingDecision) @@ -158,7 +170,7 @@ object Tracer { } tracer.tracerMetrics.createdSpans.increment() - Span.Local(spanContext, nonRemoteParent, operationName, initialSpanTags, initialMetricTags, startTimestampMicros, spanSink, tracer.scopeSpanMetrics) + Span.Local(spanContext, nonRemoteParent, initialOperationName, initialSpanTags, initialMetricTags, startTimestampMicros, spanSink, tracer.scopeSpanMetrics) } private def joinParentContext(parent: Span, samplingDecision: SamplingDecision): SpanContext = |