Skip to content

Commit bee3881

Browse files
committed
RUM-9902: post review fixes
1 parent 291687f commit bee3881

File tree

83 files changed

+1926
-347
lines changed

Some content is hidden

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

83 files changed

+1926
-347
lines changed

dd-sdk-android-internal/src/main/java/com/datadog/android/internal/utils/CastExt.kt

Lines changed: 0 additions & 28 deletions
This file was deleted.

detekt_custom.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1084,6 +1084,7 @@ datadog:
10841084
- "kotlin.collections.MutableMap.isEmpty()"
10851085
- "kotlin.collections.MutableMap.isNotEmpty()"
10861086
- "kotlin.collections.MutableMap.iterator()"
1087+
- "kotlin.collections.MutableMap.orEmpty()"
10871088
- "kotlin.collections.MutableMap.map(kotlin.Function1)"
10881089
- "kotlin.collections.MutableMap.mapValues(kotlin.Function1)"
10891090
- "kotlin.collections.MutableMap.put(kotlin.Any?, kotlin.Any?)"

features/dd-sdk-android-rum/src/test/kotlin/com/datadog/android/telemetry/internal/TelemetryEventHandlerTest.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,7 @@ import com.datadog.android.telemetry.model.TelemetryConfigurationEvent
4545
import com.datadog.android.telemetry.model.TelemetryDebugEvent
4646
import com.datadog.android.telemetry.model.TelemetryErrorEvent
4747
import com.datadog.android.telemetry.model.TelemetryUsageEvent
48-
import com.datadog.android.trace.GlobalDatadogTracerHolder
49-
import com.datadog.android.trace.api.clear
48+
import com.datadog.android.trace.GlobalDatadogTracer
5049
import com.datadog.android.trace.api.tracer.DatadogTracer
5150
import com.datadog.tools.unit.forge.aThrowable
5251
import fr.xgouchet.elmyr.Forge
@@ -224,7 +223,7 @@ internal class TelemetryEventHandlerTest {
224223

225224
@AfterEach
226225
fun `tear down`() {
227-
GlobalDatadogTracerHolder.clear()
226+
GlobalDatadogTracer.clear()
228227
}
229228

230229
// region Debug Event
@@ -615,7 +614,7 @@ internal class TelemetryEventHandlerTest {
615614
if (useTracer) {
616615
whenever(mockSdkCore.getFeature(Feature.TRACING_FEATURE_NAME)) doReturn mock()
617616
if (tracerApi == TelemetryEventHandler.TracerApi.OpenTracing) {
618-
GlobalDatadogTracerHolder.registerIfAbsent(mock<DatadogTracer>())
617+
GlobalDatadogTracer.registerIfAbsent(mock<DatadogTracer>())
619618
} else if (tracerApi == TelemetryEventHandler.TracerApi.OpenTelemetry) {
620619
fakeDatadogContext = fakeDatadogContext.copy(
621620
featuresContext = fakeDatadogContext.featuresContext.toMutableMap().apply {

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

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -45,18 +45,13 @@ object com.datadog.android.trace.api.DatadogTracingConstants
4545
const val ERROR_MSG: String
4646
const val ERROR_TYPE: String
4747
interface com.datadog.android.trace.api.propagation.DatadogPropagation
48-
fun <C> inject(com.datadog.android.trace.api.span.DatadogSpan, C, (C) -> Unit)
4948
fun <C> inject(com.datadog.android.trace.api.span.DatadogSpanContext, C, (C) -> Unit)
5049
fun <C> extract(C, (C) -> Unit): com.datadog.android.trace.api.span.DatadogSpanContext?
5150
fun isExtractedContext(com.datadog.android.trace.api.span.DatadogSpanContext): Boolean
52-
fun createExtractedContext(String, String, Int): com.datadog.android.trace.api.span.DatadogSpanContext
5351
class com.datadog.android.trace.api.propagation.NoOpDatadogPropagation : DatadogPropagation
54-
override fun <C> inject(com.datadog.android.trace.api.span.DatadogSpan, C, (C) -> Unit)
5552
override fun <C> inject(com.datadog.android.trace.api.span.DatadogSpanContext, C, (C) -> Unit)
5653
override fun <C> extract(C, (C) -> Unit): com.datadog.android.trace.api.span.DatadogSpanContext?
5754
override fun isExtractedContext(com.datadog.android.trace.api.span.DatadogSpanContext)
58-
override fun createExtractedContext(String, String, Int): com.datadog.android.trace.api.span.DatadogSpanContext
59-
interface com.datadog.android.trace.api.sampling.DatadogTracerSampler
6055
interface com.datadog.android.trace.api.scope.DatadogScope : java.io.Closeable
6156
override fun close()
6257
interface com.datadog.android.trace.api.span.DatadogSpan
@@ -69,7 +64,7 @@ interface com.datadog.android.trace.api.span.DatadogSpan
6964
var serviceName: String
7065
var operationName: String
7166
val durationNano: Long
72-
val startTime: Long
67+
val startTimeNano: Long
7368
val localRootSpan: DatadogSpan?
7469
fun context(): DatadogSpanContext
7570
fun finish()
@@ -84,7 +79,6 @@ interface com.datadog.android.trace.api.span.DatadogSpan
8479
fun setTag(String?, Any?)
8580
fun getTag(String?): Any?
8681
fun setMetric(String, Int)
87-
fun forceSamplingDecision()
8882
interface com.datadog.android.trace.api.span.DatadogSpanBuilder
8983
fun start(): DatadogSpan
9084
fun withOrigin(String?): DatadogSpanBuilder
@@ -101,13 +95,9 @@ interface com.datadog.android.trace.api.span.DatadogSpanContext
10195
val traceId: com.datadog.android.trace.api.trace.DatadogTraceId
10296
val spanId: Long
10397
val samplingPriority: Int
104-
val tags: Map<String?, Any?>?
98+
val tags: Map<String?, Any?>
10599
fun setSamplingPriority(Int): Boolean
106-
fun setTracingSamplingPriorityIfNecessary()
107100
fun setMetric(CharSequence?, Double)
108-
interface com.datadog.android.trace.api.span.DatadogSpanIdConverter
109-
fun fromHex(String): Long
110-
fun toHexStringPadded(Long): String
111101
interface com.datadog.android.trace.api.span.DatadogSpanLink
112102
val spanId: Long
113103
val sampled: Boolean
@@ -121,13 +111,6 @@ interface com.datadog.android.trace.api.span.DatadogSpanLogger
121111
fun log(Map<String, Any>, DatadogSpan)
122112
interface com.datadog.android.trace.api.span.DatadogSpanWriter
123113
interface com.datadog.android.trace.api.trace.DatadogTraceId
124-
fun toLong(): Long
125-
fun toHexString(): String
126-
interface com.datadog.android.trace.api.trace.DatadogTraceIdFactory
127-
fun zero(): DatadogTraceId
128-
fun from(Long): DatadogTraceId
129-
fun from(String): DatadogTraceId
130-
fun fromHex(String): DatadogTraceId
131114
interface com.datadog.android.trace.api.tracer.DatadogTracer
132115
fun activeSpan(): com.datadog.android.trace.api.span.DatadogSpan?
133116
fun propagate(): com.datadog.android.trace.api.propagation.DatadogPropagation
@@ -138,11 +121,8 @@ interface com.datadog.android.trace.api.tracer.DatadogTracer
138121
fun addScopeListener(com.datadog.android.trace.api.scope.DataScopeListener)
139122
interface com.datadog.android.trace.api.tracer.DatadogTracerBuilder
140123
fun build(): DatadogTracer
141-
fun withProperties(java.util.Properties): DatadogTracerBuilder
142124
fun withTracingHeadersTypes(Set<com.datadog.android.trace.TracingHeaderType>): DatadogTracerBuilder
143125
fun withServiceName(String): DatadogTracerBuilder
144-
fun withIdGenerationStrategy(String, Boolean): DatadogTracerBuilder
145-
fun withSampler(com.datadog.android.trace.api.sampling.DatadogTracerSampler?): DatadogTracerBuilder
146126
fun withSampleRate(Double): DatadogTracerBuilder
147127
fun withTraceLimit(Int): DatadogTracerBuilder
148128
fun withPartialFlushMinSpans(Int): DatadogTracerBuilder

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

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,13 @@ public abstract interface class com/datadog/android/trace/api/propagation/Datado
7171
public abstract fun isExtractedContext (Lcom/datadog/android/trace/api/span/DatadogSpanContext;)Z
7272
}
7373

74+
public final class com/datadog/android/trace/api/propagation/NoOpDatadogPropagation : com/datadog/android/trace/api/propagation/DatadogPropagation {
75+
public fun <init> ()V
76+
public fun extract (Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Lcom/datadog/android/trace/api/span/DatadogSpanContext;
77+
public fun inject (Lcom/datadog/android/trace/api/span/DatadogSpanContext;Ljava/lang/Object;Lkotlin/jvm/functions/Function3;)V
78+
public fun isExtractedContext (Lcom/datadog/android/trace/api/span/DatadogSpanContext;)Z
79+
}
80+
7481
public abstract interface class com/datadog/android/trace/api/scope/DataScopeListener {
7582
public abstract fun afterScopeActivated ()V
7683
public abstract fun afterScopeClosed ()V
@@ -134,11 +141,6 @@ public abstract interface class com/datadog/android/trace/api/span/DatadogSpanCo
134141
public abstract fun setSamplingPriority (I)Z
135142
}
136143

137-
public abstract interface class com/datadog/android/trace/api/span/DatadogSpanIdConverter {
138-
public abstract fun fromHex (Ljava/lang/String;)J
139-
public abstract fun toHexStringPadded (J)Ljava/lang/String;
140-
}
141-
142144
public abstract interface class com/datadog/android/trace/api/span/DatadogSpanLink {
143145
public abstract fun getAttributes ()Ljava/util/Map;
144146
public abstract fun getSampled ()Z
@@ -168,15 +170,6 @@ public final class com/datadog/android/trace/api/span/NoOpDatadogSpanLogger : co
168170
public abstract interface class com/datadog/android/trace/api/trace/DatadogTraceId {
169171
}
170172

171-
public abstract interface class com/datadog/android/trace/api/trace/DatadogTraceIdConverter {
172-
public abstract fun from (J)Lcom/datadog/android/trace/api/trace/DatadogTraceId;
173-
public abstract fun from (Ljava/lang/String;)Lcom/datadog/android/trace/api/trace/DatadogTraceId;
174-
public abstract fun fromHex (Ljava/lang/String;)Lcom/datadog/android/trace/api/trace/DatadogTraceId;
175-
public abstract fun toHexString (Lcom/datadog/android/trace/api/trace/DatadogTraceId;)Ljava/lang/String;
176-
public abstract fun toLong (Lcom/datadog/android/trace/api/trace/DatadogTraceId;)J
177-
public abstract fun zero ()Lcom/datadog/android/trace/api/trace/DatadogTraceId;
178-
}
179-
180173
public abstract interface class com/datadog/android/trace/api/tracer/DatadogTracer {
181174
public abstract fun activateSpan (Lcom/datadog/android/trace/api/span/DatadogSpan;)Lcom/datadog/android/trace/api/scope/DatadogScope;
182175
public abstract fun activateSpan (Lcom/datadog/android/trace/api/span/DatadogSpan;Z)Lcom/datadog/android/trace/api/scope/DatadogScope;
@@ -194,9 +187,7 @@ public final class com/datadog/android/trace/api/tracer/DatadogTracer$DefaultImp
194187
public abstract interface class com/datadog/android/trace/api/tracer/DatadogTracerBuilder {
195188
public abstract fun build ()Lcom/datadog/android/trace/api/tracer/DatadogTracer;
196189
public abstract fun setBundleWithRumEnabled (Z)Lcom/datadog/android/trace/api/tracer/DatadogTracerBuilder;
197-
public abstract fun withIdGenerationStrategy (Ljava/lang/String;Z)Lcom/datadog/android/trace/api/tracer/DatadogTracerBuilder;
198190
public abstract fun withPartialFlushMinSpans (I)Lcom/datadog/android/trace/api/tracer/DatadogTracerBuilder;
199-
public abstract fun withProperties (Ljava/util/Properties;)Lcom/datadog/android/trace/api/tracer/DatadogTracerBuilder;
200191
public abstract fun withSampleRate (D)Lcom/datadog/android/trace/api/tracer/DatadogTracerBuilder;
201192
public abstract fun withServiceName (Ljava/lang/String;)Lcom/datadog/android/trace/api/tracer/DatadogTracerBuilder;
202193
public abstract fun withTag (Ljava/lang/String;Ljava/lang/String;)Lcom/datadog/android/trace/api/tracer/DatadogTracerBuilder;
@@ -219,9 +210,7 @@ public final class com/datadog/android/trace/api/tracer/NoOpDatadogTracerBuilder
219210
public fun <init> ()V
220211
public fun build ()Lcom/datadog/android/trace/api/tracer/DatadogTracer;
221212
public fun setBundleWithRumEnabled (Z)Lcom/datadog/android/trace/api/tracer/DatadogTracerBuilder;
222-
public fun withIdGenerationStrategy (Ljava/lang/String;Z)Lcom/datadog/android/trace/api/tracer/DatadogTracerBuilder;
223213
public fun withPartialFlushMinSpans (I)Lcom/datadog/android/trace/api/tracer/DatadogTracerBuilder;
224-
public fun withProperties (Ljava/util/Properties;)Lcom/datadog/android/trace/api/tracer/DatadogTracerBuilder;
225214
public fun withSampleRate (D)Lcom/datadog/android/trace/api/tracer/DatadogTracerBuilder;
226215
public fun withServiceName (Ljava/lang/String;)Lcom/datadog/android/trace/api/tracer/DatadogTracerBuilder;
227216
public fun withTag (Ljava/lang/String;Ljava/lang/String;)Lcom/datadog/android/trace/api/tracer/DatadogTracerBuilder;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,6 @@ junitConfig()
6767
javadocConfig()
6868
dependencyUpdateConfig()
6969
publishingConfig(
70-
"Tracing engine api specification used for internal module communication."
70+
"Tracing engine API specification used for internal module communication."
7171
)
7272
detektCustomConfig()

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

Lines changed: 16 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,21 @@ object DatadogTracingConstants {
6969
* Represents the key used for tagging the analytics sample rate in the Datadog tracer.
7070
*/
7171
const val KEY_ANALYTICS_SAMPLE_RATE: String = "_dd1.sr.eausr"
72+
73+
/**
74+
* Represents the resource name tag used for tracing spans.
75+
*/
76+
const val RESOURCE_NAME: String = "resource.name"
77+
78+
/**
79+
* String representing the error message.
80+
*/
81+
const val ERROR_MSG: String = "error.message"
82+
83+
/**
84+
* String representing the type of the error.
85+
*/
86+
const val ERROR_TYPE: String = "error.type"
7287
}
7388

7489
/**
@@ -95,7 +110,6 @@ object DatadogTracingConstants {
95110
const val USER_DROP: Int = -1
96111

97112
/** The user has decided to keep the trace. */
98-
99113
const val USER_KEEP: Int = 2
100114
}
101115

@@ -152,7 +166,7 @@ object DatadogTracingConstants {
152166
const val ERROR_KIND: String = "error.kind"
153167

154168
/**
155-
* The actual Throwable/Exception/Error object instance itself. E.g., A java.lang.UnsupportedOperationException instance
169+
* The actual Throwable/Exception/Error object instance itself. E.g., a [UnsupportedOperationException] instance.
156170
*/
157171
const val ERROR_OBJECT: String = "error.object"
158172

@@ -200,25 +214,4 @@ object DatadogTracingConstants {
200214
*/
201215
const val DEFAULT: Byte = 0
202216
}
203-
204-
/**
205-
* Provides constant keys used for Datadog tracing tags.
206-
*/
207-
object DDTags {
208-
209-
/**
210-
* Represents the resource name tag used for tracing spans.
211-
*/
212-
const val RESOURCE_NAME: String = "resource.name"
213-
214-
/**
215-
* String representing the error message.
216-
*/
217-
const val ERROR_MSG: String = "error.message"
218-
219-
/**
220-
* String representing the type of the error.
221-
*/
222-
const val ERROR_TYPE: String = "error.type"
223-
}
224217
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import com.datadog.android.trace.api.span.DatadogSpanContext
1313
* This implementation is intended as a placeholder making possible to create other NoOp.* classes.
1414
*/
1515
// TODO RUM-10573 - replace with @NoOpImplementation when method-level generics will be supported in noopfactory
16-
internal class NoOpDatadogPropagation : DatadogPropagation {
16+
class NoOpDatadogPropagation : DatadogPropagation {
1717

1818
override fun <C> inject(
1919
context: DatadogSpanContext,

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ interface DatadogSpan {
6464
/**
6565
* Represents the start time of the span in nanoseconds.
6666
*/
67-
val startTimeNano: Long
67+
val startTimeNanos: Long
6868

6969
/**
7070
* Refers to the local root span within a trace hierarchy.

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ interface DatadogSpanContext {
3131
/**
3232
* Represents a collection of tags associated with the span.
3333
*/
34-
val tags: Map<String?, Any?>?
34+
val tags: Map<String?, Any?>
3535

3636
/**
3737
* Sets the sampling priority for the span.

0 commit comments

Comments
 (0)