diff --git a/dd-java-agent/instrumentation/kotlin-coroutines/src/main/java/datadog/trace/instrumentation/kotlin/coroutines/CoroutineContextAdvice.java b/dd-java-agent/instrumentation/kotlin-coroutines/src/main/java/datadog/trace/instrumentation/kotlin/coroutines/CoroutineContextAdvice.java index 7db2d180daa..7f4bc9a81dd 100644 --- a/dd-java-agent/instrumentation/kotlin-coroutines/src/main/java/datadog/trace/instrumentation/kotlin/coroutines/CoroutineContextAdvice.java +++ b/dd-java-agent/instrumentation/kotlin-coroutines/src/main/java/datadog/trace/instrumentation/kotlin/coroutines/CoroutineContextAdvice.java @@ -8,7 +8,7 @@ public class CoroutineContextAdvice { public static void enter( @Advice.Argument(value = 1, readOnly = false) CoroutineContext coroutineContext) { if (coroutineContext != null) { - coroutineContext = coroutineContext.plus(new ManagedScopeCoroutineContext()); + coroutineContext = coroutineContext.plus(new ScopeStateCoroutineContext()); } } } diff --git a/dd-java-agent/instrumentation/kotlin-coroutines/src/main/java/datadog/trace/instrumentation/kotlin/coroutines/KotlinCoroutinesInstrumentation.java b/dd-java-agent/instrumentation/kotlin-coroutines/src/main/java/datadog/trace/instrumentation/kotlin/coroutines/KotlinCoroutinesInstrumentation.java index 8116ed5e94d..6d2e2a41e44 100644 --- a/dd-java-agent/instrumentation/kotlin-coroutines/src/main/java/datadog/trace/instrumentation/kotlin/coroutines/KotlinCoroutinesInstrumentation.java +++ b/dd-java-agent/instrumentation/kotlin-coroutines/src/main/java/datadog/trace/instrumentation/kotlin/coroutines/KotlinCoroutinesInstrumentation.java @@ -18,8 +18,8 @@ public KotlinCoroutinesInstrumentation() { @Override public String[] helperClassNames() { return new String[] { - packageName + ".ManagedScopeCoroutineContext", - packageName + ".ManagedScopeCoroutineContext$ContextElementKey", + packageName + ".ScopeStateCoroutineContext", + packageName + ".ScopeStateCoroutineContext$ContextElementKey", }; } diff --git a/dd-java-agent/instrumentation/kotlin-coroutines/src/main/java/datadog/trace/instrumentation/kotlin/coroutines/ManagedScopeCoroutineContext.java b/dd-java-agent/instrumentation/kotlin-coroutines/src/main/java/datadog/trace/instrumentation/kotlin/coroutines/ScopeStateCoroutineContext.java similarity index 61% rename from dd-java-agent/instrumentation/kotlin-coroutines/src/main/java/datadog/trace/instrumentation/kotlin/coroutines/ManagedScopeCoroutineContext.java rename to dd-java-agent/instrumentation/kotlin-coroutines/src/main/java/datadog/trace/instrumentation/kotlin/coroutines/ScopeStateCoroutineContext.java index a40cc72c168..7204e6a2478 100644 --- a/dd-java-agent/instrumentation/kotlin-coroutines/src/main/java/datadog/trace/instrumentation/kotlin/coroutines/ManagedScopeCoroutineContext.java +++ b/dd-java-agent/instrumentation/kotlin-coroutines/src/main/java/datadog/trace/instrumentation/kotlin/coroutines/ScopeStateCoroutineContext.java @@ -1,32 +1,32 @@ package datadog.trace.instrumentation.kotlin.coroutines; import datadog.trace.bootstrap.instrumentation.api.AgentTracer; -import datadog.trace.bootstrap.instrumentation.api.ManagedScope; +import datadog.trace.bootstrap.instrumentation.api.ScopeState; import kotlin.coroutines.CoroutineContext; import kotlin.jvm.functions.Function2; import kotlinx.coroutines.ThreadContextElement; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public class ManagedScopeCoroutineContext implements ThreadContextElement { +public class ScopeStateCoroutineContext implements ThreadContextElement { - private static final Key KEY = new ContextElementKey(); - private final ManagedScope managedScope = AgentTracer.get().delegateManagedScope(); + private static final Key KEY = new ContextElementKey(); + private final ScopeState scopeState = AgentTracer.get().newScopeState(); @Override public void restoreThreadContext( - @NotNull CoroutineContext coroutineContext, ManagedScope oldState) { + @NotNull CoroutineContext coroutineContext, ScopeState oldState) { oldState.activate(); } @Override - public ManagedScope updateThreadContext(@NotNull CoroutineContext coroutineContext) { - final ManagedScope oldManagedScope = AgentTracer.get().delegateManagedScope(); - oldManagedScope.fetch(); + public ScopeState updateThreadContext(@NotNull CoroutineContext coroutineContext) { + final ScopeState oldScopeState = AgentTracer.get().newScopeState(); + oldScopeState.fetchFromActive(); - managedScope.activate(); + scopeState.activate(); - return oldManagedScope; + return oldScopeState; } @Nullable @@ -59,5 +59,5 @@ public Key getKey() { return KEY; } - static class ContextElementKey implements Key {} + static class ContextElementKey implements Key {} } diff --git a/dd-trace-core/src/main/java/datadog/trace/core/CoreTracer.java b/dd-trace-core/src/main/java/datadog/trace/core/CoreTracer.java index 06aa4348230..6b3b45a713a 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/CoreTracer.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/CoreTracer.java @@ -40,7 +40,7 @@ import datadog.trace.bootstrap.instrumentation.api.AgentScopeManager; import datadog.trace.bootstrap.instrumentation.api.AgentSpan; import datadog.trace.bootstrap.instrumentation.api.AgentTracer; -import datadog.trace.bootstrap.instrumentation.api.ManagedScope; +import datadog.trace.bootstrap.instrumentation.api.ScopeState; import datadog.trace.bootstrap.instrumentation.api.PathwayContext; import datadog.trace.bootstrap.instrumentation.api.ProfilingContextIntegration; import datadog.trace.bootstrap.instrumentation.api.ScopeSource; @@ -201,8 +201,8 @@ public void onRootSpanStarted(AgentSpan root) { } @Override - public ManagedScope delegateManagedScope() { - return scopeManager.delegateManagedScope(); + public ScopeState newScopeState() { + return scopeManager.newScopeState(); } public static class CoreTracerBuilder { diff --git a/dd-trace-core/src/main/java/datadog/trace/core/scopemanager/ContinuableScopeManager.java b/dd-trace-core/src/main/java/datadog/trace/core/scopemanager/ContinuableScopeManager.java index a695baa009c..8cd5896106e 100644 --- a/dd-trace-core/src/main/java/datadog/trace/core/scopemanager/ContinuableScopeManager.java +++ b/dd-trace-core/src/main/java/datadog/trace/core/scopemanager/ContinuableScopeManager.java @@ -16,7 +16,7 @@ import datadog.trace.bootstrap.instrumentation.api.AgentTrace; import datadog.trace.bootstrap.instrumentation.api.AgentTracer; import datadog.trace.bootstrap.instrumentation.api.AttachableWrapper; -import datadog.trace.bootstrap.instrumentation.api.ManagedScope; +import datadog.trace.bootstrap.instrumentation.api.ScopeState; import datadog.trace.bootstrap.instrumentation.api.ProfilingContextIntegration; import datadog.trace.bootstrap.instrumentation.api.ScopeSource; import datadog.trace.util.AgentTaskScheduler; @@ -256,11 +256,11 @@ ScopeStack scopeStack() { } @Override - public ManagedScope delegateManagedScope() { - return new ContinuableManagedScope(); + public ScopeState newScopeState() { + return new ContinuableScopeState(); } - private class ContinuableManagedScope implements ManagedScope { + private class ContinuableScopeState implements ScopeState { private ScopeStack localScopeStack = tlsScopeStack.initialValue(); private AgentSpan span = activeSpan(); @@ -274,7 +274,7 @@ public void activate() { } @Override - public void fetch() { + public void fetchFromActive() { localScopeStack = tlsScopeStack.get(); } } diff --git a/dd-trace-ot/src/main/java/datadog/opentracing/CustomScopeManagerWrapper.java b/dd-trace-ot/src/main/java/datadog/opentracing/CustomScopeManagerWrapper.java index 4b49262fed4..c76c377755a 100644 --- a/dd-trace-ot/src/main/java/datadog/opentracing/CustomScopeManagerWrapper.java +++ b/dd-trace-ot/src/main/java/datadog/opentracing/CustomScopeManagerWrapper.java @@ -7,8 +7,8 @@ import datadog.trace.bootstrap.instrumentation.api.AgentScope; import datadog.trace.bootstrap.instrumentation.api.AgentScopeManager; import datadog.trace.bootstrap.instrumentation.api.AgentSpan; -import datadog.trace.bootstrap.instrumentation.api.ManagedScope; import datadog.trace.bootstrap.instrumentation.api.ScopeSource; +import datadog.trace.bootstrap.instrumentation.api.ScopeState; import datadog.trace.util.AgentTaskScheduler; import io.opentracing.Scope; import io.opentracing.ScopeManager; @@ -149,11 +149,11 @@ public AgentScope activateNext(final AgentSpan agentSpan) { } @Override - public ManagedScope delegateManagedScope() { - return new CustomManagedScope(); + public ScopeState newScopeState() { + return new CustomScopeState(); } - private class CustomManagedScope implements ManagedScope { + private class CustomScopeState implements ScopeState { private AgentSpan span = activeSpan(); @@ -163,7 +163,7 @@ public void activate() { } @Override - public void fetch() { + public void fetchFromActive() { span = activeSpan(); } } diff --git a/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/AgentScopeManager.java b/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/AgentScopeManager.java index a344216a53d..7532a8fdb34 100644 --- a/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/AgentScopeManager.java +++ b/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/AgentScopeManager.java @@ -3,7 +3,7 @@ /** * Allows custom scope managers. See OTScopeManager, CustomScopeManager, and ContextualScopeManager */ -public interface AgentScopeManager extends ManagedScopeAware { +public interface AgentScopeManager extends ScopeStateAware { AgentScope activate(AgentSpan span, ScopeSource source); diff --git a/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/AgentTracer.java b/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/AgentTracer.java index 041ff12c45f..63fb10936da 100644 --- a/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/AgentTracer.java +++ b/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/AgentTracer.java @@ -120,7 +120,7 @@ public interface TracerAPI InternalTracer, AgentPropagation, EndpointCheckpointer, - ManagedScopeAware { + ScopeStateAware { AgentSpan startSpan(CharSequence spanName); AgentSpan startSpan(CharSequence spanName, long startTimeMicros); @@ -386,7 +386,7 @@ public AgentSpan.Context notifyExtensionStart(Object event) { public void notifyExtensionEnd(AgentSpan span, Object result, boolean isError) {} @Override - public ManagedScope delegateManagedScope() { + public ScopeState newScopeState() { return null; } } diff --git a/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/ManagedScopeAware.java b/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/ManagedScopeAware.java deleted file mode 100644 index e62e8ed2a22..00000000000 --- a/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/ManagedScopeAware.java +++ /dev/null @@ -1,5 +0,0 @@ -package datadog.trace.bootstrap.instrumentation.api; - -public interface ManagedScopeAware { - ManagedScope delegateManagedScope(); -} diff --git a/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/ManagedScope.java b/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/ScopeState.java similarity index 57% rename from internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/ManagedScope.java rename to internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/ScopeState.java index 276c582aaa3..5e715cc3546 100644 --- a/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/ManagedScope.java +++ b/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/ScopeState.java @@ -1,7 +1,7 @@ package datadog.trace.bootstrap.instrumentation.api; -public interface ManagedScope { +public interface ScopeState { void activate(); - void fetch(); + void fetchFromActive(); } diff --git a/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/ScopeStateAware.java b/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/ScopeStateAware.java new file mode 100644 index 00000000000..977afc11843 --- /dev/null +++ b/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/ScopeStateAware.java @@ -0,0 +1,5 @@ +package datadog.trace.bootstrap.instrumentation.api; + +public interface ScopeStateAware { + ScopeState newScopeState(); +}