aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/core/trace/SimpleSpanContextHandler.scala
blob: 4ea0e8c79282a3dbf46f74db5a49a4c78a20e7aa (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package xyz.driver.core.trace

import com.google.cloud.trace.SpanContextHandler
import com.google.cloud.trace.DetachedSpanContextHandle
import com.google.cloud.trace.core.{SpanContext, SpanContextHandle}

@SuppressWarnings(Array("org.wartremover.warts.Var"))
class SimpleSpanContextHandler(rootSpan: SpanContext) extends SpanContextHandler {
  private var currentSpanContext = rootSpan

  override def current(): SpanContext = currentSpanContext

  override def attach(context: SpanContext): SpanContextHandle = {
    currentSpanContext = context
    new DetachedSpanContextHandle(context)
  }
}