diff --git a/baggage-processor/src/main/java/io/opentelemetry/contrib/baggage/processor/BaggageProcessorCustomizer.java b/baggage-processor/src/main/java/io/opentelemetry/contrib/baggage/processor/BaggageProcessorCustomizer.java index da35512a3..e45c616fc 100644 --- a/baggage-processor/src/main/java/io/opentelemetry/contrib/baggage/processor/BaggageProcessorCustomizer.java +++ b/baggage-processor/src/main/java/io/opentelemetry/contrib/baggage/processor/BaggageProcessorCustomizer.java @@ -37,7 +37,8 @@ private static void addSpanProcessor( return; } - sdkTracerProviderBuilder.addSpanProcessor(createBaggageSpanProcessor(keys)); + // need to add before the batch span processor + sdkTracerProviderBuilder.addSpanProcessorFirst(createBaggageSpanProcessor(keys)); } static BaggageSpanProcessor createBaggageSpanProcessor(List keys) { @@ -56,7 +57,8 @@ private static void addLogRecordProcessor( return; } - sdkLoggerProviderBuilder.addLogRecordProcessor(createBaggageLogRecordProcessor(keys)); + // need to add before the batch span processor + sdkLoggerProviderBuilder.addLogRecordProcessorFirst(createBaggageLogRecordProcessor(keys)); } static BaggageLogRecordProcessor createBaggageLogRecordProcessor(List keys) { diff --git a/baggage-processor/src/test/java/io/opentelemetry/contrib/baggage/processor/BaggageProcessorCustomizerTest.java b/baggage-processor/src/test/java/io/opentelemetry/contrib/baggage/processor/BaggageProcessorCustomizerTest.java index bfa8835ae..6d2e77469 100644 --- a/baggage-processor/src/test/java/io/opentelemetry/contrib/baggage/processor/BaggageProcessorCustomizerTest.java +++ b/baggage-processor/src/test/java/io/opentelemetry/contrib/baggage/processor/BaggageProcessorCustomizerTest.java @@ -48,11 +48,15 @@ class BaggageProcessorCustomizerTest { private static final String MEMORY_EXPORTER = "memory"; @Test - void test_customizer() { + void test_empty_customizer() { assertCustomizer( Collections.emptyMap(), span -> assertThat(span).hasTotalAttributeCount(0), logRecord -> assertThat(logRecord).hasTotalAttributeCount(0)); + } + + @Test + void test_customizer() { Map properties = new HashMap<>(); properties.put("otel.java.experimental.span-attributes.copy-from-baggage.include", "key"); properties.put("otel.java.experimental.log-attributes.copy-from-baggage.include", "key"); @@ -117,7 +121,7 @@ private static OpenTelemetrySdk getOpenTelemetrySdk( new ComponentLoader() { @Override public List load(Class spiClass) { - if (spiClass == ConfigurableSpanExporterProvider.class) { + if (spiClass.equals(ConfigurableSpanExporterProvider.class)) { return Collections.singletonList( spiClass.cast( new ConfigurableSpanExporterProvider() { @@ -132,7 +136,7 @@ public String getName() { return MEMORY_EXPORTER; } })); - } else if (spiClass == ConfigurableLogRecordExporterProvider.class) { + } else if (spiClass.equals(ConfigurableLogRecordExporterProvider.class)) { return Collections.singletonList( spiClass.cast( new ConfigurableLogRecordExporterProvider() {