Skip to content

Commit e39163f

Browse files
add api level to AndroidResource (#1455)
1 parent d6af535 commit e39163f

File tree

2 files changed

+27
-50
lines changed

2 files changed

+27
-50
lines changed

core/src/main/java/io/opentelemetry/android/AndroidResource.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import io.opentelemetry.sdk.resources.Resource
1111
import io.opentelemetry.semconv.ServiceAttributes.SERVICE_NAME
1212
import io.opentelemetry.semconv.ServiceAttributes.SERVICE_VERSION
1313
import io.opentelemetry.semconv.TelemetryAttributes.TELEMETRY_SDK_VERSION
14+
import io.opentelemetry.semconv.incubating.AndroidIncubatingAttributes.ANDROID_OS_API_LEVEL
1415
import io.opentelemetry.semconv.incubating.DeviceIncubatingAttributes.DEVICE_MANUFACTURER
1516
import io.opentelemetry.semconv.incubating.DeviceIncubatingAttributes.DEVICE_MODEL_IDENTIFIER
1617
import io.opentelemetry.semconv.incubating.DeviceIncubatingAttributes.DEVICE_MODEL_NAME
@@ -36,6 +37,7 @@ object AndroidResource {
3637
.put(DEVICE_MODEL_IDENTIFIER, Build.MODEL)
3738
.put(DEVICE_MANUFACTURER, Build.MANUFACTURER)
3839
.put(OS_NAME, "Android")
40+
.put(ANDROID_OS_API_LEVEL, Build.VERSION.SDK_INT.toString())
3941
.put(OS_TYPE, "linux")
4042
.put(OS_VERSION, Build.VERSION.RELEASE)
4143
.put(OS_DESCRIPTION, oSDescription)

core/src/test/java/io/opentelemetry/android/AndroidResourceTest.kt

Lines changed: 25 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@ import io.mockk.MockKAnnotations
1212
import io.mockk.every
1313
import io.mockk.impl.annotations.RelaxedMockK
1414
import io.opentelemetry.sdk.resources.Resource
15+
import io.opentelemetry.sdk.resources.ResourceBuilder
1516
import io.opentelemetry.semconv.ServiceAttributes
1617
import io.opentelemetry.semconv.TelemetryAttributes
18+
import io.opentelemetry.semconv.incubating.AndroidIncubatingAttributes
1719
import io.opentelemetry.semconv.incubating.DeviceIncubatingAttributes
1820
import io.opentelemetry.semconv.incubating.OsIncubatingAttributes
1921
import org.junit.jupiter.api.Assertions.assertEquals
@@ -34,10 +36,24 @@ internal class AndroidResourceTest {
3436

3537
@RelaxedMockK
3638
private lateinit var ctx: Context
39+
private lateinit var resourceBuilder: ResourceBuilder
3740

3841
@BeforeEach
3942
fun setUp() {
4043
MockKAnnotations.init(this)
44+
resourceBuilder =
45+
Resource
46+
.builder()
47+
.put(ServiceAttributes.SERVICE_NAME, appName)
48+
.put(TelemetryAttributes.TELEMETRY_SDK_VERSION, rumSdkVersion)
49+
.put(DeviceIncubatingAttributes.DEVICE_MODEL_NAME, Build.MODEL)
50+
.put(DeviceIncubatingAttributes.DEVICE_MODEL_IDENTIFIER, Build.MODEL)
51+
.put(DeviceIncubatingAttributes.DEVICE_MANUFACTURER, Build.MANUFACTURER)
52+
.put(OsIncubatingAttributes.OS_NAME, "Android")
53+
.put(OsIncubatingAttributes.OS_TYPE, "linux")
54+
.put(OsIncubatingAttributes.OS_VERSION, Build.VERSION.RELEASE)
55+
.put(AndroidIncubatingAttributes.ANDROID_OS_API_LEVEL, Build.VERSION.SDK_INT.toString())
56+
.put(OsIncubatingAttributes.OS_DESCRIPTION, osDescription)
4157
}
4258

4359
@Test
@@ -50,24 +66,7 @@ internal class AndroidResourceTest {
5066
every { ctx.applicationContext.applicationInfo } returns appInfo
5167
every { ctx.applicationContext.getString(appInfo.labelRes) } returns appName
5268

53-
val expected =
54-
Resource
55-
.getDefault()
56-
.merge(
57-
Resource
58-
.builder()
59-
.put(ServiceAttributes.SERVICE_NAME, appName)
60-
.put(TelemetryAttributes.TELEMETRY_SDK_VERSION, rumSdkVersion)
61-
.put(DeviceIncubatingAttributes.DEVICE_MODEL_NAME, Build.MODEL)
62-
.put(DeviceIncubatingAttributes.DEVICE_MODEL_IDENTIFIER, Build.MODEL)
63-
.put(DeviceIncubatingAttributes.DEVICE_MANUFACTURER, Build.MANUFACTURER)
64-
.put(OsIncubatingAttributes.OS_NAME, "Android")
65-
.put(OsIncubatingAttributes.OS_TYPE, "linux")
66-
.put(OsIncubatingAttributes.OS_VERSION, Build.VERSION.RELEASE)
67-
.put(OsIncubatingAttributes.OS_DESCRIPTION, osDescription)
68-
.build(),
69-
)
70-
69+
val expected = Resource.getDefault().merge(resourceBuilder.build())
7170
val result = AndroidResource.createDefault(ctx)
7271
assertEquals(expected, result)
7372
}
@@ -84,22 +83,9 @@ internal class AndroidResourceTest {
8483
every { ctx.applicationInfo } returns appInfo
8584

8685
val expected =
87-
Resource
88-
.getDefault()
89-
.merge(
90-
Resource
91-
.builder()
92-
.put(ServiceAttributes.SERVICE_NAME, "shim sham")
93-
.put(TelemetryAttributes.TELEMETRY_SDK_VERSION, rumSdkVersion)
94-
.put(DeviceIncubatingAttributes.DEVICE_MODEL_NAME, Build.MODEL)
95-
.put(DeviceIncubatingAttributes.DEVICE_MODEL_IDENTIFIER, Build.MODEL)
96-
.put(DeviceIncubatingAttributes.DEVICE_MANUFACTURER, Build.MANUFACTURER)
97-
.put(OsIncubatingAttributes.OS_NAME, "Android")
98-
.put(OsIncubatingAttributes.OS_TYPE, "linux")
99-
.put(OsIncubatingAttributes.OS_VERSION, Build.VERSION.RELEASE)
100-
.put(OsIncubatingAttributes.OS_DESCRIPTION, osDescription)
101-
.build(),
102-
)
86+
Resource.getDefault().merge(
87+
resourceBuilder.put(ServiceAttributes.SERVICE_NAME, "shim sham").build(),
88+
)
10389

10490
val result = AndroidResource.createDefault(ctx)
10591
assertEquals(expected, result)
@@ -111,22 +97,11 @@ internal class AndroidResourceTest {
11197
every { ctx.applicationContext.resources } throws SecurityException("boom")
11298

11399
val expected =
114-
Resource
115-
.getDefault()
116-
.merge(
117-
Resource
118-
.builder()
119-
.put(ServiceAttributes.SERVICE_NAME, "unknown_service:android")
120-
.put(TelemetryAttributes.TELEMETRY_SDK_VERSION, rumSdkVersion)
121-
.put(DeviceIncubatingAttributes.DEVICE_MODEL_NAME, Build.MODEL)
122-
.put(DeviceIncubatingAttributes.DEVICE_MODEL_IDENTIFIER, Build.MODEL)
123-
.put(DeviceIncubatingAttributes.DEVICE_MANUFACTURER, Build.MANUFACTURER)
124-
.put(OsIncubatingAttributes.OS_NAME, "Android")
125-
.put(OsIncubatingAttributes.OS_TYPE, "linux")
126-
.put(OsIncubatingAttributes.OS_VERSION, Build.VERSION.RELEASE)
127-
.put(OsIncubatingAttributes.OS_DESCRIPTION, osDescription)
128-
.build(),
129-
)
100+
Resource.getDefault().merge(
101+
resourceBuilder
102+
.put(ServiceAttributes.SERVICE_NAME, "unknown_service:android")
103+
.build(),
104+
)
130105

131106
val result = AndroidResource.createDefault(ctx)
132107
assertEquals(expected, result)

0 commit comments

Comments
 (0)