Skip to content

Commit ceadee5

Browse files
committed
pr review
1 parent 06f56ac commit ceadee5

File tree

7 files changed

+54
-49
lines changed

7 files changed

+54
-49
lines changed

instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/OpenTelemetryAutoConfiguration.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.MapConverter;
1111
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
1212
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtelResourceProperties;
13+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtelSpringProperties;
1314
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtlpExporterProperties;
1415
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.SpringConfigProperties;
15-
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.SpringOtelProperties;
1616
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.resources.DistroVersionResourceProvider;
1717
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.resources.SpringResourceProvider;
1818
import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk;
@@ -51,7 +51,7 @@
5151
@EnableConfigurationProperties({
5252
OtlpExporterProperties.class,
5353
OtelResourceProperties.class,
54-
SpringOtelProperties.class
54+
OtelSpringProperties.class
5555
})
5656
public class OpenTelemetryAutoConfiguration {
5757

@@ -90,7 +90,7 @@ public AutoConfiguredOpenTelemetrySdk autoConfiguredOpenTelemetrySdk(
9090
Environment env,
9191
OtlpExporterProperties otlpExporterProperties,
9292
OtelResourceProperties resourceProperties,
93-
SpringOtelProperties springOtelProperties,
93+
OtelSpringProperties otelSpringProperties,
9494
OpenTelemetrySdkComponentLoader componentLoader) {
9595

9696
return AutoConfigureUtil.setComponentLoader(
@@ -101,7 +101,7 @@ public AutoConfiguredOpenTelemetrySdk autoConfiguredOpenTelemetrySdk(
101101
env,
102102
otlpExporterProperties,
103103
resourceProperties,
104-
springOtelProperties,
104+
otelSpringProperties,
105105
c)),
106106
componentLoader)
107107
.build();
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* any time.
1515
*/
1616
@ConfigurationProperties(prefix = "otel")
17-
public final class SpringOtelProperties {
17+
public final class OtelSpringProperties {
1818

1919
/**
2020
* This class is internal and is hence not for public use. Its APIs are unstable and can change at

instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/SpringConfigProperties.java

Lines changed: 41 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -31,68 +31,73 @@ public class SpringConfigProperties implements ConfigProperties {
3131
private final ExpressionParser parser;
3232
private final OtlpExporterProperties otlpExporterProperties;
3333
private final OtelResourceProperties resourceProperties;
34-
private final SpringOtelProperties springOtelProperties;
34+
private final OtelSpringProperties otelSpringProperties;
3535
private final ConfigProperties otelSdkProperties;
36-
private final ConfigProperties customizedResourceProviderProperties;
36+
private final ConfigProperties customizedListProperties;
3737

38-
private static final Map<String, Function<SpringOtelProperties, List<String>>> LIST_PROPERTIES =
38+
private static final Map<String, Function<OtelSpringProperties, List<String>>> LIST_PROPERTIES =
3939
new HashMap<>();
4040

4141
static final String DISABLED_KEY = "otel.java.disabled.resource.providers";
4242
static final String ENABLED_KEY = "otel.java.enabled.resource.providers";
4343

4444
static {
45-
LIST_PROPERTIES.put(ENABLED_KEY, SpringOtelProperties::getJavaEnabledResourceProviders);
46-
LIST_PROPERTIES.put(DISABLED_KEY, SpringOtelProperties::getJavaDisabledResourceProviders);
45+
LIST_PROPERTIES.put(ENABLED_KEY, OtelSpringProperties::getJavaEnabledResourceProviders);
46+
LIST_PROPERTIES.put(DISABLED_KEY, OtelSpringProperties::getJavaDisabledResourceProviders);
4747
LIST_PROPERTIES.put(
4848
"otel.experimental.metrics.view.config",
49-
SpringOtelProperties::getExperimentalMetricsViewConfig);
49+
OtelSpringProperties::getExperimentalMetricsViewConfig);
5050
LIST_PROPERTIES.put(
5151
"otel.experimental.resource.disabled.keys",
52-
SpringOtelProperties::getExperimentalResourceDisabledKeys);
53-
LIST_PROPERTIES.put("otel.propagators", SpringOtelProperties::getPropagators);
52+
OtelSpringProperties::getExperimentalResourceDisabledKeys);
53+
LIST_PROPERTIES.put("otel.propagators", OtelSpringProperties::getPropagators);
5454
}
5555

5656
public SpringConfigProperties(
5757
Environment environment,
5858
ExpressionParser parser,
5959
OtlpExporterProperties otlpExporterProperties,
6060
OtelResourceProperties resourceProperties,
61-
SpringOtelProperties springOtelProperties,
61+
OtelSpringProperties otelSpringProperties,
6262
ConfigProperties otelSdkProperties) {
6363
this.environment = environment;
6464
this.parser = parser;
6565
this.otlpExporterProperties = otlpExporterProperties;
6666
this.resourceProperties = resourceProperties;
67-
this.springOtelProperties = springOtelProperties;
67+
this.otelSpringProperties = otelSpringProperties;
6868
this.otelSdkProperties = otelSdkProperties;
69-
this.customizedResourceProviderProperties =
70-
createCustomizedProperties(otelSdkProperties, springOtelProperties);
69+
this.customizedListProperties =
70+
createCustomizedListProperties(otelSdkProperties, otelSpringProperties);
7171
}
7272

73-
private static void addList(
74-
Map<String, String> map, String key, List<String> list, ConfigProperties configProperties) {
75-
if (!list.isEmpty()) {
76-
map.put(key, String.join(",", list));
73+
private static Map<String, String> addList(
74+
String key, List<String> springList, ConfigProperties configProperties) {
75+
if (!springList.isEmpty()) {
76+
return Collections.singletonMap(key, String.join(",", springList));
7777
} else {
78-
String defaultValue = configProperties.getString(key);
79-
if (defaultValue != null) {
80-
map.put(key, defaultValue);
78+
String otelList = configProperties.getString(key);
79+
if (otelList != null) {
80+
return Collections.singletonMap(key, otelList);
8181
}
8282
}
83+
return Collections.emptyMap();
8384
}
8485

85-
private static ConfigProperties createCustomizedProperties(
86-
ConfigProperties configProperties, SpringOtelProperties springOtelProperties) {
87-
// find a better way to do this
88-
Map<String, String> map = new HashMap<>();
89-
addList(
90-
map, ENABLED_KEY, springOtelProperties.getJavaEnabledResourceProviders(), configProperties);
91-
addList(
92-
map,
93-
DISABLED_KEY,
94-
springOtelProperties.getJavaDisabledResourceProviders(),
95-
configProperties);
86+
private static ConfigProperties createCustomizedListProperties(
87+
ConfigProperties configProperties, OtelSpringProperties otelSpringProperties) {
88+
// io.opentelemetry.instrumentation.resources.ResourceProviderPropertiesCustomizer
89+
// has already been applied before this point, so we have to apply the same logic here
90+
Map<String, String> map =
91+
new HashMap<>(
92+
addList(
93+
ENABLED_KEY,
94+
otelSpringProperties.getJavaEnabledResourceProviders(),
95+
configProperties));
96+
map.putAll(
97+
addList(
98+
DISABLED_KEY,
99+
otelSpringProperties.getJavaDisabledResourceProviders(),
100+
configProperties));
96101

97102
return DefaultConfigProperties.createFromMap(
98103
new ResourceProviderPropertiesCustomizer()
@@ -104,14 +109,14 @@ public static ConfigProperties create(
104109
Environment env,
105110
OtlpExporterProperties otlpExporterProperties,
106111
OtelResourceProperties resourceProperties,
107-
SpringOtelProperties springOtelProperties,
112+
OtelSpringProperties otelSpringProperties,
108113
ConfigProperties fallback) {
109114
return new SpringConfigProperties(
110115
env,
111116
new SpelExpressionParser(),
112117
otlpExporterProperties,
113118
resourceProperties,
114-
springOtelProperties,
119+
otelSpringProperties,
115120
fallback);
116121
}
117122

@@ -166,13 +171,13 @@ public List<String> getList(String name) {
166171

167172
String normalizedName = ConfigUtil.normalizeEnvironmentVariableKey(name);
168173

169-
Function<SpringOtelProperties, List<String>> get = LIST_PROPERTIES.get(normalizedName);
170-
if (get != null) {
171-
List<String> c = customizedResourceProviderProperties.getList(name);
174+
Function<OtelSpringProperties, List<String>> getList = LIST_PROPERTIES.get(normalizedName);
175+
if (getList != null) {
176+
List<String> c = customizedListProperties.getList(name);
172177
if (!c.isEmpty()) {
173178
return c;
174179
}
175-
return get.apply(springOtelProperties);
180+
return getList.apply(otelSpringProperties);
176181
}
177182

178183
return or(environment.getProperty(normalizedName, List.class), otelSdkProperties.getList(name));

instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/properties/OtlpExporterPropertiesTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ private static ConfigProperties getConfig(AssertableApplicationContext context)
9292
new SpelExpressionParser(),
9393
context.getBean(OtlpExporterProperties.class),
9494
new OtelResourceProperties(),
95-
new SpringOtelProperties(),
95+
new OtelSpringProperties(),
9696
DefaultConfigProperties.createFromMap(Collections.emptyMap()));
9797
}
9898
}

instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/resources/SpringConfigPropertiesTest.java

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

1111
import io.opentelemetry.instrumentation.spring.autoconfigure.OpenTelemetryAutoConfiguration;
1212
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtelResourceProperties;
13+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtelSpringProperties;
1314
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtlpExporterProperties;
1415
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.SpringConfigProperties;
15-
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.SpringOtelProperties;
1616
import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties;
1717
import java.util.HashMap;
1818
import java.util.Map;
@@ -51,7 +51,7 @@ void shouldInitializeAttributesByMapInArow() {
5151
new SpelExpressionParser(),
5252
context.getBean(OtlpExporterProperties.class),
5353
context.getBean(OtelResourceProperties.class),
54-
context.getBean(SpringOtelProperties.class),
54+
context.getBean(OtelSpringProperties.class),
5555
DefaultConfigProperties.createFromMap(fallback));
5656

5757
assertThat(config.getMap("otel.resource.attributes"))

instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/internal/resources/SpringResourceProviderTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99

1010
import io.opentelemetry.instrumentation.spring.autoconfigure.OpenTelemetryAutoConfiguration;
1111
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtelResourceProperties;
12+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtelSpringProperties;
1213
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtlpExporterProperties;
1314
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.SpringConfigProperties;
14-
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.SpringOtelProperties;
1515
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
1616
import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties;
1717
import io.opentelemetry.sdk.testing.assertj.AttributesAssert;
@@ -68,7 +68,7 @@ private static AttributesAssert assertResourceAttributes(AssertableApplicationCo
6868
context.getBean(Environment.class),
6969
new OtlpExporterProperties(),
7070
new OtelResourceProperties(),
71-
new SpringOtelProperties(),
71+
new OtelSpringProperties(),
7272
DefaultConfigProperties.createFromMap(Collections.emptyMap()));
7373

7474
return assertThat(

smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelSpringStarterSmokeTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtelResourceProperties;
1616
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtlpExporterProperties;
1717
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.SpringConfigProperties;
18-
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.SpringOtelProperties;
18+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtelSpringProperties;
1919
import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizerProvider;
2020
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
2121
import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties;
@@ -59,7 +59,7 @@ class AbstractOtelSpringStarterSmokeTest extends AbstractSpringStarterSmokeTest
5959
@Autowired private TestRestTemplate testRestTemplate;
6060

6161
@Autowired private Environment environment;
62-
@Autowired private SpringOtelProperties springOtelProperties;
62+
@Autowired private OtelSpringProperties otelSpringProperties;
6363
@Autowired private OtelResourceProperties otelResourceProperties;
6464
@Autowired private OtlpExporterProperties otlpExporterProperties;
6565
@Autowired private RestTemplateBuilder restTemplateBuilder;
@@ -128,7 +128,7 @@ void propertyConversion() {
128128
environment,
129129
otlpExporterProperties,
130130
otelResourceProperties,
131-
springOtelProperties,
131+
otelSpringProperties,
132132
DefaultConfigProperties.createFromMap(
133133
Collections.singletonMap("otel.exporter.otlp.headers", "a=1,b=2")));
134134
assertThat(configProperties.getMap("otel.exporter.otlp.headers"))

0 commit comments

Comments
 (0)