Skip to content

Commit 901da15

Browse files
Merge pull request #2328 from embrace-io/refactor-mapping-function
Alter mapping function location
2 parents db3d255 + 0486b20 commit 901da15

File tree

2 files changed

+11
-24
lines changed

2 files changed

+11
-24
lines changed

embrace-android-otel/src/main/kotlin/io/embrace/android/embracesdk/internal/otel/sdk/OtelExt.kt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ import io.embrace.android.embracesdk.internal.otel.attrs.EmbraceAttributeKey
66
import io.embrace.android.embracesdk.internal.otel.attrs.asOtelAttributeKey
77
import io.embrace.android.embracesdk.internal.otel.payload.toEmbracePayload
88
import io.embrace.android.embracesdk.internal.otel.spans.EmbraceSpanData
9-
import io.embrace.android.embracesdk.internal.otel.spans.EmbraceSpanData.Companion.fromEventData
109
import io.embrace.android.embracesdk.internal.otel.toOtelKotlin
1110
import io.embrace.android.embracesdk.internal.payload.Attribute
1211
import io.embrace.android.embracesdk.internal.payload.Link
1312
import io.embrace.android.embracesdk.spans.EmbraceSpanEvent
1413
import io.embrace.opentelemetry.kotlin.ExperimentalApi
1514
import io.embrace.opentelemetry.kotlin.aliases.OtelJavaAttributes
1615
import io.embrace.opentelemetry.kotlin.aliases.OtelJavaAttributesBuilder
16+
import io.embrace.opentelemetry.kotlin.aliases.OtelJavaEventData
1717
import io.embrace.opentelemetry.kotlin.aliases.OtelJavaLinkData
1818
import io.embrace.opentelemetry.kotlin.aliases.OtelJavaLogRecordBuilder
1919
import io.embrace.opentelemetry.kotlin.aliases.OtelJavaSpan
@@ -78,11 +78,19 @@ fun OtelJavaSpanData.toEmbraceSpanData(): EmbraceSpanData = EmbraceSpanData(
7878
startTimeNanos = startEpochNanos,
7979
endTimeNanos = endEpochNanos,
8080
status = status.statusCode.toOtelKotlin(),
81-
events = fromEventData(eventDataList = events),
81+
events = events?.mapNotNull { it.toEmbracePayload() } ?: emptyList(),
8282
attributes = attributes.toStringMap(),
8383
links = links.map { it.toEmbracePayload() }
8484
)
8585

86+
private fun OtelJavaEventData.toEmbracePayload(): EmbraceSpanEvent? {
87+
return EmbraceSpanEvent.create(
88+
name = name,
89+
timestampMs = epochNanos.nanosToMillis(),
90+
attributes = attributes.toStringMap(),
91+
)
92+
}
93+
8694
@OptIn(ExperimentalApi::class)
8795
fun ReadableSpan.toEmbracePayload(): EmbraceSpanData = EmbraceSpanData(
8896
traceId = spanContext.traceId,
Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
package io.embrace.android.embracesdk.internal.otel.spans
22

3-
import io.embrace.android.embracesdk.internal.clock.nanosToMillis
4-
import io.embrace.android.embracesdk.internal.otel.sdk.toStringMap
53
import io.embrace.android.embracesdk.internal.payload.Link
64
import io.embrace.android.embracesdk.spans.EmbraceSpanEvent
7-
import io.embrace.opentelemetry.kotlin.aliases.OtelJavaEventData
85
import io.embrace.opentelemetry.kotlin.tracing.StatusCode
96

107
/**
@@ -30,22 +27,4 @@ data class EmbraceSpanData(
3027
val attributes: Map<String, String> = emptyMap(),
3128

3229
val links: List<Link> = emptyList(),
33-
) {
34-
35-
companion object {
36-
fun fromEventData(eventDataList: List<OtelJavaEventData>?): List<EmbraceSpanEvent> {
37-
val events = mutableListOf<EmbraceSpanEvent>()
38-
eventDataList?.forEach { eventData ->
39-
val event = EmbraceSpanEvent.create(
40-
name = eventData.name,
41-
timestampMs = eventData.epochNanos.nanosToMillis(),
42-
attributes = eventData.attributes.toStringMap(),
43-
)
44-
if (event != null) {
45-
events.add(event)
46-
}
47-
}
48-
return events
49-
}
50-
}
51-
}
30+
)

0 commit comments

Comments
 (0)