Skip to content

Commit 418d066

Browse files
authored
deprecate the Scala Future chaining instrumentation (#1034)
1 parent 5c51232 commit 418d066

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

instrumentation/kamon-scala-future/src/main/resources/reference.conf

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ kamon.instrumentation.futures.scala {
2323
kanela.modules {
2424

2525
scala-future {
26-
name = "Scala Future Intrumentation"
26+
name = "Scala Future Instrumentation"
2727
order = 1
28-
description = "Provides automatic context propagation to the thread executing a Scala Future's body and callbacks"
28+
description = "Deprecated since Kamon 2.1.21, will be removed in Kamon 2.3.0. Provides automatic context propagation to the thread executing a Scala Future's body and callbacks"
2929
instrumentations = [
3030
"kamon.instrumentation.futures.scala.FutureChainingInstrumentation"
3131
]

instrumentation/kamon-scala-future/src/main/scala/kamon/instrumentation/futures/scala/ScalaFutureInstrumentation.scala

+8
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ object ScalaFutureInstrumentation {
4040
* computation might be the result of applying several transformations to an initial Future. If you are interested in
4141
* tracing the intermediate computations as well, take a look at the `traceBody` and `traceFunc` functions bellow.
4242
*/
43+
@deprecated("This method will be removed in Kamon 2.3.0. Use kamon.Tracing.span instead.", "Kamon 2.1.21")
4344
def trace[T](operationName: String, tags: TagSet = TagSet.Empty, metricTags: TagSet = TagSet.Empty)(future: => Future[T])
4445
(implicit settings: Settings): Future[T] = {
4546

@@ -59,6 +60,7 @@ object ScalaFutureInstrumentation {
5960
* computation might be the result of applying several transformations to an initial Future. If you are interested in
6061
* tracing the intermediate computations as well, take a look at the `traceBody` and `traceFunc` functions bellow.
6162
*/
63+
@deprecated("This method will be removed in Kamon 2.3.0. Use kamon.Tracing.span instead.", "Kamon 2.1.21")
6264
def trace[T](spanBuilder: SpanBuilder)(future: => Future[T])(implicit settings: Settings): Future[T] = {
6365
if(settings.trackMetrics)
6466
spanBuilder.trackMetrics()
@@ -93,6 +95,7 @@ object ScalaFutureInstrumentation {
9395
* bytecode instrumentation. If instrumentation is disabled you risk leaving dirty threads that can cause
9496
* incorrect Context propagation behavior.
9597
*/
98+
@deprecated("This method will be removed in Kamon 2.3.0. Use kamon.Tracing.span instead.", "Kamon 2.1.21")
9699
def traceBody[S](operationName: String, tags: TagSet = TagSet.Empty, metricTags: TagSet = TagSet.Empty)(body: => S)
97100
(implicit settings: Settings): S = {
98101

@@ -121,6 +124,7 @@ object ScalaFutureInstrumentation {
121124
* bytecode instrumentation. If instrumentation is disabled you risk leaving dirty threads that can cause
122125
* incorrect Context propagation behavior.
123126
*/
127+
@deprecated("This method will be removed in Kamon 2.3.0. Use kamon.Tracing.span instead.", "Kamon 2.1.21")
124128
def traceBody[S](spanBuilder: SpanBuilder)(body: => S)(implicit settings: Settings): S = {
125129
val span = startedSpan(spanBuilder, settings)
126130
Kamon.storeContext(Kamon.currentContext().withEntry(Span.Key, span))
@@ -154,6 +158,7 @@ object ScalaFutureInstrumentation {
154158
* bytecode instrumentation. If instrumentation is disabled you risk leaving dirty threads that can cause
155159
* incorrect Context propagation behavior.
156160
*/
161+
@deprecated("This method will be removed in Kamon 2.3.0. Use kamon.Tracing.span instead.", "Kamon 2.1.21")
157162
def traceFunc[T, S](operationName: String, tags: TagSet = TagSet.Empty, metricTags: TagSet = TagSet.Empty)(body: T => S)
158163
(implicit settings: Settings): T => S = {
159164

@@ -182,6 +187,7 @@ object ScalaFutureInstrumentation {
182187
* bytecode instrumentation. If instrumentation is disabled you risk leaving dirty threads that can cause
183188
* incorrect Context propagation behavior.
184189
*/
190+
@deprecated("This method will be removed in Kamon 2.3.0. Use kamon.Tracing.span instead.", "Kamon 2.1.21")
185191
def traceFunc[T, S](spanBuilder: SpanBuilder)(body: T => S)(implicit settings: Settings): T => S = { t: T =>
186192
val span = startedSpan(spanBuilder, settings)
187193
Kamon.storeContext(Kamon.currentContext().withEntry(Span.Key, span))
@@ -201,8 +207,10 @@ object ScalaFutureInstrumentation {
201207
/**
202208
* Settings for the Delayed Spans created by the traceBody and traceFunc helper functions.
203209
*/
210+
@deprecated("This class will be removed in Kamon 2.3.0. Access the current Span and change settings on it instead.", "Kamon 2.1.21")
204211
case class Settings(trackMetrics: Boolean, trackDelayedSpanMetrics: Boolean)
205212

213+
@deprecated("This object will be removed in Kamon 2.3.0. Access the current Span and change settings on it instead.", "Kamon 2.1.21")
206214
object Settings {
207215

208216
@volatile private var _settingsFromConfig = readSettingsFromConfig(Kamon.config())

0 commit comments

Comments
 (0)