diff options
Diffstat (limited to 'kamon-core/src/main/scala/kamon/trace/SpanCodec.scala')
-rw-r--r-- | kamon-core/src/main/scala/kamon/trace/SpanCodec.scala | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/kamon-core/src/main/scala/kamon/trace/SpanCodec.scala b/kamon-core/src/main/scala/kamon/trace/SpanCodec.scala index ae78ee67..14b28d54 100644 --- a/kamon-core/src/main/scala/kamon/trace/SpanCodec.scala +++ b/kamon-core/src/main/scala/kamon/trace/SpanCodec.scala @@ -37,7 +37,9 @@ object SpanCodec { 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)) + + if(spanContext.parentID != IdentityProvider.NoIdentifier) + carrier.put(Headers.ParentSpanIdentifier, urlEncode(spanContext.parentID.string)) encodeSamplingDecision(spanContext.samplingDecision).foreach { samplingDecision => carrier.put(Headers.Sampled, samplingDecision) @@ -135,8 +137,8 @@ object SpanCodec { val spanContext = SpanContext( traceID = identityProvider.traceIdGenerator().from(colferSpan.traceID), - spanID = identityProvider.traceIdGenerator().from(colferSpan.spanID), - parentID = identityProvider.traceIdGenerator().from(colferSpan.parentID), + spanID = identityProvider.spanIdGenerator().from(colferSpan.spanID), + parentID = identityProvider.spanIdGenerator().from(colferSpan.parentID), samplingDecision = byteToSamplingDecision(colferSpan.samplingDecision) ) @@ -163,4 +165,4 @@ object SpanCodec { override def initialValue(): Array[Byte] = Array.ofDim[Byte](256) } } -}
\ No newline at end of file +} |