1111import io .opentelemetry .maven .semconv .MavenOtelSemanticAttributes ;
1212import io .opentelemetry .sdk .OpenTelemetrySdk ;
1313import io .opentelemetry .sdk .autoconfigure .AutoConfiguredOpenTelemetrySdk ;
14+ import io .opentelemetry .sdk .autoconfigure .internal .AutoConfigureUtil ;
1415import io .opentelemetry .sdk .autoconfigure .spi .ConfigProperties ;
1516import io .opentelemetry .sdk .autoconfigure .spi .internal .DefaultConfigProperties ;
1617import io .opentelemetry .sdk .common .CompletableResultCode ;
1718import io .opentelemetry .sdk .resources .Resource ;
1819import java .io .Closeable ;
1920import java .util .Collections ;
2021import java .util .HashMap ;
21- import java .util .Locale ;
2222import java .util .Map ;
23+ import java .util .Optional ;
2324import java .util .concurrent .TimeUnit ;
24- import javax .annotation .Nullable ;
2525import javax .annotation .PreDestroy ;
2626import javax .inject .Named ;
2727import javax .inject .Singleton ;
@@ -40,9 +40,9 @@ public final class OpenTelemetrySdkService implements Closeable {
4040
4141 private final OpenTelemetrySdk openTelemetrySdk ;
4242
43- private Resource resource ;
43+ private final Resource resource ;
4444
45- private ConfigProperties configProperties ;
45+ private final ConfigProperties configProperties ;
4646
4747 private final Tracer tracer ;
4848
@@ -55,37 +55,26 @@ public OpenTelemetrySdkService() {
5555 "OpenTelemetry: Initialize OpenTelemetrySdkService v{}..." ,
5656 MavenOtelSemanticAttributes .TELEMETRY_DISTRO_VERSION_VALUE );
5757
58- this .resource = Resource .empty ();
59- this .configProperties = DefaultConfigProperties .createFromMap (Collections .emptyMap ());
60-
6158 AutoConfiguredOpenTelemetrySdk autoConfiguredOpenTelemetrySdk =
6259 AutoConfiguredOpenTelemetrySdk .builder ()
6360 .setServiceClassLoader (getClass ().getClassLoader ())
6461 .addPropertiesCustomizer (
6562 OpenTelemetrySdkService ::requireExplicitConfigOfTheOtlpExporter )
66- .addPropertiesCustomizer (
67- config -> {
68- // keep a reference to the computed config properties for future use in the
69- // extension
70- this .configProperties = config ;
71- return Collections .emptyMap ();
72- })
73- .addResourceCustomizer (
74- (res , configProperties ) -> {
75- // keep a reference to the computed Resource for future use in the extension
76- this .resource = Resource .builder ().putAll (res ).build ();
77- return this .resource ;
78- })
7963 .disableShutdownHook ()
8064 .build ();
8165
8266 this .openTelemetrySdk = autoConfiguredOpenTelemetrySdk .getOpenTelemetrySdk ();
67+ this .configProperties =
68+ Optional .ofNullable (AutoConfigureUtil .getConfig (autoConfiguredOpenTelemetrySdk ))
69+ .orElseGet (() -> DefaultConfigProperties .createFromMap (Collections .emptyMap ()));
70+ this .resource =
71+ Optional .ofNullable (AutoConfigureUtil2 .getResource (autoConfiguredOpenTelemetrySdk ))
72+ .orElseGet (Resource ::getDefault );
8373
8474 logger .debug ("OpenTelemetry: OpenTelemetrySdkService initialized, resource:{}" , resource );
8575
86- // TODO should we replace `getBooleanConfig(name)` by `configProperties.getBoolean(name)`?
87- Boolean mojoSpansEnabled = getBooleanConfig ("otel.instrumentation.maven.mojo.enabled" );
88- this .mojosInstrumentationEnabled = mojoSpansEnabled == null || mojoSpansEnabled ;
76+ this .mojosInstrumentationEnabled =
77+ configProperties .getBoolean ("otel.instrumentation.maven.mojo.enabled" , true );
8978
9079 this .tracer = openTelemetrySdk .getTracer ("io.opentelemetry.contrib.maven" , VERSION );
9180 }
@@ -168,17 +157,4 @@ public ContextPropagators getPropagators() {
168157 public boolean isMojosInstrumentationEnabled () {
169158 return mojosInstrumentationEnabled ;
170159 }
171-
172- @ Nullable
173- private static Boolean getBooleanConfig (String name ) {
174- String value = System .getProperty (name );
175- if (value != null ) {
176- return Boolean .parseBoolean (value );
177- }
178- value = System .getenv (name .toUpperCase (Locale .ROOT ).replace ('.' , '_' ));
179- if (value != null ) {
180- return Boolean .parseBoolean (value );
181- }
182- return null ;
183- }
184160}
0 commit comments