Skip to content

Commit af832da

Browse files
authored
Populate os.version resource attribute (open-telemetry#16311)
1 parent 2d1ee57 commit af832da

2 files changed

Lines changed: 7 additions & 0 deletions

File tree

  • instrumentation/resources/library/src

instrumentation/resources/library/src/main/java/io/opentelemetry/instrumentation/resources/OsResource.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ public final class OsResource {
2020
private static final AttributeKey<String> OS_DESCRIPTION =
2121
AttributeKey.stringKey("os.description");
2222
private static final AttributeKey<String> OS_TYPE = AttributeKey.stringKey("os.type");
23+
private static final AttributeKey<String> OS_VERSION = AttributeKey.stringKey("os.version");
2324

2425
private static final Resource INSTANCE = buildResource();
2526

@@ -59,6 +60,9 @@ static Resource buildResource() {
5960
} catch (SecurityException e) {
6061
// Ignore
6162
}
63+
if (version != null) {
64+
attributes.put(OS_VERSION, version);
65+
}
6266
String osDescription = version != null ? os + ' ' + version : os;
6367
attributes.put(OS_DESCRIPTION, osDescription);
6468

instrumentation/resources/library/src/test/java/io/opentelemetry/instrumentation/resources/OsResourceTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import static io.opentelemetry.semconv.incubating.OsIncubatingAttributes.OS_DESCRIPTION;
99
import static io.opentelemetry.semconv.incubating.OsIncubatingAttributes.OS_TYPE;
10+
import static io.opentelemetry.semconv.incubating.OsIncubatingAttributes.OS_VERSION;
1011
import static io.opentelemetry.semconv.incubating.OsIncubatingAttributes.OsTypeIncubatingValues.AIX;
1112
import static io.opentelemetry.semconv.incubating.OsIncubatingAttributes.OsTypeIncubatingValues.DARWIN;
1213
import static io.opentelemetry.semconv.incubating.OsIncubatingAttributes.OsTypeIncubatingValues.DRAGONFLYBSD;
@@ -29,11 +30,13 @@ class OsResourceTest {
2930

3031
@Test
3132
@SetSystemProperty(key = "os.name", value = "Linux 4.11")
33+
@SetSystemProperty(key = "os.version", value = "5.10")
3234
void linux() {
3335
Resource resource = OsResource.buildResource();
3436
assertThat(resource.getSchemaUrl()).isEqualTo(SchemaUrls.V1_24_0);
3537
assertThat(resource.getAttribute(OS_TYPE)).isEqualTo(LINUX);
3638
assertThat(resource.getAttribute(OS_DESCRIPTION)).isNotEmpty();
39+
assertThat(resource.getAttribute(OS_VERSION)).isEqualTo("5.10");
3740
}
3841

3942
@Test

0 commit comments

Comments
 (0)