aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/core/rest/headers/Traceparent.scala
diff options
context:
space:
mode:
authorJakob Odersky <jakob@driver.xyz>2018-08-29 22:03:43 -0700
committerJakob Odersky <jakob@driver.xyz>2018-09-12 14:17:39 -0700
commit05bc848cc504b6825c7dcc49dd9aac0cd02e895c (patch)
treeeb0a355dc5dbe2110d851fa06c34a1603e7118b9 /src/main/scala/xyz/driver/core/rest/headers/Traceparent.scala
parenta178592098a2bc07fcb7749eaf148debf02a5e63 (diff)
downloaddriver-core-05bc848cc504b6825c7dcc49dd9aac0cd02e895c.tar.gz
driver-core-05bc848cc504b6825c7dcc49dd9aac0cd02e895c.tar.bz2
driver-core-05bc848cc504b6825c7dcc49dd9aac0cd02e895c.zip
Add tracing to client HTTP transport and improve tracing tags
Diffstat (limited to 'src/main/scala/xyz/driver/core/rest/headers/Traceparent.scala')
-rw-r--r--src/main/scala/xyz/driver/core/rest/headers/Traceparent.scala10
1 files changed, 5 insertions, 5 deletions
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)
)
}
}