aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/core/trace/GoogleServiceTracer.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/core/trace/GoogleServiceTracer.scala')
-rw-r--r--src/main/scala/xyz/driver/core/trace/GoogleServiceTracer.scala14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/core/trace/GoogleServiceTracer.scala b/src/main/scala/xyz/driver/core/trace/GoogleServiceTracer.scala
new file mode 100644
index 0000000..ead4c6f
--- /dev/null
+++ b/src/main/scala/xyz/driver/core/trace/GoogleServiceTracer.scala
@@ -0,0 +1,14 @@
+package xyz.driver.core.trace
+
+import akka.http.scaladsl.model.headers.RawHeader
+import com.google.cloud.trace.Tracer
+import com.google.cloud.trace.core.{SpanContextFactory, TraceContext}
+
+final case class GoogleStackdriverTraceSpan(tracer: Tracer, context: TraceContext) extends CanMakeHeader {
+ def header: RawHeader =
+ RawHeader(TracingHeaderKey, SpanContextFactory.toHeader(context.getHandle.getCurrentSpanContext))
+}
+
+trait GoogleServiceTracer extends ServiceTracer {
+ type TracerSpanPayload = GoogleStackdriverTraceSpan
+}