Skip to content

Commit c80626e

Browse files
committed
RUM-9899: fix configuration
1 parent 913529c commit c80626e

File tree

5 files changed

+32
-23
lines changed

5 files changed

+32
-23
lines changed

detekt_custom.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -749,6 +749,7 @@ datadog:
749749
- "java.util.concurrent.atomic.AtomicLong.constructor(kotlin.Long)"
750750
- "java.util.concurrent.atomic.AtomicLong.get()"
751751
- "java.util.concurrent.atomic.AtomicLong.set(kotlin.Long)"
752+
- "java.util.concurrent.atomic.AtomicReference.compareAndSet(com.datadog.trace.core.CoreTracer?, com.datadog.trace.core.CoreTracer?)"
752753
- "java.util.concurrent.atomic.AtomicReference.compareAndSet(com.datadog.android.api.SdkCore?, com.datadog.android.api.SdkCore?)"
753754
- "java.util.concurrent.atomic.AtomicReference.compareAndSet(io.opentracing.Tracer?, io.opentracing.Tracer?)"
754755
- "java.util.concurrent.atomic.AtomicReference.constructor()"
@@ -763,6 +764,7 @@ datadog:
763764
- "java.util.concurrent.atomic.AtomicReference.set(com.datadog.android.api.SdkCore?)"
764765
- "java.util.concurrent.atomic.AtomicReference.set(com.datadog.android.api.feature.FeatureEventReceiver?)"
765766
- "java.util.concurrent.atomic.AtomicReference.set(com.datadog.android.rum.internal.domain.RumContext?)"
767+
- "java.util.concurrent.atomic.AtomicReference.set(com.datadog.trace.core.CoreTracer?)"
766768
- "java.util.concurrent.atomic.AtomicReference.set(io.opentracing.Tracer?)"
767769
- "java.util.concurrent.atomic.AtomicReference.set(kotlin.Nothing?)"
768770
- "java.util.concurrent.atomic.AtomicReference.set(kotlin.String?)"

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767

6868
import java.io.IOException;
6969
import java.lang.ref.WeakReference;
70-
import java.util.ArrayList;
70+
import java.util.ArrayList;
7171
import java.util.Collections;
7272
import java.util.HashMap;
7373
import java.util.LinkedHashMap;

integrations/dd-sdk-android-okhttp-otel/src/main/kotlin/com/datadog/android/okhttp/otel/OkHttpExt.kt

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -27,21 +27,23 @@ fun Request.Builder.addParentSpan(span: Span): Request.Builder = apply {
2727
agentSpanContext.trace.setSamplingPriorityIfNecessary()
2828
}
2929
@Suppress("UnsafeThirdPartyFunctionCall") // the context will always be a TraceContext
30-
tag(TraceContext::class.java, span.extractTraceContext())
30+
tag(
31+
TraceContext::class.java,
32+
TraceContext(
33+
span.spanContext.traceId,
34+
span.spanContext.spanId,
35+
agentSpanContext.samplingPriority
36+
)
37+
)
3138
} else {
3239
@Suppress("UnsafeThirdPartyFunctionCall") // the context will always be a TraceContext
33-
tag(TraceContext::class.java, span.extractTraceContext())
40+
tag(
41+
TraceContext::class.java,
42+
TraceContext(
43+
span.spanContext.traceId,
44+
span.spanContext.spanId,
45+
if (span.spanContext.isSampled) PrioritySampling.USER_KEEP else PrioritySampling.UNSET
46+
)
47+
)
3448
}
3549
}
36-
37-
private fun Span.extractTraceContext() = TraceContext(
38-
spanContext.traceId,
39-
spanContext.spanId,
40-
if (spanContext.isSampled) PrioritySampling.USER_KEEP else PrioritySampling.UNSET
41-
)
42-
43-
private fun OtelSpan.extractTraceContext() = TraceContext(
44-
spanContext.traceId,
45-
spanContext.spanId,
46-
agentSpanContext.samplingPriority
47-
)

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
package com.datadog.android.okhttp.trace
88

99
import com.datadog.trace.bootstrap.instrumentation.api.AgentSpan
10-
import com.datadog.trace.core.CoreTracer
10+
import com.datadog.trace.bootstrap.instrumentation.api.AgentTracer
1111

12-
typealias Tracer = CoreTracer
12+
typealias Tracer = AgentTracer.TracerAPI
1313
typealias Span = AgentSpan
1414
typealias SpanContext = AgentSpan.Context

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

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import com.datadog.android.trace.AndroidTracer
2727
import com.datadog.android.trace.TracingHeaderType
2828
import com.datadog.legacy.trace.api.DDTags
2929
import com.datadog.legacy.trace.api.sampling.PrioritySampling
30+
import com.datadog.trace.api.config.TracerConfig
3031
import com.datadog.trace.api.interceptor.MutableSpan
3132
import com.datadog.trace.api.sampling.SamplingMechanism
3233
import com.datadog.trace.bootstrap.instrumentation.api.AgentSpan
@@ -40,6 +41,7 @@ import okhttp3.OkHttpClient
4041
import okhttp3.Request
4142
import okhttp3.Response
4243
import java.net.HttpURLConnection
44+
import java.util.Properties
4345
import java.util.concurrent.atomic.AtomicReference
4446

4547
/**
@@ -846,16 +848,19 @@ internal constructor(
846848
internal const val OKHTTP_INTERCEPTOR_HEADER_TYPES = "okhttp_interceptor_header_types"
847849

848850
private const val AGENT_PSR_ATTRIBUTE = "_dd.agent_psr"
851+
849852
private val DEFAULT_LOCAL_TRACER_FACTORY: (SdkCore, Set<TracingHeaderType>) -> Tracer =
850-
{ sdkCore, _: Set<TracingHeaderType> ->
853+
{ sdkCore, tracingHeaderTypes: Set<TracingHeaderType> ->
854+
val propagationStyles = tracingHeaderTypes.joinToString(",")
851855
CoreTracer.CoreTracerBuilder((sdkCore as FeatureSdkCore).internalLogger)
856+
.withProperties(
857+
Properties().apply {
858+
setProperty(TracerConfig.PROPAGATION_STYLE_EXTRACT, propagationStyles)
859+
setProperty(TracerConfig.PROPAGATION_STYLE_INJECT, propagationStyles)
860+
}
861+
)
852862
.sampler(AllSampler())
853863
.build()
854-
// AndroidTracer.Builder(sdkCore)
855-
// // set sample rate to 100 to avoid sampling in the tracer, we are going to sample in the interceptor
856-
// .setSampleRate(ALL_IN_SAMPLE_RATE)
857-
// .setTracingHeaderTypes(tracingHeaderTypes)
858-
// .build()
859864
}
860865
}
861866
}

0 commit comments

Comments
 (0)