diff --git a/instrumentation/jms/jms-common-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/common/v1_1/JmsInstrumenterFactory.java b/instrumentation/jms/jms-common-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/common/v1_1/JmsInstrumenterFactory.java index ad5cf72b8e3b..cb20cbd09843 100644 --- a/instrumentation/jms/jms-common-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/common/v1_1/JmsInstrumenterFactory.java +++ b/instrumentation/jms/jms-common-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/common/v1_1/JmsInstrumenterFactory.java @@ -55,7 +55,7 @@ public Instrumenter createProducerInstrumenter() { instrumentationName, MessagingSpanNameExtractor.create(getter, operation)) .addAttributesExtractor(createMessagingAttributesExtractor(operation)) - .buildProducerInstrumenter(MessagePropertySetter.INSTANCE); + .buildProducerInstrumenter(new MessagePropertySetter()); } public Instrumenter createConsumerReceiveInstrumenter() { diff --git a/instrumentation/jms/jms-common-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/common/v1_1/MessagePropertySetter.java b/instrumentation/jms/jms-common-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/common/v1_1/MessagePropertySetter.java index 6ea9595d8007..255c49fd119c 100644 --- a/instrumentation/jms/jms-common-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/common/v1_1/MessagePropertySetter.java +++ b/instrumentation/jms/jms-common-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jms/common/v1_1/MessagePropertySetter.java @@ -11,9 +11,7 @@ import java.util.logging.Logger; import javax.annotation.Nullable; -enum MessagePropertySetter implements TextMapSetter { - INSTANCE; - +class MessagePropertySetter implements TextMapSetter { private static final Logger logger = Logger.getLogger(MessagePropertySetter.class.getName()); static final String DASH = "__dash__"; diff --git a/instrumentation/jsf/jsf-mojarra-1.2/metadata.yaml b/instrumentation/jsf/jsf-mojarra-1.2/metadata.yaml index 2aa8a703ebbe..754bc381725a 100644 --- a/instrumentation/jsf/jsf-mojarra-1.2/metadata.yaml +++ b/instrumentation/jsf/jsf-mojarra-1.2/metadata.yaml @@ -7,6 +7,7 @@ features: library_link: https://github.com/eclipse-ee4j/mojarra configurations: - name: otel.instrumentation.common.experimental.controller-telemetry.enabled + declarative_name: java.common.controller_telemetry/development.enabled description: Enables the creation of experimental controller spans. type: boolean default: false diff --git a/instrumentation/jsf/jsf-mojarra-3.0/javaagent/build.gradle.kts b/instrumentation/jsf/jsf-mojarra-3.0/javaagent/build.gradle.kts index 23bb85ccf0c3..266294e64478 100644 --- a/instrumentation/jsf/jsf-mojarra-3.0/javaagent/build.gradle.kts +++ b/instrumentation/jsf/jsf-mojarra-3.0/javaagent/build.gradle.kts @@ -7,8 +7,8 @@ muzzle { group.set("org.glassfish") module.set("jakarta.faces") versions.set("[3,)") - extraDependency("jakarta.el:jakarta.el-api:4.0.0") assertInverse.set(true) + extraDependency("jakarta.el:jakarta.el-api:4.0.0") } } @@ -38,7 +38,7 @@ dependencies { } tasks { - withType().configureEach { + test { jvmArgs("-Dotel.instrumentation.common.experimental.controller-telemetry.enabled=true") systemProperty("collectMetadata", otelProps.collectMetadata) systemProperty("metadataConfig", "otel.instrumentation.common.experimental.controller-telemetry.enabled=true") diff --git a/instrumentation/jsf/jsf-myfaces-1.2/javaagent/build.gradle.kts b/instrumentation/jsf/jsf-myfaces-1.2/javaagent/build.gradle.kts index 80b019d33d0c..1b4945351ca4 100644 --- a/instrumentation/jsf/jsf-myfaces-1.2/javaagent/build.gradle.kts +++ b/instrumentation/jsf/jsf-myfaces-1.2/javaagent/build.gradle.kts @@ -7,8 +7,8 @@ muzzle { group.set("org.apache.myfaces.core") module.set("myfaces-impl") versions.set("[1.2,3)") - extraDependency("jakarta.el:jakarta.el-api:3.0.3") assertInverse.set(true) + extraDependency("jakarta.el:jakarta.el-api:3.0.3") } } diff --git a/instrumentation/jsf/jsf-myfaces-3.0/javaagent/build.gradle.kts b/instrumentation/jsf/jsf-myfaces-3.0/javaagent/build.gradle.kts index fd16ed0e15cf..e6c77dc98fa7 100644 --- a/instrumentation/jsf/jsf-myfaces-3.0/javaagent/build.gradle.kts +++ b/instrumentation/jsf/jsf-myfaces-3.0/javaagent/build.gradle.kts @@ -38,7 +38,7 @@ dependencies { } tasks { - withType().configureEach { + test { jvmArgs("-Dotel.instrumentation.common.experimental.controller-telemetry.enabled=true") systemProperty("collectMetadata", otelProps.collectMetadata) systemProperty("metadataConfig", "otel.instrumentation.common.experimental.controller-telemetry.enabled=true") diff --git a/instrumentation/jsp-2.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jsp/v2_3/JspSpanAssertions.java b/instrumentation/jsp-2.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jsp/v2_3/JspSpanAssertions.java index b0ca4f05a423..21203336920e 100644 --- a/instrumentation/jsp-2.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jsp/v2_3/JspSpanAssertions.java +++ b/instrumentation/jsp-2.3/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jsp/v2_3/JspSpanAssertions.java @@ -31,7 +31,7 @@ import io.opentelemetry.sdk.trace.data.StatusData; class JspSpanAssertions { - static final boolean EXPERIMENTAL_ATTRIBUTES = + private static final boolean EXPERIMENTAL_ATTRIBUTES = Boolean.getBoolean("otel.instrumentation.jsp.experimental-span-attributes"); private final String baseUrl; @@ -162,6 +162,8 @@ void assertRenderSpan(SpanDataAssert span, JspSpan spanData) { val.satisfiesAnyOf( v -> assertThat(spanData.getForwardOrigin()).isNull(), v -> assertThat(v).isEqualTo(spanData.getForwardOrigin())))); + } else { + span.hasTotalAttributeCount(0); } } } diff --git a/instrumentation/kafka/kafka-clients/kafka-clients-0.11/bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/kafka/KafkaClientsConsumerProcessTracing.java b/instrumentation/kafka/kafka-clients/kafka-clients-0.11/bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/kafka/KafkaClientsConsumerProcessTracing.java index d85e7592c908..7819d0309c9d 100644 --- a/instrumentation/kafka/kafka-clients/kafka-clients-0.11/bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/kafka/KafkaClientsConsumerProcessTracing.java +++ b/instrumentation/kafka/kafka-clients/kafka-clients-0.11/bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/kafka/KafkaClientsConsumerProcessTracing.java @@ -14,7 +14,7 @@ public final class KafkaClientsConsumerProcessTracing { private static final ThreadLocal wrappingEnabled = ThreadLocal.withInitial(() -> true); - public static boolean setEnabled(boolean enabled) { + public static boolean setWrappingEnabled(boolean enabled) { boolean previous = wrappingEnabled.get(); wrappingEnabled.set(enabled); return previous; diff --git a/instrumentation/kafka/kafka-clients/kafka-clients-0.11/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/kafkaclients/v0_11/KafkaConsumerInstrumentation.java b/instrumentation/kafka/kafka-clients/kafka-clients-0.11/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/kafkaclients/v0_11/KafkaConsumerInstrumentation.java index 374c8caffa75..05f845d02b4e 100644 --- a/instrumentation/kafka/kafka-clients/kafka-clients-0.11/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/kafkaclients/v0_11/KafkaConsumerInstrumentation.java +++ b/instrumentation/kafka/kafka-clients/kafka-clients-0.11/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/kafkaclients/v0_11/KafkaConsumerInstrumentation.java @@ -70,7 +70,7 @@ public static void onExit( KafkaReceiveRequest request = KafkaReceiveRequest.create(records, consumer); // disable process tracing and store the receive span for each individual record too - boolean previousValue = KafkaClientsConsumerProcessTracing.setEnabled(false); + boolean previousValue = KafkaClientsConsumerProcessTracing.setWrappingEnabled(false); try { Context context = null; if (consumerReceiveInstrumenter().shouldStart(parentContext, request)) { @@ -97,7 +97,7 @@ public static void onExit( KafkaConsumerContextUtil.set(record, context, consumer); } } finally { - KafkaClientsConsumerProcessTracing.setEnabled(previousValue); + KafkaClientsConsumerProcessTracing.setWrappingEnabled(previousValue); } } } diff --git a/instrumentation/kafka/kafka-connect-2.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/kafkaconnect/v2_6/WorkerSinkTaskInstrumentation.java b/instrumentation/kafka/kafka-connect-2.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/kafkaconnect/v2_6/WorkerSinkTaskInstrumentation.java index af22dde92b5b..d2576c3af110 100644 --- a/instrumentation/kafka/kafka-connect-2.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/kafkaconnect/v2_6/WorkerSinkTaskInstrumentation.java +++ b/instrumentation/kafka/kafka-connect-2.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/kafkaconnect/v2_6/WorkerSinkTaskInstrumentation.java @@ -39,12 +39,12 @@ public static class ExecuteAdvice { @Advice.OnMethodEnter(suppress = Throwable.class, inline = false) public static boolean onEnter() { - return KafkaClientsConsumerProcessTracing.setEnabled(false); + return KafkaClientsConsumerProcessTracing.setWrappingEnabled(false); } @Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class, inline = false) public static void onExit(@Advice.Enter boolean previousValue) { - KafkaClientsConsumerProcessTracing.setEnabled(previousValue); + KafkaClientsConsumerProcessTracing.setWrappingEnabled(previousValue); } } } diff --git a/instrumentation/kafka/kafka-streams-0.11/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/kafkastreams/v0_11/StreamThreadInstrumentation.java b/instrumentation/kafka/kafka-streams-0.11/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/kafkastreams/v0_11/StreamThreadInstrumentation.java index 1aa4809520d3..db34fa5a0eaf 100644 --- a/instrumentation/kafka/kafka-streams-0.11/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/kafkastreams/v0_11/StreamThreadInstrumentation.java +++ b/instrumentation/kafka/kafka-streams-0.11/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/kafkastreams/v0_11/StreamThreadInstrumentation.java @@ -31,12 +31,12 @@ public void transform(TypeTransformer transformer) { public static class RunLoopAdvice { @Advice.OnMethodEnter(suppress = Throwable.class, inline = false) public static boolean onEnter() { - return KafkaClientsConsumerProcessTracing.setEnabled(false); + return KafkaClientsConsumerProcessTracing.setWrappingEnabled(false); } @Advice.OnMethodExit(suppress = Throwable.class, inline = false) public static void onExit(@Advice.Enter boolean previousValue) { - KafkaClientsConsumerProcessTracing.setEnabled(previousValue); + KafkaClientsConsumerProcessTracing.setWrappingEnabled(previousValue); } } } diff --git a/instrumentation/reactor/reactor-kafka-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactor/kafka/v1_0/TracingDisablingKafkaFlux.java b/instrumentation/reactor/reactor-kafka-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactor/kafka/v1_0/TracingDisablingKafkaFlux.java index 5f397262987a..6259d4a87355 100644 --- a/instrumentation/reactor/reactor-kafka-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactor/kafka/v1_0/TracingDisablingKafkaFlux.java +++ b/instrumentation/reactor/reactor-kafka-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactor/kafka/v1_0/TracingDisablingKafkaFlux.java @@ -51,11 +51,11 @@ public Context currentContext() { @Override public void onNext(T record) { - boolean previous = KafkaClientsConsumerProcessTracing.setEnabled(false); + boolean previous = KafkaClientsConsumerProcessTracing.setWrappingEnabled(false); try { actual.onNext(record); } finally { - KafkaClientsConsumerProcessTracing.setEnabled(previous); + KafkaClientsConsumerProcessTracing.setWrappingEnabled(previous); } } diff --git a/instrumentation/spring/spring-kafka-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/kafka/v2_7/ListenerConsumerInstrumentation.java b/instrumentation/spring/spring-kafka-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/kafka/v2_7/ListenerConsumerInstrumentation.java index 5ea326b49d74..97feb0382cd8 100644 --- a/instrumentation/spring/spring-kafka-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/kafka/v2_7/ListenerConsumerInstrumentation.java +++ b/instrumentation/spring/spring-kafka-2.7/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/kafka/v2_7/ListenerConsumerInstrumentation.java @@ -50,12 +50,12 @@ public static class RunLoopAdvice { @Advice.OnMethodEnter(suppress = Throwable.class, inline = false) public static boolean onEnter() { - return KafkaClientsConsumerProcessTracing.setEnabled(false); + return KafkaClientsConsumerProcessTracing.setWrappingEnabled(false); } @Advice.OnMethodExit(suppress = Throwable.class, inline = false) public static void onExit(@Advice.Enter boolean previousValue) { - KafkaClientsConsumerProcessTracing.setEnabled(previousValue); + KafkaClientsConsumerProcessTracing.setWrappingEnabled(previousValue); } } diff --git a/instrumentation/vertx/vertx-kafka-client-3.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/kafkaclient/v3_6/InstrumentedBatchRecordsHandler.java b/instrumentation/vertx/vertx-kafka-client-3.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/kafkaclient/v3_6/InstrumentedBatchRecordsHandler.java index 269850a54fd3..47c821ee29fc 100644 --- a/instrumentation/vertx/vertx-kafka-client-3.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/kafkaclient/v3_6/InstrumentedBatchRecordsHandler.java +++ b/instrumentation/vertx/vertx-kafka-client-3.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/kafkaclient/v3_6/InstrumentedBatchRecordsHandler.java @@ -39,7 +39,7 @@ public void handle(ConsumerRecords records) { } // the instrumenter iterates over records when adding links, we need to suppress that - boolean previousWrappingEnabled = KafkaClientsConsumerProcessTracing.setEnabled(false); + boolean previousWrappingEnabled = KafkaClientsConsumerProcessTracing.setWrappingEnabled(false); try { Context context = batchProcessInstrumenter().start(parentContext, request); try (Scope ignored = context.makeCurrent()) { @@ -50,7 +50,7 @@ public void handle(ConsumerRecords records) { } batchProcessInstrumenter().end(context, request, null, null); } finally { - KafkaClientsConsumerProcessTracing.setEnabled(previousWrappingEnabled); + KafkaClientsConsumerProcessTracing.setWrappingEnabled(previousWrappingEnabled); } } diff --git a/instrumentation/vertx/vertx-kafka-client-3.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/kafkaclient/v3_6/KafkaConsumerRecordsImplInstrumentation.java b/instrumentation/vertx/vertx-kafka-client-3.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/kafkaclient/v3_6/KafkaConsumerRecordsImplInstrumentation.java index edfbb63b99c2..29c4d8d90f4b 100644 --- a/instrumentation/vertx/vertx-kafka-client-3.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/kafkaclient/v3_6/KafkaConsumerRecordsImplInstrumentation.java +++ b/instrumentation/vertx/vertx-kafka-client-3.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/kafkaclient/v3_6/KafkaConsumerRecordsImplInstrumentation.java @@ -39,12 +39,12 @@ public static class RecordAtAdvice { @Advice.OnMethodEnter(suppress = Throwable.class, inline = false) public static boolean onEnter() { - return KafkaClientsConsumerProcessTracing.setEnabled(false); + return KafkaClientsConsumerProcessTracing.setWrappingEnabled(false); } @Advice.OnMethodExit(suppress = Throwable.class, onThrowable = Throwable.class, inline = false) public static void onExit(@Advice.Enter boolean previousValue) { - KafkaClientsConsumerProcessTracing.setEnabled(previousValue); + KafkaClientsConsumerProcessTracing.setWrappingEnabled(previousValue); } } } diff --git a/instrumentation/vertx/vertx-kafka-client-3.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/kafkaclient/v3_6/KafkaReadStreamImplInstrumentation.java b/instrumentation/vertx/vertx-kafka-client-3.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/kafkaclient/v3_6/KafkaReadStreamImplInstrumentation.java index f3972ef7701a..ecbd6f49292f 100644 --- a/instrumentation/vertx/vertx-kafka-client-3.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/kafkaclient/v3_6/KafkaReadStreamImplInstrumentation.java +++ b/instrumentation/vertx/vertx-kafka-client-3.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/kafkaclient/v3_6/KafkaReadStreamImplInstrumentation.java @@ -84,12 +84,12 @@ public static class RunAdvice { @Advice.OnMethodEnter(suppress = Throwable.class, inline = false) public static boolean onEnter() { - return KafkaClientsConsumerProcessTracing.setEnabled(false); + return KafkaClientsConsumerProcessTracing.setWrappingEnabled(false); } @Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class, inline = false) public static void onExit(@Advice.Enter boolean previousValue) { - KafkaClientsConsumerProcessTracing.setEnabled(previousValue); + KafkaClientsConsumerProcessTracing.setWrappingEnabled(previousValue); } } }