Skip to content

Commit 0f31429

Browse files
authored
Merge pull request #3059 from DataDog/yl/profiling/fix-null-build-id
Fix null build id in profile event tags
2 parents 0e43b45 + 4689800 commit 0f31429

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

features/dd-sdk-android-profiling/src/main/java/com/datadog/android/profiling/internal/ProfilingDataWriter.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,10 @@ internal class ProfilingDataWriter(
105105
append("$TAG_KEY_VERSION:${context.version}")
106106
append(",")
107107
append("$TAG_KEY_SDK_VERSION:${context.sdkVersion}")
108-
append(",")
109-
append("$TAG_KEY_BUILD_ID:${context.appBuildId}")
108+
context.appBuildId?.let { buildId ->
109+
append(",")
110+
append("$TAG_KEY_BUILD_ID:$buildId")
111+
}
110112
}
111113

112114
private fun readProfilingData(profilingPath: String): ByteArray? {

features/dd-sdk-android-profiling/src/test/kotlin/com/datadog/android/profiling/internal/ProfilingDataWriterTest.kt

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -121,22 +121,24 @@ internal class ProfilingDataWriterTest {
121121
eventType = eq(EventType.DEFAULT)
122122
)
123123
val actualEvent = ProfileEvent.fromJson(String(argumentCaptor.firstValue.data))
124+
val expectedTagList = arrayListOf(
125+
"service:${fakeDatadogContext.service}",
126+
"env:${fakeDatadogContext.env}",
127+
"version:${fakeDatadogContext.version}",
128+
"sdk_version:${fakeDatadogContext.sdkVersion}"
129+
)
130+
fakeDatadogContext.appBuildId?.let {
131+
expectedTagList.add("build_id:${fakeDatadogContext.appBuildId}")
132+
}
133+
124134
assertThat(actualEvent)
125135
.hasStart(formatIsoUtc(fakeResult.start))
126136
.hasEnd(formatIsoUtc(fakeResult.end))
127137
.hasAttachments(listOf("perfetto.proto"))
128138
.hasFamily("android")
129139
.hasRuntime("android")
130140
.hasVersion("4")
131-
.hasTags(
132-
listOf(
133-
"service:${fakeDatadogContext.service}",
134-
"env:${fakeDatadogContext.env}",
135-
"version:${fakeDatadogContext.version}",
136-
"sdk_version:${fakeDatadogContext.sdkVersion}",
137-
"build_id:${fakeDatadogContext.appBuildId}"
138-
)
139-
)
141+
.hasTags(expectedTagList)
140142
.hasApplicationId(fakeTTIDEvent.applicationId)
141143
.hasSessionId(fakeTTIDEvent.sessionId)
142144
.hasVitalId(fakeTTIDEvent.vitalId)

0 commit comments

Comments
 (0)