aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/trace/SpanCodec.scala
diff options
context:
space:
mode:
Diffstat (limited to 'kamon-core/src/main/scala/kamon/trace/SpanCodec.scala')
-rw-r--r--kamon-core/src/main/scala/kamon/trace/SpanCodec.scala10
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
+}