diff options
author | Ivan Topolnjak <ivantopo@gmail.com> | 2017-06-11 22:45:04 +0200 |
---|---|---|
committer | Ivan Topolnjak <ivantopo@gmail.com> | 2017-06-11 22:45:04 +0200 |
commit | 05732d8693910248338744fa587bc4bc38ffb1ed (patch) | |
tree | ec6797a1cd9bf2ab302f910fb52c103abbd22114 /kamon-core/src/main/scala/kamon/Kamon.scala | |
parent | ac4ef4dbda6e215eeb55c27cd4ac1e3ba2d6521b (diff) | |
download | Kamon-05732d8693910248338744fa587bc4bc38ffb1ed.tar.gz Kamon-05732d8693910248338744fa587bc4bc38ffb1ed.tar.bz2 Kamon-05732d8693910248338744fa587bc4bc38ffb1ed.zip |
add withSpan and withContinuation helper functions
Diffstat (limited to 'kamon-core/src/main/scala/kamon/Kamon.scala')
-rw-r--r-- | kamon-core/src/main/scala/kamon/Kamon.scala | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/kamon-core/src/main/scala/kamon/Kamon.scala b/kamon-core/src/main/scala/kamon/Kamon.scala index b256cb22..dff143c4 100644 --- a/kamon-core/src/main/scala/kamon/Kamon.scala +++ b/kamon-core/src/main/scala/kamon/Kamon.scala @@ -80,7 +80,21 @@ 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 = { + + /** + * Makes the provided Span active before code is evaluated and deactivates it afterwards. + */ + def withSpan[T](span: Span)(code: => T): T = { + val activeSpan = makeActive(span) + val evaluatedCode = code + activeSpan.deactivate() + evaluatedCode + } + + /** + * Actives the provided Continuation before code is evaluated and deactivates it afterwards. + */ + def withContinuation[T](continuation: Continuation)(code: => T): T = { val activeSpan = continuation.activate() val evaluatedCode = code activeSpan.deactivate() |