aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/Kamon.scala
diff options
context:
space:
mode:
authorIvan Topolnjak <ivantopo@gmail.com>2017-06-11 22:45:04 +0200
committerIvan Topolnjak <ivantopo@gmail.com>2017-06-11 22:45:04 +0200
commit05732d8693910248338744fa587bc4bc38ffb1ed (patch)
treeec6797a1cd9bf2ab302f910fb52c103abbd22114 /kamon-core/src/main/scala/kamon/Kamon.scala
parentac4ef4dbda6e215eeb55c27cd4ac1e3ba2d6521b (diff)
downloadKamon-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.scala16
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()