diff options
author | Ivan Topolnjak <ivantopo@gmail.com> | 2017-06-11 20:48:27 +0200 |
---|---|---|
committer | Ivan Topolnjak <ivantopo@gmail.com> | 2017-06-11 20:48:27 +0200 |
commit | ac4ef4dbda6e215eeb55c27cd4ac1e3ba2d6521b (patch) | |
tree | e743b5de227599d98dfd7ff9e32252b66a654bec /kamon-core/src/main/scala/kamon/Kamon.scala | |
parent | d9636988cd8acf789bf17bfd06407a6b5c15985b (diff) | |
download | Kamon-ac4ef4dbda6e215eeb55c27cd4ac1e3ba2d6521b.tar.gz Kamon-ac4ef4dbda6e215eeb55c27cd4ac1e3ba2d6521b.tar.bz2 Kamon-ac4ef4dbda6e215eeb55c27cd4ac1e3ba2d6521b.zip |
add utilily classes for working with Spans and Continuations
Diffstat (limited to 'kamon-core/src/main/scala/kamon/Kamon.scala')
-rw-r--r-- | kamon-core/src/main/scala/kamon/Kamon.scala | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/kamon-core/src/main/scala/kamon/Kamon.scala b/kamon-core/src/main/scala/kamon/Kamon.scala index c2ee0b1e..b256cb22 100644 --- a/kamon-core/src/main/scala/kamon/Kamon.scala +++ b/kamon-core/src/main/scala/kamon/Kamon.scala @@ -27,6 +27,8 @@ import kamon.util.MeasurementUnit import scala.concurrent.Future import java.time.Duration +import io.opentracing.ActiveSpan.Continuation + object Kamon extends MetricLookup with ReporterRegistry with io.opentracing.Tracer { private val initialConfig = ConfigFactory.load() @@ -78,6 +80,12 @@ object Kamon extends MetricLookup with ReporterRegistry with io.opentracing.Trac override def makeActive(span: Span): ActiveSpan = kamonTracer.makeActive(span) + def withActiveSpan[T](continuation: Continuation)(code: => T): T = { + val activeSpan = continuation.activate() + val evaluatedCode = code + activeSpan.deactivate() + evaluatedCode + } override def loadReportersFromConfig(): Unit = |