Skip to content

Commit d475363

Browse files
committed
RUM-9902 - post review fixes
1 parent 63cd7a6 commit d475363

File tree

30 files changed

+138
-216
lines changed

30 files changed

+138
-216
lines changed

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

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,10 @@ interface com.datadog.android.trace.api.span.DatadogSpan
7676
fun setTag(String?, Any?)
7777
fun getTag(String?): Any?
7878
fun setMetric(String, Int)
79+
fun logThrowable(Throwable)
80+
fun logErrorMessage(String)
81+
fun logMessage(String)
82+
fun logAttributes(Map<String, Any>)
7983
interface com.datadog.android.trace.api.span.DatadogSpanBuilder
8084
fun start(): DatadogSpan
8185
fun withOrigin(String?): DatadogSpanBuilder
@@ -92,7 +96,7 @@ interface com.datadog.android.trace.api.span.DatadogSpanContext
9296
val traceId: com.datadog.android.trace.api.trace.DatadogTraceId
9397
val spanId: Long
9498
val samplingPriority: Int
95-
val tags: Map<String?, Any?>
99+
val tags: Map<String, Any?>
96100
fun setSamplingPriority(Int): Boolean
97101
fun setMetric(CharSequence?, Double)
98102
interface com.datadog.android.trace.api.span.DatadogSpanLink
@@ -101,11 +105,6 @@ interface com.datadog.android.trace.api.span.DatadogSpanLink
101105
val traceId: com.datadog.android.trace.api.trace.DatadogTraceId
102106
val traceStrace: String
103107
val attributes: Map<String, String>?
104-
interface com.datadog.android.trace.api.span.DatadogSpanLogger
105-
fun log(String, DatadogSpan)
106-
fun logErrorMessage(String, DatadogSpan)
107-
fun log(Throwable, DatadogSpan)
108-
fun log(Map<String, Any>, DatadogSpan)
109108
interface com.datadog.android.trace.api.span.DatadogSpanWriter
110109
interface com.datadog.android.trace.api.trace.DatadogTraceId
111110
fun toHexStringPadded(Int): String
@@ -125,7 +124,6 @@ interface com.datadog.android.trace.api.tracer.DatadogTracerBuilder
125124
fun withTracingHeadersTypes(Set<com.datadog.android.trace.TracingHeaderType>): DatadogTracerBuilder
126125
fun withServiceName(String): DatadogTracerBuilder
127126
fun withSampleRate(Double): DatadogTracerBuilder
128-
fun withTraceLimit(Int): DatadogTracerBuilder
129127
fun withPartialFlushMinSpans(Int): DatadogTracerBuilder
130128
fun withTag(String, String): DatadogTracerBuilder
131129
fun setBundleWithRumEnabled(Boolean): DatadogTracerBuilder

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

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,10 @@ public abstract interface class com/datadog/android/trace/api/span/DatadogSpan {
100100
public abstract fun getTraceId ()Lcom/datadog/android/trace/api/trace/DatadogTraceId;
101101
public abstract fun isError ()Ljava/lang/Boolean;
102102
public abstract fun isRootSpan ()Z
103+
public abstract fun logAttributes (Ljava/util/Map;)V
104+
public abstract fun logErrorMessage (Ljava/lang/String;)V
105+
public abstract fun logMessage (Ljava/lang/String;)V
106+
public abstract fun logThrowable (Ljava/lang/Throwable;)V
103107
public abstract fun setError (Ljava/lang/Boolean;)V
104108
public abstract fun setErrorMessage (Ljava/lang/String;)V
105109
public abstract fun setMetric (Ljava/lang/String;I)V
@@ -143,24 +147,9 @@ public abstract interface class com/datadog/android/trace/api/span/DatadogSpanLi
143147
public abstract fun getTraceStrace ()Ljava/lang/String;
144148
}
145149

146-
public abstract interface class com/datadog/android/trace/api/span/DatadogSpanLogger {
147-
public abstract fun log (Ljava/lang/String;Lcom/datadog/android/trace/api/span/DatadogSpan;)V
148-
public abstract fun log (Ljava/lang/Throwable;Lcom/datadog/android/trace/api/span/DatadogSpan;)V
149-
public abstract fun log (Ljava/util/Map;Lcom/datadog/android/trace/api/span/DatadogSpan;)V
150-
public abstract fun logErrorMessage (Ljava/lang/String;Lcom/datadog/android/trace/api/span/DatadogSpan;)V
151-
}
152-
153150
public abstract interface class com/datadog/android/trace/api/span/DatadogSpanWriter {
154151
}
155152

156-
public final class com/datadog/android/trace/api/span/NoOpDatadogSpanLogger : com/datadog/android/trace/api/span/DatadogSpanLogger {
157-
public fun <init> ()V
158-
public fun log (Ljava/lang/String;Lcom/datadog/android/trace/api/span/DatadogSpan;)V
159-
public fun log (Ljava/lang/Throwable;Lcom/datadog/android/trace/api/span/DatadogSpan;)V
160-
public fun log (Ljava/util/Map;Lcom/datadog/android/trace/api/span/DatadogSpan;)V
161-
public fun logErrorMessage (Ljava/lang/String;Lcom/datadog/android/trace/api/span/DatadogSpan;)V
162-
}
163-
164153
public abstract interface class com/datadog/android/trace/api/trace/DatadogTraceId {
165154
public static final field Companion Lcom/datadog/android/trace/api/trace/DatadogTraceId$Companion;
166155
public abstract fun toHexString ()Ljava/lang/String;
@@ -192,7 +181,6 @@ public abstract interface class com/datadog/android/trace/api/tracer/DatadogTrac
192181
public abstract fun withSampleRate (D)Lcom/datadog/android/trace/api/tracer/DatadogTracerBuilder;
193182
public abstract fun withServiceName (Ljava/lang/String;)Lcom/datadog/android/trace/api/tracer/DatadogTracerBuilder;
194183
public abstract fun withTag (Ljava/lang/String;Ljava/lang/String;)Lcom/datadog/android/trace/api/tracer/DatadogTracerBuilder;
195-
public abstract fun withTraceRateLimit (I)Lcom/datadog/android/trace/api/tracer/DatadogTracerBuilder;
196184
public abstract fun withTracingHeadersTypes (Ljava/util/Set;)Lcom/datadog/android/trace/api/tracer/DatadogTracerBuilder;
197185
}
198186

@@ -215,7 +203,6 @@ public final class com/datadog/android/trace/api/tracer/NoOpDatadogTracerBuilder
215203
public fun withSampleRate (D)Lcom/datadog/android/trace/api/tracer/DatadogTracerBuilder;
216204
public fun withServiceName (Ljava/lang/String;)Lcom/datadog/android/trace/api/tracer/DatadogTracerBuilder;
217205
public fun withTag (Ljava/lang/String;Ljava/lang/String;)Lcom/datadog/android/trace/api/tracer/DatadogTracerBuilder;
218-
public fun withTraceRateLimit (I)Lcom/datadog/android/trace/api/tracer/DatadogTracerBuilder;
219206
public fun withTracingHeadersTypes (Ljava/util/Set;)Lcom/datadog/android/trace/api/tracer/DatadogTracerBuilder;
220207
}
221208

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
@@ -8,7 +8,7 @@ package com.datadog.android.trace.api.propagation
88
import com.datadog.android.trace.api.span.DatadogSpanContext
99

1010
/**
11-
* A no-operation implementation of the `DatadogPropagation` interface.
11+
* A no-operation implementation of the [DatadogPropagation] interface.
1212
*
1313
* This implementation is intended as a placeholder making possible to create other NoOp.* classes.
1414
*/

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

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,4 +172,33 @@ interface DatadogSpan {
172172
* @param value The value of the metric to be set for the specified key.
173173
*/
174174
fun setMetric(key: String, value: Int)
175+
176+
/**
177+
* Logs a throwable and associates it with the current [DatadogSpan].
178+
*
179+
* @param throwable The throwable containing error details to be logged with the span.
180+
*/
181+
fun logThrowable(throwable: Throwable)
182+
183+
/**
184+
* Logs an error message and associates it with the current [DatadogSpan].
185+
*
186+
* @param message The error message to log.
187+
*/
188+
fun logErrorMessage(message: String)
189+
190+
/**
191+
* Logs a message associated with the current [DatadogSpan].
192+
*
193+
* @param message The log message to be associated with the span.
194+
*/
195+
fun logMessage(message: String)
196+
197+
/**
198+
* Logs a set of attributes and associates them with the current [DatadogSpan].
199+
*
200+
* @param attributes A map containing key-value pairs of attributes to be logged.
201+
* These attributes provide additional context or metadata for the span.
202+
*/
203+
fun logAttributes(attributes: Map<String, Any>)
175204
}

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
@@ -9,7 +9,7 @@ import com.datadog.android.trace.api.trace.DatadogTraceId
99
import com.datadog.tools.annotation.NoOpImplementation
1010

1111
/**
12-
* DatadogSpanContext represents Span state that must propagate to descendant Spans and across process boundaries.
12+
* [DatadogSpanContext] represents span state that must propagate to descendant spans and across process boundaries.
1313
*/
1414
@NoOpImplementation
1515
interface DatadogSpanContext {

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

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

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

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

88
import com.datadog.android.trace.api.propagation.DatadogPropagation
99
import com.datadog.android.trace.api.propagation.NoOpDatadogPropagation
10-
import com.datadog.android.trace.api.scope.DatadogScopeListener
1110
import com.datadog.android.trace.api.scope.DatadogScope
11+
import com.datadog.android.trace.api.scope.DatadogScopeListener
1212
import com.datadog.android.trace.api.span.DatadogSpan
1313
import com.datadog.android.trace.api.span.DatadogSpanBuilder
1414
import com.datadog.tools.annotation.NoOpImplementation
1515

1616
/**
17-
* DatadogTracer is a simple, thin interface for Span creation and propagation across arbitrary transports.
17+
* [DatadogTracer] is a simple, thin interface for span creation and propagation across arbitrary transports.
1818
*/
1919
@NoOpImplementation(publicNoOpImplementation = true)
2020
interface DatadogTracer {

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

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

88
import androidx.annotation.FloatRange
9-
import androidx.annotation.IntRange
109
import com.datadog.android.trace.TracingHeaderType
1110
import com.datadog.tools.annotation.NoOpImplementation
1211

@@ -49,14 +48,6 @@ interface DatadogTracerBuilder {
4948
*/
5049
fun withSampleRate(@FloatRange(from = 0.0, to = 100.0) sampleRate: Double): DatadogTracerBuilder
5150

52-
/**
53-
* Sets the trace rate limit. This is the maximum number of traces per second that will be
54-
* accepted. Please note that this property is used in conjunction with the sample rate. If no sample rate
55-
* is provided this property and its related logic will be ignored.
56-
* @param traceRateLimit the trace rate limit as a value between 1 and Int.MAX_VALUE (default is Int.MAX_VALUE)
57-
*/
58-
fun withTraceRateLimit(@IntRange(from = 1, to = Int.MAX_VALUE.toLong()) traceRateLimit: Int): DatadogTracerBuilder
59-
6051
/**
6152
* Configures the builder to enable partial flushes when the number of spans in a specific trace
6253
* reaches the given threshold.

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ import com.datadog.android.api.SdkCore
1414
import com.datadog.android.api.feature.Feature
1515
import com.datadog.android.api.feature.FeatureSdkCore
1616
import com.datadog.android.trace.DatadogTracing
17-
import com.datadog.android.trace.GlobalDatadogTracer
1817
import com.datadog.android.trace.InternalCoreWriterProvider
1918
import com.datadog.android.trace.TracingHeaderType
2019
import com.datadog.android.trace.api.tracer.DatadogTracer
20+
import com.datadog.android.trace.internal.DatadogTracingToolkit
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
@@ -215,7 +215,7 @@ class OtelTracerProvider internal constructor(
215215
fun setTraceRateLimit(
216216
@IntRange(from = 1, to = Int.MAX_VALUE.toLong()) traceRateLimit: Int
217217
): Builder {
218-
builderDelegate.withTraceRateLimit(traceRateLimit)
218+
DatadogTracingToolkit.setTraceRateLimit(builderDelegate, traceRateLimit)
219219
return this
220220
}
221221

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

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,6 @@ object com.datadog.android.trace.GlobalDatadogTracer
77
fun clear()
88
interface com.datadog.android.trace.InternalCoreWriterProvider
99
fun getCoreTracerWriter(): com.datadog.android.trace.api.span.DatadogSpanWriter
10-
fun com.datadog.android.trace.api.span.DatadogSpan.logThrowable(Throwable)
11-
fun com.datadog.android.trace.api.span.DatadogSpan.logErrorMessage(String)
12-
fun com.datadog.android.trace.api.span.DatadogSpan.logMessage(String)
13-
fun com.datadog.android.trace.api.span.DatadogSpan.logAttributes(Map<String, Any>)
1410
fun <T: Any?> withinSpan(String, com.datadog.android.trace.api.span.DatadogSpan? = null, Boolean = true, com.datadog.android.trace.api.span.DatadogSpan.() -> T): T
1511
object com.datadog.android.trace.Trace
1612
fun enable(TraceConfiguration, com.datadog.android.api.SdkCore = Datadog.getInstance())
@@ -32,9 +28,9 @@ fun com.datadog.android.trace.api.trace.DatadogTraceId.Companion.fromHex(String)
3228
object com.datadog.android.trace.internal.DatadogTracingToolkit
3329
val spanIdConverter: DatadogSpanIdConverter
3430
var propagationHelper: DatadogPropagationHelper
35-
var spanLogger: com.datadog.android.trace.api.span.DatadogSpanLogger
3631
fun setTracingSamplingPriorityIfNecessary(com.datadog.android.trace.api.span.DatadogSpanContext)
3732
fun setTraceId128BitGenerationEnabled(com.datadog.android.trace.api.tracer.DatadogTracerBuilder): com.datadog.android.trace.api.tracer.DatadogTracerBuilder
33+
fun setTraceRateLimit(com.datadog.android.trace.api.tracer.DatadogTracerBuilder, Int): com.datadog.android.trace.api.tracer.DatadogTracerBuilder
3834
object com.datadog.android.trace.internal.SpanAttributes
3935
const val DATADOG_INITIAL_CONTEXT: String
4036
fun <T> android.database.sqlite.SQLiteDatabase.transactionTraced(String, Boolean = true, com.datadog.android.trace.api.span.DatadogSpan.(android.database.sqlite.SQLiteDatabase) -> T): T

0 commit comments

Comments
 (0)