Skip to content

Commit c0fe31e

Browse files
committed
RUM-9899: fix test compilation reverting and fixing TODOs
1 parent 0218ce9 commit c0fe31e

File tree

7 files changed

+30
-15
lines changed

7 files changed

+30
-15
lines changed

features/dd-sdk-android-trace-internal/api/dd-sdk-android-trace-internal.api

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1803,6 +1803,7 @@ public final class com/datadog/trace/api/gateway/RequestContextSlot : java/lang/
18031803
}
18041804

18051805
public abstract interface class com/datadog/trace/api/interceptor/MutableSpan {
1806+
public abstract fun drop ()V
18061807
public abstract fun getDurationNano ()J
18071808
public abstract fun getLocalRootSpan ()Lcom/datadog/trace/api/interceptor/MutableSpan;
18081809
public abstract fun getOperationName ()Ljava/lang/CharSequence;
@@ -2525,6 +2526,7 @@ public final class com/datadog/trace/bootstrap/instrumentation/api/AgentTracer$N
25252526
public fun addThrowable (Ljava/lang/Throwable;B)Lcom/datadog/trace/bootstrap/instrumentation/api/AgentSpan;
25262527
public fun beginEndToEnd ()V
25272528
public fun context ()Lcom/datadog/trace/bootstrap/instrumentation/api/AgentSpan$Context;
2529+
public fun drop ()V
25282530
public fun eligibleForDropping ()Z
25292531
public fun finish ()V
25302532
public fun finish (J)V
@@ -3550,6 +3552,7 @@ public class com/datadog/trace/core/DDSpan : com/datadog/trace/api/profiling/Tra
35503552
public fun beginEndToEnd ()V
35513553
public synthetic fun context ()Lcom/datadog/trace/bootstrap/instrumentation/api/AgentSpan$Context;
35523554
public final fun context ()Lcom/datadog/trace/core/DDSpanContext;
3555+
public fun drop ()V
35533556
public fun eligibleForDropping ()Z
35543557
public fun finish ()V
35553558
public fun finish (J)V
@@ -3838,6 +3841,7 @@ public class com/datadog/trace/core/PendingTrace : com/datadog/trace/bootstrap/i
38383841
public fun setSamplingPriorityIfNecessary ()V
38393842
public fun size ()I
38403843
public fun touch ()V
3844+
public fun unregisterSpan (Lcom/datadog/trace/core/DDSpan;)V
38413845
public fun write ()V
38423846
public fun writeOnBufferFull ()Z
38433847
}

features/dd-sdk-android-trace-internal/src/main/java/com/datadog/trace/api/interceptor/MutableSpan.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,4 +78,6 @@ default Object getTag(String key) {
7878
* @return The root span for the current trace fragment.
7979
*/
8080
MutableSpan getLocalRootSpan();
81+
82+
void drop();
8183
}

features/dd-sdk-android-trace-internal/src/main/java/com/datadog/trace/bootstrap/instrumentation/api/AgentTracer.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import androidx.annotation.Nullable;
66

7+
import com.datadog.android.trace.internal.compat.function.Consumer;
78
import com.datadog.trace.api.DDSpanId;
89
import com.datadog.trace.api.DDTraceId;
910
import com.datadog.trace.api.EndpointCheckpointer;
@@ -19,13 +20,12 @@
1920
import com.datadog.trace.api.scopemanager.ScopeListener;
2021
import com.datadog.trace.bootstrap.instrumentation.api.AgentSpan.Context;
2122

23+
import org.jetbrains.annotations.NotNull;
24+
2225
import java.util.Collections;
2326
import java.util.LinkedHashMap;
2427
import java.util.List;
2528
import java.util.Map;
26-
import com.datadog.android.trace.internal.compat.function.Consumer;
27-
28-
import org.jetbrains.annotations.NotNull;
2929

3030
public class AgentTracer {
3131
private static final String DEFAULT_INSTRUMENTATION_NAME = "datadog";
@@ -420,6 +420,9 @@ public AgentSpan setBaggageItem(final String key, final String value) {
420420
return this;
421421
}
422422

423+
@Override
424+
public void drop() {}
425+
423426
@Override
424427
public void finish() {}
425428

features/dd-sdk-android-trace-internal/src/main/java/com/datadog/trace/core/DDSpan.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,11 @@ public DDSpan getLocalRootSpan() {
322322
return context.getTrace().getRootSpan();
323323
}
324324

325+
@Override
326+
public void drop() {
327+
context.getTrace().unregisterSpan(this);
328+
}
329+
325330
/**
326331
* Checks whether the span is also the local root span
327332
*

features/dd-sdk-android-trace-internal/src/main/java/com/datadog/trace/core/PendingTrace.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,13 @@ void registerSpan(final DDSpan span) {
223223
}
224224
}
225225

226+
public void unregisterSpan(final DDSpan span){
227+
PENDING_REFERENCE_COUNT.decrementAndGet(this);
228+
if (pendingTraceBuffer.longRunningSpansEnabled()){
229+
spans.remove(span);
230+
}
231+
}
232+
226233
void trackRunningTrace(final DDSpan span) {
227234
if (!compareAndSetLongRunningState(
228235
LongRunningTracesTracker.UNDEFINED, LongRunningTracesTracker.TO_TRACK)) {

integrations/dd-sdk-android-okhttp/src/main/kotlin/com/datadog/android/okhttp/trace/TracingInterceptor.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -615,10 +615,6 @@ internal constructor(
615615
}
616616
}
617617

618-
private fun Span.drop() {
619-
// TODO (this as? MutableSpan)?.drop()
620-
}
621-
622618
private fun Span.sample(request: Request): Boolean {
623619
val samplingPriority = (this as? DDSpan)?.samplingPriority
624620
return if (samplingPriority != null) {

integrations/dd-sdk-android-okhttp/src/test/kotlin/com/datadog/android/okhttp/DatadogInterceptorWithoutTracesTest.kt

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ import java.util.Locale
8585
ExtendWith(TestConfigurationExtension::class)
8686
)
8787
@MockitoSettings(strictness = Strictness.LENIENT)
88-
@ForgeConfiguration(BaseConfigurator::class)
88+
@ForgeConfiguration(value = BaseConfigurator::class, seed = 0x76e0a392b31aL)
8989
internal class DatadogInterceptorWithoutTracesTest {
9090

9191
lateinit var testedInterceptor: TracingInterceptor
@@ -156,8 +156,8 @@ internal class DatadogInterceptorWithoutTracesTest {
156156
fun `set up`(forge: Forge) {
157157
fakeTraceId = forge.aDDTraceId(fakeTraceIdString)
158158
mockSpanContext = forge.newSpanContextMock(fakeTraceId, fakeSpanId)
159-
mockSpanBuilder = forge.newSpanBuilderMock(context = mockSpanContext)
160159
mockSpan = forge.newSpanMock(mockSpanContext)
160+
mockSpanBuilder = forge.newSpanBuilderMock(mockSpan, mockSpanContext)
161161
mockPropagation = newAgentPropagationMock()
162162
mockLocalTracer = forge.newTracerMock(mockSpanBuilder, mockPropagation)
163163

@@ -367,8 +367,7 @@ internal class DatadogInterceptorWithoutTracesTest {
367367
val response = testedInterceptor.intercept(mockChain)
368368

369369
verify(mockSpanBuilder).withOrigin(DatadogInterceptor.ORIGIN_RUM)
370-
//// TODO - fix drop method
371-
// verify(mockSpan).drop()
370+
verify(mockSpan).drop()
372371
assertThat(response).isSameAs(fakeResponse)
373372
}
374373

@@ -382,10 +381,9 @@ internal class DatadogInterceptorWithoutTracesTest {
382381
val response = testedInterceptor.intercept(mockChain)
383382

384383
verify(mockSpanBuilder).withOrigin(DatadogInterceptor.ORIGIN_RUM)
385-
verify(mockSpan as MutableSpan).setResourceName(fakeUrl.lowercase(Locale.US))
386-
verify(mockSpan as MutableSpan).setError(true)
387-
// TODO - fix drop method
388-
// verify(mockSpan).drop()
384+
verify(mockSpan).setResourceName(fakeUrl.lowercase(Locale.US))
385+
verify(mockSpan).setError(true)
386+
verify(mockSpan).drop()
389387
assertThat(response).isSameAs(fakeResponse)
390388
}
391389

0 commit comments

Comments
 (0)