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 cd7036edb66..d5cd55494e3 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 @@ -62,7 +62,6 @@ import datadog.trace.bootstrap.instrumentation.api.BlackHoleSpan; import datadog.trace.bootstrap.instrumentation.api.ProfilingContextIntegration; import datadog.trace.bootstrap.instrumentation.api.ScopeSource; -import datadog.trace.bootstrap.instrumentation.api.ScopeState; import datadog.trace.bootstrap.instrumentation.api.TagContext; import datadog.trace.civisibility.interceptor.CiVisibilityApmProtocolInterceptor; import datadog.trace.civisibility.interceptor.CiVisibilityTelemetryInterceptor; @@ -292,11 +291,6 @@ public EndpointTracker onRootSpanStarted(AgentSpan root) { return null; } - @Override - public ScopeState newScopeState() { - return scopeManager.newScopeState(); - } - public static class CoreTracerBuilder { private Config config; 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 5fcf4c6d6b3..f60da966ab6 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,8 +16,6 @@ import datadog.trace.bootstrap.instrumentation.api.ProfilerContext; import datadog.trace.bootstrap.instrumentation.api.ProfilingContextIntegration; import datadog.trace.bootstrap.instrumentation.api.ScopeSource; -import datadog.trace.bootstrap.instrumentation.api.ScopeState; -import datadog.trace.bootstrap.instrumentation.api.ScopeStateAware; import datadog.trace.core.monitor.HealthMetrics; import datadog.trace.relocate.api.RatelimitedLogger; import datadog.trace.util.AgentTaskScheduler; @@ -37,7 +35,7 @@ * from being reported even if all related spans are finished. It also delegates to other * ScopeInterceptors to provide additional functionality. */ -public final class ContinuableScopeManager implements ScopeStateAware { +public final class ContinuableScopeManager { static final Logger log = LoggerFactory.getLogger(ContinuableScopeManager.class); static final RatelimitedLogger ratelimitedLog = new RatelimitedLogger(log, 1, MINUTES); static final long iterationKeepAlive = @@ -280,26 +278,6 @@ ScopeStack scopeStack() { return this.tlsScopeStack.get(); } - @Override - public ScopeState newScopeState() { - return new ContinuableScopeState(); - } - - private class ContinuableScopeState implements ScopeState { - - private ScopeStack localScopeStack = tlsScopeStack.initialValue(); - - @Override - public void activate() { - tlsScopeStack.set(localScopeStack); - } - - @Override - public void fetchFromActive() { - localScopeStack = tlsScopeStack.get(); - } - } - static final class ScopeStackThreadLocal extends ThreadLocal { private final ProfilingContextIntegration profilingContextIntegration; diff --git a/dd-trace-core/src/test/groovy/datadog/trace/core/scopemanager/ScopeManagerTest.groovy b/dd-trace-core/src/test/groovy/datadog/trace/core/scopemanager/ScopeManagerTest.groovy index 4f0f8dfe3a3..c70aacfc3be 100644 --- a/dd-trace-core/src/test/groovy/datadog/trace/core/scopemanager/ScopeManagerTest.groovy +++ b/dd-trace-core/src/test/groovy/datadog/trace/core/scopemanager/ScopeManagerTest.groovy @@ -6,12 +6,12 @@ import datadog.trace.api.Stateful import datadog.trace.api.interceptor.MutableSpan import datadog.trace.api.interceptor.TraceInterceptor import datadog.trace.api.scopemanager.ExtendedScopeListener +import datadog.trace.api.scopemanager.ScopeListener import datadog.trace.bootstrap.instrumentation.api.AgentScope import datadog.trace.bootstrap.instrumentation.api.AgentSpan import datadog.trace.bootstrap.instrumentation.api.ProfilingContextIntegration import datadog.trace.bootstrap.instrumentation.api.ScopeSource import datadog.trace.common.writer.ListWriter -import datadog.trace.api.scopemanager.ScopeListener import datadog.trace.context.TraceScope import datadog.trace.core.CoreTracer import datadog.trace.core.DDSpan @@ -69,91 +69,6 @@ class ScopeManagerTest extends DDCoreSpecification { tracer.close() } - def "scope state should be able to fetch and activate state when there is no active span"() { - when: - def initialScopeState = scopeManager.newScopeState() - initialScopeState.fetchFromActive() - - then: - scopeManager.active() == null - - when: - def newScopeState = scopeManager.newScopeState() - newScopeState.activate() - - then: - scopeManager.active() == null - - when: - def span = tracer.buildSpan("test", "test").start() - def scope = tracer.activateSpan(span) - - then: - scope.span() == span - scopeManager.active() == scope - - when: - initialScopeState.activate() - - then: - scopeManager.active() == null - - when: - newScopeState.activate() - - then: - scopeManager.active() == scope - - when: - span.finish() - scope.close() - writer.waitForTraces(1) - - then: - writer == [[scope.span()]] - scopeManager.active() == null - - when: - initialScopeState.activate() - - then: - scopeManager.active() == null - } - - def "scope state should be able to fetch and activate state when there is an active span"() { - when: - def span = tracer.buildSpan("test", "test").start() - def scope = tracer.activateSpan(span) - def initialScopeState = scopeManager.newScopeState() - initialScopeState.fetchFromActive() - - then: - scope.span() == span - scopeManager.active() == scope - - when: - def newScopeState = scopeManager.newScopeState() - newScopeState.activate() - - then: - scopeManager.active() == null - - when: - initialScopeState.activate() - - then: - scopeManager.active() == scope - - when: - span.finish() - scope.close() - writer.waitForTraces(1) - - then: - scopeManager.active() == null - writer == [[scope.span()]] - } - def "non-ddspan activation results in a continuable scope"() { when: def scope = scopeManager.activate(noopSpan(), ScopeSource.INSTRUMENTATION) 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 7dfbc56d251..93fd139263b 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 @@ -292,7 +292,7 @@ public static TracerAPI get() { private AgentTracer() {} public interface TracerAPI - extends datadog.trace.api.Tracer, InternalTracer, EndpointCheckpointer, ScopeStateAware { + extends datadog.trace.api.Tracer, InternalTracer, EndpointCheckpointer { /** * Create and start a new span. @@ -635,11 +635,6 @@ public AgentSpanContext notifyExtensionStart(Object event) { @Override public void notifyExtensionEnd(AgentSpan span, Object result, boolean isError) {} - @Override - public ScopeState newScopeState() { - return null; - } - @Override public AgentDataStreamsMonitoring getDataStreamsMonitoring() { return NoopDataStreamsMonitoring.INSTANCE; diff --git a/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/ScopeState.java b/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/ScopeState.java deleted file mode 100644 index 5e715cc3546..00000000000 --- a/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/ScopeState.java +++ /dev/null @@ -1,7 +0,0 @@ -package datadog.trace.bootstrap.instrumentation.api; - -public interface ScopeState { - void activate(); - - 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 deleted file mode 100644 index 977afc11843..00000000000 --- a/internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/ScopeStateAware.java +++ /dev/null @@ -1,5 +0,0 @@ -package datadog.trace.bootstrap.instrumentation.api; - -public interface ScopeStateAware { - ScopeState newScopeState(); -}