Skip to content

Commit 62116dd

Browse files
authored
Cloud provider in spring starter (#11014)
1 parent 7de246b commit 62116dd

File tree

11 files changed

+45
-8
lines changed

11 files changed

+45
-8
lines changed

instrumentation/spring/spring-boot-autoconfigure/build.gradle.kts

+1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ dependencies {
3838
library("org.springframework.boot:spring-boot-starter-webflux:$springBootVersion")
3939

4040
implementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure")
41+
implementation(project(":sdk-autoconfigure-support"))
4142
compileOnly("io.opentelemetry:opentelemetry-extension-trace-propagators")
4243
compileOnly("io.opentelemetry.contrib:opentelemetry-aws-xray-propagator")
4344
compileOnly("io.opentelemetry:opentelemetry-exporter-logging")

instrumentation/spring/starters/spring-boot-starter/build.gradle.kts

+3
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,7 @@ dependencies {
2121
api("io.opentelemetry:opentelemetry-exporter-otlp")
2222
api("io.opentelemetry:opentelemetry-sdk")
2323
api(project(":instrumentation-annotations"))
24+
25+
implementation("io.opentelemetry.contrib:opentelemetry-aws-resources")
26+
implementation("io.opentelemetry.contrib:opentelemetry-gcp-resources")
2427
}

javaagent-tooling/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ dependencies {
1515
implementation(project(":instrumentation-api"))
1616
implementation(project(":instrumentation-annotations-support"))
1717
implementation(project(":muzzle"))
18+
implementation(project(":sdk-autoconfigure-support"))
1819

1920
implementation("io.opentelemetry:opentelemetry-api")
2021
testImplementation("io.opentelemetry:opentelemetry-api-incubator")
2122
implementation("io.opentelemetry:opentelemetry-sdk")
22-
implementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure")
2323
implementation("io.opentelemetry:opentelemetry-extension-kotlin")
2424
implementation("io.opentelemetry:opentelemetry-extension-trace-propagators")
2525
// the incubator's ViewConfigCustomizer is used to support loading yaml-based metric views

javaagent-tooling/src/test/resources/META-INF/services/io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider

-1
This file was deleted.
+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
plugins {
2+
id("otel.java-conventions")
3+
id("otel.publish-conventions")
4+
}
5+
6+
group = "io.opentelemetry.instrumentation"
7+
8+
dependencies {
9+
api("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure")
10+
11+
compileOnly("com.google.code.findbugs:annotations")
12+
testCompileOnly("com.google.code.findbugs:annotations")
13+
}

javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/config/ResourceProviderPropertiesCustomizer.java sdk-autoconfigure-support/src/main/java/io/opentelemetry/instrumentation/resources/ResourceProviderPropertiesCustomizer.java

+2-4
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.tooling.config;
6+
package io.opentelemetry.instrumentation.resources;
77

8-
import com.google.auto.service.AutoService;
98
import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer;
109
import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizerProvider;
1110
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
@@ -18,7 +17,6 @@
1817
import java.util.Set;
1918
import javax.annotation.Nullable;
2019

21-
@AutoService(AutoConfigurationCustomizerProvider.class)
2220
public class ResourceProviderPropertiesCustomizer implements AutoConfigurationCustomizerProvider {
2321

2422
private static final Map<String, String> DISABLED_BY_DEFAULT_RESOURCE_PROVIDERS = new HashMap<>();
@@ -38,7 +36,7 @@ public class ResourceProviderPropertiesCustomizer implements AutoConfigurationCu
3836
"io.opentelemetry.contrib.gcp.resource.GCPResourceProvider", "gcp");
3937
// for testing
4038
DISABLED_BY_DEFAULT_RESOURCE_PROVIDERS.put(
41-
"io.opentelemetry.javaagent.tooling.config.ResourceProviderPropertiesCustomizerTest$Provider",
39+
"io.opentelemetry.instrumentation.resources.ResourceProviderPropertiesCustomizerTest$Provider",
4240
"test");
4341
}
4442

Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
io.opentelemetry.instrumentation.resources.ResourceProviderPropertiesCustomizer

javaagent-tooling/src/test/java/io/opentelemetry/javaagent/tooling/config/ResourceProviderPropertiesCustomizerTest.java sdk-autoconfigure-support/src/test/java/io/opentelemetry/instrumentation/resources/ResourceProviderPropertiesCustomizerTest.java

+6-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.javaagent.tooling.config;
6+
package io.opentelemetry.instrumentation.resources;
77

88
import static org.assertj.core.api.Assertions.assertThat;
99

@@ -58,7 +58,7 @@ private EnabledTestCase(
5858
@TestFactory
5959
Stream<DynamicTest> enabledTestCases() {
6060
String className =
61-
"io.opentelemetry.javaagent.tooling.config.ResourceProviderPropertiesCustomizerTest$Provider";
61+
"io.opentelemetry.instrumentation.resources.ResourceProviderPropertiesCustomizerTest$Provider";
6262
return Stream.of(
6363
new EnabledTestCase(
6464
"explicitEnabled", true, Collections.emptySet(), Collections.emptySet(), true),
@@ -119,6 +119,10 @@ Stream<DynamicTest> enabledTestCases() {
119119
Boolean.toString(tc.explicitEnabled));
120120
}
121121

122+
props.put("otel.traces.exporter", "none");
123+
props.put("otel.metrics.exporter", "none");
124+
props.put("otel.logs.exporter", "none");
125+
122126
Attributes attributes =
123127
SdkAutoconfigureAccess.getResourceAttributes(
124128
AutoConfiguredOpenTelemetrySdk.builder()
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.sdk.autoconfigure;
7+
8+
import io.opentelemetry.api.common.Attributes;
9+
10+
public final class SdkAutoconfigureAccess {
11+
public static Attributes getResourceAttributes(AutoConfiguredOpenTelemetrySdk sdk) {
12+
return sdk.getResource().getAttributes();
13+
}
14+
15+
private SdkAutoconfigureAccess() {}
16+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
io.opentelemetry.instrumentation.resources.ResourceProviderPropertiesCustomizerTest$Provider

settings.gradle.kts

+1
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ include(":javaagent-tooling:javaagent-tooling-java9")
107107
include(":javaagent-internal-logging-application")
108108
include(":javaagent-internal-logging-simple")
109109
include(":javaagent")
110+
include(":sdk-autoconfigure-support")
110111

111112
include(":bom")
112113
include(":bom-alpha")

0 commit comments

Comments
 (0)