aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/core/trace/LoggingTrace.scala
blob: 9db85b73c38c681f4e8333cd32cc37818575a261 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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)
}