Skip to content

Commit eb738d8

Browse files
authored
Use OTel autoconfigure (#43699)
1 parent 62d3f8d commit eb738d8

File tree

5 files changed

+17
-16
lines changed

5 files changed

+17
-16
lines changed

eng/versioning/version_client.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -493,6 +493,7 @@ io.clientcore:http-stress;1.0.0-beta.1;1.0.0-beta.1
493493
# <!-- {x-version-update;unreleased_com.azure:azure-core;dependency} -->
494494

495495
unreleased_com.azure:azure-monitor-opentelemetry-exporter;1.0.0-beta.31
496+
unreleased_com.azure:azure-monitor-opentelemetry-autoconfigure;1.0.0-beta.1
496497

497498
# Released Beta dependencies: Copy the entry from above, prepend "beta_", remove the current
498499
# version and set the version to the released beta. Released beta dependencies are only valid

sdk/spring/spring-cloud-azure-starter-monitor-test/src/test/java/com/azure/spring/cloud/autoconfigure/monitor/CustomValidationPolicy.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
import com.azure.json.JsonProviders;
1111
import com.azure.json.JsonReader;
1212
import com.azure.json.JsonToken;
13-
import com.azure.monitor.opentelemetry.exporter.implementation.localstorage.LocalStorageTelemetryPipelineListener;
14-
import com.azure.monitor.opentelemetry.exporter.implementation.models.TelemetryItem;
13+
import com.azure.monitor.opentelemetry.autoconfigure.implementation.localstorage.LocalStorageTelemetryPipelineListener;
14+
import com.azure.monitor.opentelemetry.autoconfigure.implementation.models.TelemetryItem;
1515
import reactor.core.publisher.Mono;
1616

1717
import java.io.IOException;

sdk/spring/spring-cloud-azure-starter-monitor-test/src/test/java/com/azure/spring/cloud/autoconfigure/monitor/SpringMonitorTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
import com.azure.core.http.policy.HttpPipelinePolicy;
1111
import com.azure.json.JsonProviders;
1212
import com.azure.json.JsonReader;
13-
import com.azure.monitor.opentelemetry.exporter.AzureMonitorExporterOptions;
14-
import com.azure.monitor.opentelemetry.exporter.implementation.models.*;
13+
import com.azure.monitor.opentelemetry.autoconfigure.AzureMonitorAutoConfigureOptions;
14+
import com.azure.monitor.opentelemetry.autoconfigure.implementation.models.*;
1515
import org.jetbrains.annotations.NotNull;
1616
import org.junit.jupiter.api.Test;
1717
import org.springframework.beans.factory.annotation.Autowired;
@@ -47,10 +47,10 @@ class SpringMonitorTest {
4747
static class TestConfig {
4848

4949
@Bean
50-
AzureMonitorExporterOptions azureMonitorExporterBuilder() {
50+
AzureMonitorAutoConfigureOptions azureMonitorExporterBuilder() {
5151
countDownLatch = new CountDownLatch(2);
5252
customValidationPolicy = new CustomValidationPolicy(countDownLatch);
53-
return new AzureMonitorExporterOptions()
53+
return new AzureMonitorAutoConfigureOptions()
5454
.connectionString("InstrumentationKey=00000000-0000-0000-0000-0FEEDDADBEEF;IngestionEndpoint=https://test.in.applicationinsights.azure.com/;LiveEndpoint=https://test.livediagnostics.monitor.azure.com/")
5555
.pipeline(getHttpPipeline(customValidationPolicy));
5656
}

sdk/spring/spring-cloud-azure-starter-monitor/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,8 @@
8888
</dependency>
8989
<dependency>
9090
<groupId>com.azure</groupId>
91-
<artifactId>azure-monitor-opentelemetry-exporter</artifactId>
92-
<version>1.0.0-beta.31</version> <!-- {x-version-update;com.azure:azure-monitor-opentelemetry-exporter;dependency} -->
91+
<artifactId>azure-monitor-opentelemetry-autoconfigure</artifactId>
92+
<version>1.0.0-beta.1</version> <!-- {x-version-update;unreleased_com.azure:azure-monitor-opentelemetry-autoconfigure;dependency} -->
9393
</dependency>
9494

9595
<!-- Test dependencies -->

sdk/spring/spring-cloud-azure-starter-monitor/src/main/java/com/azure/spring/cloud/autoconfigure/monitor/implementation/AzureSpringMonitorAutoConfiguration.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33

44
package com.azure.spring.cloud.autoconfigure.monitor.implementation;
55

6-
import com.azure.monitor.opentelemetry.exporter.AzureMonitorExporter;
7-
import com.azure.monitor.opentelemetry.exporter.AzureMonitorExporterOptions;
6+
import com.azure.monitor.opentelemetry.autoconfigure.AzureMonitorAutoConfigure;
7+
import com.azure.monitor.opentelemetry.autoconfigure.AzureMonitorAutoConfigureOptions;
88
import io.opentelemetry.instrumentation.spring.autoconfigure.OpenTelemetryAutoConfiguration;
99
import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizerProvider;
1010
import org.slf4j.Logger;
@@ -56,22 +56,22 @@ private static boolean applicationInsightsAgentIsAttached() {
5656
}
5757

5858
@Bean
59-
AutoConfigurationCustomizerProvider autoConfigurationCustomizerProvider(@Value("${applicationinsights.connection.string:#{null}}") String connectionString, ObjectProvider<AzureMonitorExporterOptions> azureMonitorExporterOptions) {
59+
AutoConfigurationCustomizerProvider autoConfigurationCustomizerProvider(@Value("${applicationinsights.connection.string:#{null}}") String connectionString, ObjectProvider<AzureMonitorAutoConfigureOptions> azureMonitorAutoConfigureOptions) {
6060

6161
if (!isNativeRuntimeExecution() && applicationInsightsAgentIsAttached()) {
6262
LOG.warn("The spring-cloud-azure-starter-monitor Spring starter is disabled because the Application Insights Java agent is enabled."
6363
+ " You can remove this message by using the otel.sdk.disabled=true property.");
6464
return DISABLE_OTEL_CUSTOMER_PROVIDER;
6565
}
6666

67-
AzureMonitorExporterOptions providedAzureMonitorExporterOptions = azureMonitorExporterOptions.getIfAvailable();
68-
if (providedAzureMonitorExporterOptions != null) {
67+
AzureMonitorAutoConfigureOptions providedAzureMonitorAutoConfigureOptions = azureMonitorAutoConfigureOptions.getIfAvailable();
68+
if (providedAzureMonitorAutoConfigureOptions != null) {
6969
if (System.getenv("APPLICATIONINSIGHTS_CONNECTION_STRING") == null && System.getProperty("applicationinsights.connection.string") == null && (connectionString != null && !connectionString.isEmpty())) {
7070
LOG.warn("You have created an AzureMonitorExporterBuilder bean and set the applicationinsights.connection.string property in a .properties or .yml file."
7171
+ " This property is ignored.");
7272
}
7373
// The AzureMonitor class (OpenTelemetry exporter library) is able to use the APPLICATIONINSIGHTS_CONNECTION_STRING environment variable or the applicationinsights.connection.string JVM property
74-
return autoConfigurationCustomizer -> AzureMonitorExporter.customize(autoConfigurationCustomizer, providedAzureMonitorExporterOptions);
74+
return autoConfigurationCustomizer -> AzureMonitorAutoConfigure.customize(autoConfigurationCustomizer, providedAzureMonitorAutoConfigureOptions);
7575
}
7676

7777
if (connectionString == null || connectionString.isEmpty()) {
@@ -83,10 +83,10 @@ AutoConfigurationCustomizerProvider autoConfigurationCustomizerProvider(@Value("
8383
}
8484

8585
if (!connectionString.contains("InstrumentationKey=")) {
86-
throw new WrongConnectionStringException(); // To fail fast, before the OpenTelemetry exporter
86+
throw new WrongConnectionStringException(); // To fail fast, before Azure Monitor AutoConfigure
8787
}
8888

89-
return autoConfigurationCustomizer -> AzureMonitorExporter.customize(autoConfigurationCustomizer, connectionString);
89+
return autoConfigurationCustomizer -> AzureMonitorAutoConfigure.customize(autoConfigurationCustomizer, connectionString);
9090
}
9191

9292
@Bean

0 commit comments

Comments
 (0)