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

import akka.http.scaladsl.model.HttpRequest
import akka.http.scaladsl.model.headers.RawHeader

trait CanMakeHeader {
  def header: RawHeader
}

trait ServiceTracer {

  type TracerSpanPayload <: CanMakeHeader

  def startSpan(httpRequest: HttpRequest): TracerSpanPayload

  def endSpan(span: TracerSpanPayload): Unit

  def flush(): Unit
}