Browse Source

Disable jaxws annotation instrumentation when controller telemetry is not enabled (#10193)

Lauri Tulmin 1 year ago
parent
commit
9c1de50343

+ 1 - 0
instrumentation/jaxws/jaxws-jws-api-1.1/javaagent/build.gradle.kts

@@ -14,6 +14,7 @@ dependencies {
   library("javax.jws:javax.jws-api:1.1")
   implementation(project(":instrumentation:jaxws:jaxws-common:javaagent"))
 }
+
 tasks.withType<Test>().configureEach {
   jvmArgs("-Dotel.instrumentation.common.experimental.controller-telemetry.enabled=true")
 }

+ 8 - 0
instrumentation/jaxws/jaxws-jws-api-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxws/jws/v1_1/JwsInstrumentationModule.java

@@ -6,8 +6,10 @@
 package io.opentelemetry.javaagent.instrumentation.jaxws.jws.v1_1;
 
 import com.google.auto.service.AutoService;
+import io.opentelemetry.javaagent.bootstrap.internal.ExperimentalConfig;
 import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
 import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
+import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
 import java.util.Collections;
 import java.util.List;
 
@@ -22,4 +24,10 @@ public class JwsInstrumentationModule extends InstrumentationModule {
   public List<TypeInstrumentation> typeInstrumentations() {
     return Collections.singletonList(new JwsAnnotationsInstrumentation());
   }
+
+  @Override
+  public boolean defaultEnabled(ConfigProperties config) {
+    // this instrumentation only produces controller telemetry
+    return ExperimentalConfig.get().controllerTelemetryEnabled();
+  }
 }