From 05bc848cc504b6825c7dcc49dd9aac0cd02e895c Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Wed, 29 Aug 2018 22:03:43 -0700 Subject: Add tracing to client HTTP transport and improve tracing tags --- src/main/scala/xyz/driver/core/rest/headers/Traceparent.scala | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/main/scala/xyz/driver/core/rest/headers/Traceparent.scala') diff --git a/src/main/scala/xyz/driver/core/rest/headers/Traceparent.scala b/src/main/scala/xyz/driver/core/rest/headers/Traceparent.scala index 9d470ad..866476d 100644 --- a/src/main/scala/xyz/driver/core/rest/headers/Traceparent.scala +++ b/src/main/scala/xyz/driver/core/rest/headers/Traceparent.scala @@ -3,20 +3,21 @@ package rest package headers import akka.http.scaladsl.model.headers.{ModeledCustomHeader, ModeledCustomHeaderCompanion} +import xyz.driver.core.reporting.SpanContext import scala.util.Try -/** Encapsulates trace context in an HTTP header for propagation across services. +/** Encapsulates a trace context in an HTTP header for propagation across services. * * This implementation corresponds to the W3C editor's draft specification (as of 2018-08-28) * https://w3c.github.io/distributed-tracing/report-trace-context.html. The 'flags' field is * ignored. */ -final case class Traceparent(traceId: String, spanId: String) extends ModeledCustomHeader[Traceparent] { +final case class Traceparent(spanContext: SpanContext) extends ModeledCustomHeader[Traceparent] { override def renderInRequests = true override def renderInResponses = true override val companion: Traceparent.type = Traceparent - override def value: String = f"01-$traceId-$spanId-00" + override def value: String = f"01-${spanContext.traceId}-${spanContext.spanId}-00" } object Traceparent extends ModeledCustomHeaderCompanion[Traceparent] { override val name = "traceparent" @@ -26,8 +27,7 @@ object Traceparent extends ModeledCustomHeaderCompanion[Traceparent] { version == "01", s"Found unsupported version '$version' in traceparent header. Only version '01' is supported.") new Traceparent( - traceId, - spanId + new SpanContext(traceId, spanId) ) } } -- cgit v1.2.3