Suppress warnings until more to new semconv module

OTel has deprecated their semconv module and introduced a new module
with different Maven coordinates. micrometer-metrics/tracing#343 will
move Micrometer Tracing to the new module. Until then, we need to
suppress the deprecation warnings that result from using the old one.

Closes gh-37347
This commit is contained in:
Andy Wilkinson 2023-09-12 12:36:05 +01:00
parent 8874cadebf
commit 4ebee17cb1
3 changed files with 13 additions and 9 deletions

View File

@ -28,7 +28,6 @@ import io.opentelemetry.sdk.metrics.SdkMeterProvider;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.sdk.resources.ResourceBuilder;
import io.opentelemetry.sdk.trace.SdkTracerProvider;
import io.opentelemetry.semconv.resource.attributes.ResourceAttributes;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.autoconfigure.AutoConfiguration;
@ -70,10 +69,12 @@ public class OpenTelemetryAutoConfiguration {
@Bean
@ConditionalOnMissingBean
@SuppressWarnings("deprecation")
Resource openTelemetryResource(Environment environment, OpenTelemetryProperties properties) {
String applicationName = environment.getProperty("spring.application.name", DEFAULT_APPLICATION_NAME);
return Resource.getDefault()
.merge(Resource.create(Attributes.of(ResourceAttributes.SERVICE_NAME, applicationName)))
.merge(Resource.create(Attributes
.of(io.opentelemetry.semconv.resource.attributes.ResourceAttributes.SERVICE_NAME, applicationName)))
.merge(toResource(properties));
}

View File

@ -24,7 +24,6 @@ import io.opentelemetry.sdk.logs.SdkLoggerProvider;
import io.opentelemetry.sdk.metrics.SdkMeterProvider;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.sdk.trace.SdkTracerProvider;
import io.opentelemetry.semconv.resource.attributes.ResourceAttributes;
import org.junit.jupiter.api.Test;
import org.springframework.boot.autoconfigure.AutoConfiguration;
@ -82,20 +81,22 @@ class OpenTelemetryAutoConfigurationTests {
}
@Test
@SuppressWarnings("deprecation")
void shouldApplySpringApplicationNameToResource() {
this.runner.withPropertyValues("spring.application.name=my-application").run((context) -> {
Resource resource = context.getBean(Resource.class);
assertThat(resource.getAttributes().asMap())
.contains(entry(ResourceAttributes.SERVICE_NAME, "my-application"));
assertThat(resource.getAttributes().asMap()).contains(entry(
io.opentelemetry.semconv.resource.attributes.ResourceAttributes.SERVICE_NAME, "my-application"));
});
}
@Test
@SuppressWarnings("deprecation")
void shouldFallbackToDefaultApplicationNameIfSpringApplicationNameIsNotSet() {
this.runner.run((context) -> {
Resource resource = context.getBean(Resource.class);
assertThat(resource.getAttributes().asMap())
.contains(entry(ResourceAttributes.SERVICE_NAME, "application"));
assertThat(resource.getAttributes().asMap()).contains(
entry(io.opentelemetry.semconv.resource.attributes.ResourceAttributes.SERVICE_NAME, "application"));
});
}

View File

@ -50,7 +50,6 @@ import io.opentelemetry.sdk.trace.SpanProcessor;
import io.opentelemetry.sdk.trace.data.SpanData;
import io.opentelemetry.sdk.trace.export.SpanExporter;
import io.opentelemetry.sdk.trace.samplers.Sampler;
import io.opentelemetry.semconv.resource.attributes.ResourceAttributes;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
@ -170,6 +169,7 @@ class OpenTelemetryAutoConfigurationTests {
}
@Test
@SuppressWarnings("deprecation")
void shouldSetupDefaultResourceAttributes() {
this.contextRunner
.withConfiguration(
@ -182,7 +182,9 @@ class OpenTelemetryAutoConfigurationTests {
exporter.await(Duration.ofSeconds(10));
SpanData spanData = exporter.getExportedSpans().get(0);
Map<AttributeKey<?>, Object> expectedAttributes = Resource.getDefault()
.merge(Resource.create(Attributes.of(ResourceAttributes.SERVICE_NAME, "application")))
.merge(Resource.create(
Attributes.of(io.opentelemetry.semconv.resource.attributes.ResourceAttributes.SERVICE_NAME,
"application")))
.getAttributes()
.asMap();
assertThat(spanData.getResource().getAttributes().asMap()).isEqualTo(expectedAttributes);