Skip to content

Commit e5cb582

Browse files
Better tests and docs
1 parent f5c4825 commit e5cb582

File tree

2 files changed

+18
-10
lines changed

2 files changed

+18
-10
lines changed

maven-extension/src/main/java/io/opentelemetry/maven/OpenTelemetrySdkService.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
package io.opentelemetry.maven;
77

8+
import com.google.common.annotations.VisibleForTesting;
89
import io.opentelemetry.api.OpenTelemetry;
910
import io.opentelemetry.api.trace.Tracer;
1011
import io.opentelemetry.context.propagation.ContextPropagators;
@@ -40,7 +41,7 @@ public final class OpenTelemetrySdkService implements Closeable {
4041

4142
private final OpenTelemetrySdk openTelemetrySdk;
4243

43-
private final Resource resource;
44+
@VisibleForTesting final Resource resource;
4445

4546
private final ConfigProperties configProperties;
4647

@@ -67,10 +68,10 @@ public OpenTelemetrySdkService() {
6768
this.configProperties =
6869
Optional.ofNullable(AutoConfigureUtil.getConfig(autoConfiguredOpenTelemetrySdk))
6970
.orElseGet(() -> DefaultConfigProperties.createFromMap(Collections.emptyMap()));
70-
this.resource =
71-
Optional.ofNullable(AutoConfigureUtil2.getResource(autoConfiguredOpenTelemetrySdk))
72-
.orElseGet(Resource::getDefault);
7371

72+
this.resource = AutoConfigureUtil2.getResource(autoConfiguredOpenTelemetrySdk);
73+
// Display resource attributes in debug logs for troubleshooting when traces are not found in
74+
// the observability backend, helping understand `service.name`, `service.namespace`, etc.
7475
logger.debug("OpenTelemetry: OpenTelemetrySdkService initialized, resource:{}", resource);
7576

7677
this.mojosInstrumentationEnabled =
@@ -141,10 +142,6 @@ public Tracer getTracer() {
141142
return this.tracer;
142143
}
143144

144-
public Resource getResource() {
145-
return resource;
146-
}
147-
148145
public ConfigProperties getConfigProperties() {
149146
return configProperties;
150147
}

maven-extension/src/test/java/io/opentelemetry/maven/OpenTelemetrySdkServiceTest.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
1212
import io.opentelemetry.sdk.resources.Resource;
13+
import org.junit.jupiter.api.AfterAll;
1314
import org.junit.jupiter.api.Test;
1415

1516
/**
@@ -26,7 +27,7 @@ public void testDefaultConfiguration() {
2627
System.clearProperty("otel.resource.attributes");
2728
try (OpenTelemetrySdkService openTelemetrySdkService = new OpenTelemetrySdkService()) {
2829

29-
Resource resource = openTelemetrySdkService.getResource();
30+
Resource resource = openTelemetrySdkService.resource;
3031
assertThat(resource.getAttribute(stringKey("service.name"))).isEqualTo("maven");
3132

3233
ConfigProperties configProperties = openTelemetrySdkService.getConfigProperties();
@@ -45,7 +46,7 @@ public void testOverwrittenResourceAttributes() {
4546

4647
try (OpenTelemetrySdkService openTelemetrySdkService = new OpenTelemetrySdkService()) {
4748

48-
Resource resource = openTelemetrySdkService.getResource();
49+
Resource resource = openTelemetrySdkService.resource;
4950
assertThat(resource.getAttribute(stringKey("service.name"))).isEqualTo("my-maven");
5051
assertThat(resource.getAttribute(stringKey("key1"))).isEqualTo("val1");
5152
assertThat(resource.getAttribute(stringKey("key2"))).isEqualTo("val2");
@@ -122,4 +123,14 @@ public void testOverwrittenExporterConfiguration_3() {
122123
System.clearProperty("otel.exporter.otlp.traces.protocol");
123124
}
124125
}
126+
127+
@AfterAll
128+
static void afterAll() {
129+
System.clearProperty("otel.exporter.otlp.endpoint");
130+
System.clearProperty("otel.exporter.otlp.traces.endpoint");
131+
System.clearProperty("otel.exporter.otlp.traces.protocol");
132+
System.clearProperty("otel.resource.attributes");
133+
System.clearProperty("otel.service.name");
134+
System.clearProperty("otel.traces.exporter");
135+
}
125136
}

0 commit comments

Comments
 (0)