Skip to content

Commit 5a1a295

Browse files
committed
RUM-9902: post review fixes
1 parent b9a4339 commit 5a1a295

File tree

45 files changed

+171
-271
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+171
-271
lines changed

features/dd-sdk-android-rum/src/main/kotlin/com/datadog/android/telemetry/internal/TelemetryEventHandler.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -440,17 +440,17 @@ internal class TelemetryEventHandler(
440440
// Would be nice to add the test with the flavor which is has no io.opentracing and test
441441
// for obfuscation enabled case.
442442
return try {
443-
val globalDatadogTracerHolderClass =
444-
Class.forName("com.datadog.android.trace.GlobalDatadogTracerHolder")
443+
val globalDatadogTracer =
444+
Class.forName("com.datadog.android.trace.GlobalDatadogTracer")
445445
return try {
446-
val holderInstance = globalDatadogTracerHolderClass.getField("INSTANCE").get(null)
447-
globalDatadogTracerHolderClass.getDeclaredMethod("getOrNull").invoke(holderInstance) != null
446+
val holderInstance = globalDatadogTracer.getField("INSTANCE").get(null)
447+
globalDatadogTracer.getDeclaredMethod("getOrNull").invoke(holderInstance) != null
448448
} catch (@Suppress("TooGenericExceptionCaught") t: Throwable) {
449449
sdkCore.internalLogger.log(
450450
InternalLogger.Level.ERROR,
451451
InternalLogger.Target.TELEMETRY,
452452
{
453-
"GlobalDatadogTracerHolder class exists in the runtime classpath, " +
453+
"GlobalDatadogTracer class exists in the runtime classpath, " +
454454
"but there is an error invoking isRegistered method"
455455
},
456456
t

features/dd-sdk-android-trace-api/api/apiSurface

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,10 @@ interface com.datadog.android.trace.api.span.DatadogSpanLogger
110110
fun log(Map<String, Any>, DatadogSpan)
111111
interface com.datadog.android.trace.api.span.DatadogSpanWriter
112112
interface com.datadog.android.trace.api.trace.DatadogTraceId
113+
fun toHexStringPadded(Int): String
114+
fun toHexString(): String
115+
fun toLong(): Long
116+
companion object
113117
interface com.datadog.android.trace.api.tracer.DatadogTracer
114118
fun activeSpan(): com.datadog.android.trace.api.span.DatadogSpan?
115119
fun propagate(): com.datadog.android.trace.api.propagation.DatadogPropagation

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,13 @@ public final class com/datadog/android/trace/api/span/NoOpDatadogSpanLogger : co
164164
}
165165

166166
public abstract interface class com/datadog/android/trace/api/trace/DatadogTraceId {
167+
public static final field Companion Lcom/datadog/android/trace/api/trace/DatadogTraceId$Companion;
168+
public abstract fun toHexString ()Ljava/lang/String;
169+
public abstract fun toHexStringPadded (I)Ljava/lang/String;
170+
public abstract fun toLong ()J
171+
}
172+
173+
public final class com/datadog/android/trace/api/trace/DatadogTraceId$Companion {
167174
}
168175

169176
public abstract interface class com/datadog/android/trace/api/tracer/DatadogTracer {

features/dd-sdk-android-trace-api/build.gradle.kts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,6 @@ plugins {
4040
}
4141

4242
android {
43-
defaultConfig {
44-
consumerProguardFiles("consumer-rules.pro")
45-
}
4643
namespace = "com.datadog.android.trace.api"
4744
}
4845

features/dd-sdk-android-trace-api/src/main/kotlin/com/datadog/android/trace/api/span/DatadogSpanWriter.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
package com.datadog.android.trace.api.span
77

88
/**
9-
* A writer is responsible to send collected spans to some place.
10-
* This wrapper is required to no expose CoreTracer wrapper to dependant modules
9+
* A writer is responsible for sending collected spans.
10+
* This wrapper is required to not expose CoreTracer wrapper to dependent modules
1111
* */
1212
interface DatadogSpanWriter

features/dd-sdk-android-trace-api/src/main/kotlin/com/datadog/android/trace/api/trace/DatadogTraceId.kt

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,31 @@ import com.datadog.tools.annotation.NoOpImplementation
99

1010
/**
1111
* Represents a Datadog trace ID, which is a unique identifier for a specific trace.
12-
*
13-
* This interface is typically used with a factory (`DatadogTraceIdFactory`) to generate or retrieve trace IDs.
1412
*/
1513
@NoOpImplementation
16-
interface DatadogTraceId
14+
interface DatadogTraceId {
15+
/**
16+
* Returns the lower-case zero-padded hexadecimal String representation of the trace ID.
17+
* The size will be rounded up to 16 or 32 characters.
18+
*
19+
* @param size The size in characters of the zero-padded String (rounded up to 16 or 32)
20+
* @return A lower-case zero-padded hexadecimal string representation of this trace ID
21+
*/
22+
fun toHexStringPadded(size: Int): String
23+
24+
/**
25+
* Converts the current trace ID into its hexadecimal string representation.
26+
*
27+
* @return the hexadecimal string representation of the trace ID.
28+
*/
29+
fun toHexString(): String
30+
31+
/**
32+
* Converts the Datadog trace ID to its numeric representation as a `Long`.
33+
*
34+
* @return the numeric value of the trace ID as a `Long`.
35+
*/
36+
fun toLong(): Long
37+
38+
companion object
39+
}

features/dd-sdk-android-trace-otel/src/main/java/com/datadog/opentelemetry/trace/OtelExtractedContext.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,10 @@
1010
import androidx.annotation.Nullable;
1111

1212
import com.datadog.android.api.InternalLogger;
13-
import com.datadog.android.trace.api.trace.DatadogTraceId;
1413
import com.datadog.android.trace.api.DatadogTracingConstants;
1514
import com.datadog.android.trace.api.span.DatadogSpanContext;
15+
import com.datadog.android.trace.api.trace.DatadogTraceId;
16+
import com.datadog.android.trace.internal.DatadogTraceExtKt;
1617
import com.datadog.android.trace.internal.DatadogTracingToolkit;
1718

1819
import java.util.Collections;
@@ -29,7 +30,7 @@ public class OtelExtractedContext implements DatadogSpanContext {
2930
private final int prioritySampling;
3031

3132
private OtelExtractedContext(SpanContext context) {
32-
traceId = DatadogTracingToolkit.traceIdConverter.fromHex(context.getTraceId());
33+
traceId = DatadogTraceExtKt.fromHex(DatadogTraceId.Companion, context.getTraceId());
3334
spanId = DatadogTracingToolkit.spanIdConverter.fromHex(context.getSpanId());
3435
prioritySampling = context.isSampled()
3536
? DatadogTracingConstants.PrioritySampling.SAMPLER_KEEP

features/dd-sdk-android-trace-otel/src/main/java/com/datadog/opentelemetry/trace/OtelSpanContext.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public static SpanContext fromRemote(DatadogSpanContext extracted, TraceState tr
4747
@Override
4848
public String getTraceId() {
4949
if (this.traceId == null) {
50-
this.traceId = DatadogTracingToolkit.traceIdConverter.toHexString(this.delegate.getTraceId());
50+
traceId = delegate.getTraceId().toHexString();
5151
}
5252
return this.traceId;
5353
}

features/dd-sdk-android-trace-otel/src/main/java/com/datadog/opentelemetry/trace/OtelSpanLink.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
import com.datadog.android.trace.api.span.DatadogSpanLink;
1414
import com.datadog.android.trace.api.trace.DatadogTraceId;
15+
import com.datadog.android.trace.internal.DatadogTraceExtKt;
1516
import com.datadog.android.trace.internal.DatadogTracingToolkit;
1617
import com.datadog.opentelemetry.context.propagation.TraceStateHelper;
1718

@@ -34,7 +35,7 @@ public OtelSpanLink(SpanContext spanContext) {
3435
}
3536

3637
public OtelSpanLink(SpanContext spanContext, io.opentelemetry.api.common.Attributes attributes) {
37-
traceId = DatadogTracingToolkit.traceIdConverter.fromHex(spanContext.getTraceId());
38+
traceId = DatadogTraceExtKt.fromHex(DatadogTraceId.Companion, spanContext.getTraceId());
3839
spanId = DatadogTracingToolkit.spanIdConverter.fromHex(spanContext.getSpanId());
3940
sampled = spanContext.isSampled();
4041
traceState = TraceStateHelper.encodeHeader(spanContext.getTraceState());

features/dd-sdk-android-trace-otel/src/main/kotlin/com/datadog/android/trace/opentelemetry/OtelTracerProvider.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ import com.datadog.android.api.InternalLogger
1313
import com.datadog.android.api.SdkCore
1414
import com.datadog.android.api.feature.Feature
1515
import com.datadog.android.api.feature.FeatureSdkCore
16+
import com.datadog.android.trace.DatadogTracing
1617
import com.datadog.android.trace.GlobalDatadogTracer
1718
import com.datadog.android.trace.InternalCoreWriterProvider
1819
import com.datadog.android.trace.TracingHeaderType
1920
import com.datadog.android.trace.api.tracer.DatadogTracer
20-
import com.datadog.android.trace.DatadogTracing
2121
import com.datadog.android.trace.internal.DatadogTracingToolkit.setTraceId128BitGenerationEnabled
2222
import com.datadog.android.trace.opentelemetry.internal.DatadogContextStorageWrapper
2323
import com.datadog.android.trace.opentelemetry.internal.executeIfJavaFunctionPackageExists

0 commit comments

Comments
 (0)