Skip to content

Commit 34611dd

Browse files
committed
exclude zio internal runnable from context propagation
1 parent b50351c commit 34611dd

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ public void onSuspend() {
4141
this.oldState.activate();
4242
this.oldState = null;
4343
}
44+
if (this.scope != null) {
45+
this.scope.close();
46+
}
4447
}
4548

4649
public void onResume() {

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

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,21 @@
55
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
66

77
import com.google.auto.service.AutoService;
8+
import datadog.trace.agent.tooling.ExcludeFilterProvider;
89
import datadog.trace.agent.tooling.Instrumenter;
910
import datadog.trace.bootstrap.ContextStore;
1011
import datadog.trace.bootstrap.InstrumentationContext;
12+
import datadog.trace.bootstrap.instrumentation.java.concurrent.ExcludeFilter;
13+
import java.util.Collection;
14+
import java.util.Collections;
1115
import java.util.Map;
1216
import net.bytebuddy.asm.Advice;
1317
import zio.Fiber;
1418
import zio.Supervisor;
1519

1620
@AutoService(Instrumenter.class)
1721
public class ZioRuntimeInstrumentation extends Instrumenter.Tracing
18-
implements Instrumenter.ForSingleType {
22+
implements Instrumenter.ForSingleType, ExcludeFilterProvider {
1923

2024
public ZioRuntimeInstrumentation() {
2125
super("zio.experimental");
@@ -47,6 +51,12 @@ public Map<String, String> contextStore() {
4751
return singletonMap("zio.Fiber$Runtime", packageName + ".FiberContext");
4852
}
4953

54+
@Override
55+
public Map<ExcludeFilter.ExcludeType, ? extends Collection<String>> excludedClasses() {
56+
return Collections.singletonMap(
57+
ExcludeFilter.ExcludeType.RUNNABLE, Collections.singletonList("zio.internal.FiberRuntime"));
58+
}
59+
5060
public static final class DefaultSupervisor {
5161
@Advice.OnMethodExit(suppress = Throwable.class)
5262
public static void onExit(@Advice.Return(readOnly = false) Supervisor<?> supervisor) {

0 commit comments

Comments
 (0)