Skip to content

Commit

Permalink
Remove unused ScopeStateAware API
Browse files Browse the repository at this point in the history
  • Loading branch information
mcculls committed Mar 8, 2025
1 parent f3c421a commit 5e870d7
Show file tree
Hide file tree
Showing 6 changed files with 3 additions and 133 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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 =
Expand Down Expand Up @@ -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<ScopeStack> {

private final ProfilingContextIntegration profilingContextIntegration;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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;
Expand Down

This file was deleted.

This file was deleted.

0 comments on commit 5e870d7

Please sign in to comment.