@@ -451,54 +451,8 @@ public AutoConfiguredOpenTelemetrySdk build() {
451451 sdkBuilder .setPropagators (propagators );
452452
453453 boolean sdkEnabled = !config .getBoolean ("otel.sdk.disabled" , false );
454-
455454 if (sdkEnabled ) {
456- SdkMeterProviderBuilder meterProviderBuilder = SdkMeterProvider .builder ();
457- meterProviderBuilder .setResource (resource );
458- MeterProviderConfiguration .configureMeterProvider (
459- meterProviderBuilder ,
460- config ,
461- spiHelper ,
462- metricReaderCustomizer ,
463- metricExporterCustomizer ,
464- closeables );
465- meterProviderBuilder = meterProviderCustomizer .apply (meterProviderBuilder , config );
466- SdkMeterProvider meterProvider = meterProviderBuilder .build ();
467- closeables .add (meterProvider );
468-
469- SdkTracerProviderBuilder tracerProviderBuilder = SdkTracerProvider .builder ();
470- tracerProviderBuilder .setResource (resource );
471- TracerProviderConfiguration .configureTracerProvider (
472- tracerProviderBuilder ,
473- config ,
474- spiHelper ,
475- meterProvider ,
476- spanExporterCustomizer ,
477- spanProcessorCustomizer ,
478- samplerCustomizer ,
479- closeables );
480- tracerProviderBuilder = tracerProviderCustomizer .apply (tracerProviderBuilder , config );
481- SdkTracerProvider tracerProvider = tracerProviderBuilder .build ();
482- closeables .add (tracerProvider );
483-
484- SdkLoggerProviderBuilder loggerProviderBuilder = SdkLoggerProvider .builder ();
485- loggerProviderBuilder .setResource (resource );
486- LoggerProviderConfiguration .configureLoggerProvider (
487- loggerProviderBuilder ,
488- config ,
489- spiHelper ,
490- meterProvider ,
491- logRecordExporterCustomizer ,
492- logRecordProcessorCustomizer ,
493- closeables );
494- loggerProviderBuilder = loggerProviderCustomizer .apply (loggerProviderBuilder , config );
495- SdkLoggerProvider loggerProvider = loggerProviderBuilder .build ();
496- closeables .add (loggerProvider );
497-
498- sdkBuilder
499- .setTracerProvider (tracerProvider )
500- .setLoggerProvider (loggerProvider )
501- .setMeterProvider (meterProvider );
455+ sdkBuilder = configureSdk (sdkBuilder , config , resource , spiHelper , closeables );
502456 }
503457
504458 OpenTelemetrySdk openTelemetrySdk = sdkBuilder .build ();
@@ -527,6 +481,61 @@ public AutoConfiguredOpenTelemetrySdk build() {
527481 }
528482 }
529483
484+ public OpenTelemetrySdkBuilder configureSdk (
485+ OpenTelemetrySdkBuilder sdkBuilder ,
486+ ConfigProperties config ,
487+ Resource resource ,
488+ SpiHelper spiHelper ,
489+ List <Closeable > closeables ) {
490+ SdkMeterProviderBuilder meterProviderBuilder = SdkMeterProvider .builder ();
491+ meterProviderBuilder .setResource (resource );
492+
493+ MeterProviderConfiguration .configureMeterProvider (
494+ meterProviderBuilder ,
495+ config ,
496+ spiHelper ,
497+ metricReaderCustomizer ,
498+ metricExporterCustomizer ,
499+ closeables );
500+ meterProviderBuilder = meterProviderCustomizer .apply (meterProviderBuilder , config );
501+ SdkMeterProvider meterProvider = meterProviderBuilder .build ();
502+ closeables .add (meterProvider );
503+
504+ SdkTracerProviderBuilder tracerProviderBuilder = SdkTracerProvider .builder ();
505+ tracerProviderBuilder .setResource (resource );
506+ TracerProviderConfiguration .configureTracerProvider (
507+ tracerProviderBuilder ,
508+ config ,
509+ spiHelper ,
510+ meterProvider ,
511+ spanExporterCustomizer ,
512+ spanProcessorCustomizer ,
513+ samplerCustomizer ,
514+ closeables );
515+ tracerProviderBuilder = tracerProviderCustomizer .apply (tracerProviderBuilder , config );
516+ SdkTracerProvider tracerProvider = tracerProviderBuilder .build ();
517+ closeables .add (tracerProvider );
518+
519+ SdkLoggerProviderBuilder loggerProviderBuilder = SdkLoggerProvider .builder ();
520+ loggerProviderBuilder .setResource (resource );
521+ LoggerProviderConfiguration .configureLoggerProvider (
522+ loggerProviderBuilder ,
523+ config ,
524+ spiHelper ,
525+ meterProvider ,
526+ logRecordExporterCustomizer ,
527+ logRecordProcessorCustomizer ,
528+ closeables );
529+ loggerProviderBuilder = loggerProviderCustomizer .apply (loggerProviderBuilder , config );
530+ SdkLoggerProvider loggerProvider = loggerProviderBuilder .build ();
531+ closeables .add (loggerProvider );
532+
533+ return sdkBuilder
534+ .setTracerProvider (tracerProvider )
535+ .setLoggerProvider (loggerProvider )
536+ .setMeterProvider (meterProvider );
537+ }
538+
530539 @ Nullable
531540 private static AutoConfiguredOpenTelemetrySdk maybeConfigureFromFile (
532541 ConfigProperties config , ComponentLoader componentLoader ) {
0 commit comments