Skip to content

Commit 4aba810

Browse files
committed
Migrate zio instrumentation to new Context API (#8527)
1 parent 3e2867a commit 4aba810

File tree

1 file changed

+23
-30
lines changed
  • dd-java-agent/instrumentation/zio/zio-2.0/src/main/java/datadog/trace/instrumentation/zio/v2_0

1 file changed

+23
-30
lines changed

dd-java-agent/instrumentation/zio/zio-2.0/src/main/java/datadog/trace/instrumentation/zio/v2_0/FiberContext.java

Lines changed: 23 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,63 +2,56 @@
22

33
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.captureActiveSpan;
44

5+
import datadog.context.Context;
56
import datadog.trace.bootstrap.instrumentation.api.AgentScope;
6-
import datadog.trace.bootstrap.instrumentation.api.AgentTracer;
7-
import datadog.trace.bootstrap.instrumentation.api.ScopeState;
87

98
public class FiberContext {
10-
private final ScopeState state;
9+
private final Context context;
1110
private AgentScope.Continuation continuation;
1211
private AgentScope scope;
13-
private ScopeState oldState;
12+
private Context oldContext;
1413

15-
private FiberContext(ScopeState state) {
16-
this.state = state;
17-
this.scope = null;
18-
this.oldState = null;
14+
private FiberContext(Context context) {
15+
this.context = context;
1916
this.continuation = captureActiveSpan();
17+
this.scope = null;
18+
this.oldContext = null;
2019
}
2120

2221
public static FiberContext create() {
23-
final ScopeState state = AgentTracer.get().newScopeState();
24-
return new FiberContext(state);
22+
return new FiberContext(Context.root());
2523
}
2624

2725
public void onEnd() {
28-
if (this.scope != null) {
29-
this.scope.close();
30-
this.scope = null;
26+
if (scope != null) {
27+
scope.close();
28+
scope = null;
3129
}
3230
if (continuation != null) {
3331
continuation.cancel();
3432
continuation = null;
3533
}
36-
37-
if (this.oldState != null) {
38-
this.oldState.activate();
39-
this.oldState = null;
34+
if (oldContext != null) {
35+
oldContext.swap();
36+
oldContext = null;
4037
}
4138
}
4239

4340
public void onSuspend() {
44-
if (this.scope != null && continuation != null) {
45-
this.scope.close();
46-
this.scope = null;
41+
if (scope != null && continuation != null) {
42+
scope.close();
43+
scope = null;
4744
}
48-
if (this.oldState != null) {
49-
this.oldState.activate();
50-
this.oldState = null;
45+
if (oldContext != null) {
46+
oldContext.swap();
47+
oldContext = null;
5148
}
5249
}
5350

5451
public void onResume() {
55-
this.oldState = AgentTracer.get().newScopeState();
56-
this.oldState.fetchFromActive();
57-
58-
this.state.activate();
59-
60-
if (this.continuation != null) {
61-
this.scope = continuation.activate();
52+
oldContext = context.swap();
53+
if (continuation != null) {
54+
scope = continuation.activate();
6255
continuation = null;
6356
}
6457
}

0 commit comments

Comments
 (0)