From 9b0bed19489dbbd59c52a77e9c0c080a880ca262 Mon Sep 17 00:00:00 2001 From: "John St. John" Date: Thu, 21 Sep 2017 16:28:23 -0700 Subject: Jstjohn/google stackdriver trace (#64) Add app-level tracing to driver-core (https://www.pivotaltracker.com/story/show/151100422) --- .../scala/xyz/driver/core/trace/LoggingTrace.scala | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/main/scala/xyz/driver/core/trace/LoggingTrace.scala (limited to 'src/main/scala/xyz/driver/core/trace/LoggingTrace.scala') diff --git a/src/main/scala/xyz/driver/core/trace/LoggingTrace.scala b/src/main/scala/xyz/driver/core/trace/LoggingTrace.scala new file mode 100644 index 0000000..9db85b7 --- /dev/null +++ b/src/main/scala/xyz/driver/core/trace/LoggingTrace.scala @@ -0,0 +1,21 @@ +package xyz.driver.core.trace + +import akka.http.scaladsl.model.HttpRequest +import com.google.cloud.trace.v1.consumer.TraceConsumer +import com.typesafe.scalalogging.Logger + +final class LoggingTrace(appName: String, appEnvironment: String, log: Logger) extends GoogleServiceTracer { + + private val traceConsumer: TraceConsumer = new LoggingTraceConsumer(log) + private val googleServiceTracer = new GoogleStackdriverTraceWithConsumer( + "logging-tracer", + appName, + appEnvironment, + traceConsumer + ) + + override def startSpan(httpRequest: HttpRequest): GoogleStackdriverTraceSpan = + googleServiceTracer.startSpan(httpRequest) + + override def endSpan(span: GoogleStackdriverTraceSpan): Unit = googleServiceTracer.endSpan(span) +} -- cgit v1.2.3