diff options
Diffstat (limited to 'src/main/scala/xyz/driver/core/trace/LoggingTrace.scala')
-rw-r--r-- | src/main/scala/xyz/driver/core/trace/LoggingTrace.scala | 21 |
1 files changed, 21 insertions, 0 deletions
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) +} |