Przeglądaj źródła

jax-rs: replace common singleton with factory (#5961)

Lauri Tulmin 2 lat temu
rodzic
commit
4bd8956dd3
19 zmienionych plików z 180 dodań i 94 usunięć
  1. 1 1
      instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-annotations/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/ContainerRequestFilterInstrumentation.java
  2. 3 3
      instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-annotations/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/DefaultRequestContextInstrumentation.java
  3. 3 2
      instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-annotations/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JaxrsAnnotationsInstrumentation.java
  4. 20 0
      instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-annotations/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JaxrsAnnotationsSingletons.java
  5. 1 1
      instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-annotations/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JaxrsAsyncResponseInstrumentation.java
  6. 6 4
      instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/CompletionStageFinishCallback.java
  7. 15 0
      instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JaxrsConstants.java
  8. 29 0
      instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JaxrsInstrumenterFactory.java
  9. 0 43
      instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JaxrsSingletons.java
  10. 7 6
      instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/RequestContextHelper.java
  11. 3 3
      instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-cxf-3.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/CxfRequestContextInstrumentation.java
  12. 20 0
      instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-cxf-3.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/CxfSingletons.java
  13. 4 3
      instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-jersey-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JerseyRequestContextInstrumentation.java
  14. 20 0
      instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-jersey-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JerseySingletons.java
  15. 4 3
      instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-resteasy-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/Resteasy30RequestContextInstrumentation.java
  16. 20 0
      instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-resteasy-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/Resteasy30Singletons.java
  17. 4 3
      instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-resteasy-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/Resteasy31RequestContextInstrumentation.java
  18. 20 0
      instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-resteasy-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/Resteasy31Singletons.java
  19. 0 22
      instrumentation/jaxws/jaxws-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxws/v2_0/WebServiceProviderSingletons.java

+ 1 - 1
instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-annotations/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/ContainerRequestFilterInstrumentation.java

@@ -53,7 +53,7 @@ public class ContainerRequestFilterInstrumentation implements TypeInstrumentatio
     public static void setFilterClass(
         @Advice.This ContainerRequestFilter filter,
         @Advice.Argument(0) ContainerRequestContext context) {
-      context.setProperty(JaxrsSingletons.ABORT_FILTER_CLASS, filter.getClass());
+      context.setProperty(JaxrsConstants.ABORT_FILTER_CLASS, filter.getClass());
     }
   }
 }

+ 3 - 3
instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-annotations/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/DefaultRequestContextInstrumentation.java

@@ -5,7 +5,7 @@
 
 package io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0;
 
-import static io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0.JaxrsSingletons.instrumenter;
+import static io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0.JaxrsAnnotationsSingletons.instrumenter;
 
 import io.opentelemetry.context.Context;
 import io.opentelemetry.context.Scope;
@@ -41,12 +41,12 @@ public class DefaultRequestContextInstrumentation extends AbstractRequestContext
         @Local("otelHandlerData") HandlerData handlerData,
         @Local("otelContext") Context context,
         @Local("otelScope") Scope scope) {
-      if (requestContext.getProperty(JaxrsSingletons.ABORT_HANDLED) != null) {
+      if (requestContext.getProperty(JaxrsConstants.ABORT_HANDLED) != null) {
         return;
       }
 
       Class<?> filterClass =
-          (Class<?>) requestContext.getProperty(JaxrsSingletons.ABORT_FILTER_CLASS);
+          (Class<?>) requestContext.getProperty(JaxrsConstants.ABORT_FILTER_CLASS);
       Method method = null;
       try {
         method = filterClass.getMethod("filter", ContainerRequestContext.class);

+ 3 - 2
instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-annotations/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JaxrsAnnotationsInstrumentation.java

@@ -8,7 +8,7 @@ package io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0;
 import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasClassesNamed;
 import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasSuperMethod;
 import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasSuperType;
-import static io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0.JaxrsSingletons.instrumenter;
+import static io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0.JaxrsAnnotationsSingletons.instrumenter;
 import static net.bytebuddy.matcher.ElementMatchers.declaresMethod;
 import static net.bytebuddy.matcher.ElementMatchers.isAnnotatedWith;
 import static net.bytebuddy.matcher.ElementMatchers.isMethod;
@@ -156,7 +156,8 @@ public class JaxrsAnnotationsInstrumentation implements TypeInstrumentation {
       if (asyncReturnValue != null) {
         // span finished by CompletionStageFinishCallback
         asyncReturnValue =
-            asyncReturnValue.handle(new CompletionStageFinishCallback<>(context, handlerData));
+            asyncReturnValue.handle(
+                new CompletionStageFinishCallback<>(instrumenter(), context, handlerData));
       }
       if ((asyncResponse == null || !asyncResponse.isSuspended()) && asyncReturnValue == null) {
         instrumenter().end(context, handlerData, null, null);

+ 20 - 0
instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-annotations/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JaxrsAnnotationsSingletons.java

@@ -0,0 +1,20 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0;
+
+import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
+
+public final class JaxrsAnnotationsSingletons {
+
+  private static final Instrumenter<HandlerData, Void> INSTANCE =
+      JaxrsInstrumenterFactory.createInstrumenter("io.opentelemetry.jaxrs-annotations-2.0");
+
+  public static Instrumenter<HandlerData, Void> instrumenter() {
+    return INSTANCE;
+  }
+
+  private JaxrsAnnotationsSingletons() {}
+}

+ 1 - 1
instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-annotations/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JaxrsAsyncResponseInstrumentation.java

@@ -7,7 +7,7 @@ package io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0;
 
 import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasClassesNamed;
 import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface;
-import static io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0.JaxrsSingletons.instrumenter;
+import static io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0.JaxrsAnnotationsSingletons.instrumenter;
 import static net.bytebuddy.matcher.ElementMatchers.isPublic;
 import static net.bytebuddy.matcher.ElementMatchers.named;
 import static net.bytebuddy.matcher.ElementMatchers.takesArgument;

+ 6 - 4
instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/CompletionStageFinishCallback.java

@@ -5,23 +5,25 @@
 
 package io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0;
 
-import static io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0.JaxrsSingletons.instrumenter;
-
 import io.opentelemetry.context.Context;
+import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
 import java.util.function.BiFunction;
 
 public class CompletionStageFinishCallback<T> implements BiFunction<T, Throwable, T> {
+  private final Instrumenter<HandlerData, Void> instrumenter;
   private final Context context;
   private final HandlerData handlerData;
 
-  public CompletionStageFinishCallback(Context context, HandlerData handlerData) {
+  public CompletionStageFinishCallback(
+      Instrumenter<HandlerData, Void> instrumenter, Context context, HandlerData handlerData) {
+    this.instrumenter = instrumenter;
     this.context = context;
     this.handlerData = handlerData;
   }
 
   @Override
   public T apply(T result, Throwable throwable) {
-    instrumenter().end(context, handlerData, null, throwable);
+    instrumenter.end(context, handlerData, null, throwable);
     return result;
   }
 }

+ 15 - 0
instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JaxrsConstants.java

@@ -0,0 +1,15 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0;
+
+final class JaxrsConstants {
+  public static final String ABORT_FILTER_CLASS =
+      "io.opentelemetry.javaagent.instrumentation.jaxrs2.filter.abort.class";
+  public static final String ABORT_HANDLED =
+      "io.opentelemetry.javaagent.instrumentation.jaxrs2.filter.abort.handled";
+
+  private JaxrsConstants() {}
+}

+ 29 - 0
instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JaxrsInstrumenterFactory.java

@@ -0,0 +1,29 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0;
+
+import io.opentelemetry.api.GlobalOpenTelemetry;
+import io.opentelemetry.instrumentation.api.config.ExperimentalConfig;
+import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
+import io.opentelemetry.instrumentation.api.instrumenter.code.CodeAttributesExtractor;
+import io.opentelemetry.instrumentation.api.instrumenter.code.CodeSpanNameExtractor;
+
+final class JaxrsInstrumenterFactory {
+
+  public static Instrumenter<HandlerData, Void> createInstrumenter(String instrumentationName) {
+    JaxrsCodeAttributesGetter codeAttributesGetter = new JaxrsCodeAttributesGetter();
+
+    return Instrumenter.<HandlerData, Void>builder(
+            GlobalOpenTelemetry.get(),
+            instrumentationName,
+            CodeSpanNameExtractor.create(codeAttributesGetter))
+        .addAttributesExtractor(CodeAttributesExtractor.create(codeAttributesGetter))
+        .setEnabled(ExperimentalConfig.get().controllerTelemetryEnabled())
+        .newInstrumenter();
+  }
+
+  private JaxrsInstrumenterFactory() {}
+}

+ 0 - 43
instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JaxrsSingletons.java

@@ -1,43 +0,0 @@
-/*
- * Copyright The OpenTelemetry Authors
- * SPDX-License-Identifier: Apache-2.0
- */
-
-package io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0;
-
-import io.opentelemetry.api.GlobalOpenTelemetry;
-import io.opentelemetry.instrumentation.api.config.ExperimentalConfig;
-import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
-import io.opentelemetry.instrumentation.api.instrumenter.code.CodeAttributesExtractor;
-import io.opentelemetry.instrumentation.api.instrumenter.code.CodeSpanNameExtractor;
-
-public final class JaxrsSingletons {
-
-  public static final String ABORT_FILTER_CLASS =
-      "io.opentelemetry.javaagent.instrumentation.jaxrs2.filter.abort.class";
-  public static final String ABORT_HANDLED =
-      "io.opentelemetry.javaagent.instrumentation.jaxrs2.filter.abort.handled";
-
-  private static final String INSTRUMENTATION_NAME = "io.opentelemetry.jaxrs-2.0-common";
-
-  private static final Instrumenter<HandlerData, Void> INSTRUMENTER;
-
-  static {
-    JaxrsCodeAttributesGetter codeAttributesGetter = new JaxrsCodeAttributesGetter();
-
-    INSTRUMENTER =
-        Instrumenter.<HandlerData, Void>builder(
-                GlobalOpenTelemetry.get(),
-                INSTRUMENTATION_NAME,
-                CodeSpanNameExtractor.create(codeAttributesGetter))
-            .addAttributesExtractor(CodeAttributesExtractor.create(codeAttributesGetter))
-            .setEnabled(ExperimentalConfig.get().controllerTelemetryEnabled())
-            .newInstrumenter();
-  }
-
-  public static Instrumenter<HandlerData, Void> instrumenter() {
-    return INSTRUMENTER;
-  }
-
-  private JaxrsSingletons() {}
-}

+ 7 - 6
instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/RequestContextHelper.java

@@ -5,10 +5,9 @@
 
 package io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0;
 
-import static io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0.JaxrsSingletons.instrumenter;
-
 import io.opentelemetry.api.trace.Span;
 import io.opentelemetry.context.Context;
+import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
 import io.opentelemetry.instrumentation.api.instrumenter.LocalRootSpan;
 import io.opentelemetry.instrumentation.api.instrumenter.http.HttpRouteHolder;
 import io.opentelemetry.instrumentation.api.instrumenter.http.HttpRouteSource;
@@ -17,13 +16,15 @@ import javax.ws.rs.container.ContainerRequestContext;
 
 public final class RequestContextHelper {
   public static Context createOrUpdateAbortSpan(
-      ContainerRequestContext requestContext, HandlerData handlerData) {
+      Instrumenter<HandlerData, Void> instrumenter,
+      ContainerRequestContext requestContext,
+      HandlerData handlerData) {
 
     if (handlerData == null) {
       return null;
     }
 
-    requestContext.setProperty(JaxrsSingletons.ABORT_HANDLED, true);
+    requestContext.setProperty(JaxrsConstants.ABORT_HANDLED, true);
     Context parentContext = Java8BytecodeBridge.currentContext();
     Span serverSpan = LocalRootSpan.fromContextOrNull(parentContext);
     Span currentSpan = Java8BytecodeBridge.spanFromContext(parentContext);
@@ -40,11 +41,11 @@ public final class RequestContextHelper {
       return null;
     }
 
-    if (!instrumenter().shouldStart(parentContext, handlerData)) {
+    if (!instrumenter.shouldStart(parentContext, handlerData)) {
       return null;
     }
 
-    return instrumenter().start(parentContext, handlerData);
+    return instrumenter.start(parentContext, handlerData);
   }
 
   private RequestContextHelper() {}

+ 3 - 3
instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-cxf-3.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/CxfRequestContextInstrumentation.java

@@ -5,7 +5,7 @@
 
 package io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0;
 
-import static io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0.JaxrsSingletons.instrumenter;
+import static io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0.CxfSingletons.instrumenter;
 import static net.bytebuddy.matcher.ElementMatchers.isMethod;
 import static net.bytebuddy.matcher.ElementMatchers.named;
 import static net.bytebuddy.matcher.ElementMatchers.takesArgument;
@@ -63,7 +63,7 @@ public class CxfRequestContextInstrumentation implements TypeInstrumentation {
         @Local("otelContext") Context context,
         @Local("otelScope") Scope scope) {
 
-      if (requestContext.getProperty(JaxrsSingletons.ABORT_HANDLED) != null
+      if (requestContext.getProperty(JaxrsConstants.ABORT_HANDLED) != null
           || !(requestContext instanceof ContainerRequestContext)) {
         return;
       }
@@ -83,7 +83,7 @@ public class CxfRequestContextInstrumentation implements TypeInstrumentation {
       handlerData = new HandlerData(resourceClass, method);
       context =
           RequestContextHelper.createOrUpdateAbortSpan(
-              (ContainerRequestContext) requestContext, handlerData);
+              instrumenter(), (ContainerRequestContext) requestContext, handlerData);
       if (context != null) {
         scope = context.makeCurrent();
       }

+ 20 - 0
instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-cxf-3.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/CxfSingletons.java

@@ -0,0 +1,20 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0;
+
+import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
+
+public final class CxfSingletons {
+
+  private static final Instrumenter<HandlerData, Void> INSTANCE =
+      JaxrsInstrumenterFactory.createInstrumenter("io.opentelemetry.cxf-jaxrs-3.2");
+
+  public static Instrumenter<HandlerData, Void> instrumenter() {
+    return INSTANCE;
+  }
+
+  private CxfSingletons() {}
+}

+ 4 - 3
instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-jersey-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JerseyRequestContextInstrumentation.java

@@ -5,7 +5,7 @@
 
 package io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0;
 
-import static io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0.JaxrsSingletons.instrumenter;
+import static io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0.JerseySingletons.instrumenter;
 
 import io.opentelemetry.context.Context;
 import io.opentelemetry.context.Scope;
@@ -42,7 +42,7 @@ public class JerseyRequestContextInstrumentation extends AbstractRequestContextI
         @Local("otelScope") Scope scope) {
       UriInfo uriInfo = requestContext.getUriInfo();
 
-      if (requestContext.getProperty(JaxrsSingletons.ABORT_HANDLED) != null
+      if (requestContext.getProperty(JaxrsConstants.ABORT_HANDLED) != null
           || !(uriInfo instanceof ResourceInfo)) {
         return;
       }
@@ -56,7 +56,8 @@ public class JerseyRequestContextInstrumentation extends AbstractRequestContextI
       }
 
       handlerData = new HandlerData(resourceClass, method);
-      context = RequestContextHelper.createOrUpdateAbortSpan(requestContext, handlerData);
+      context =
+          RequestContextHelper.createOrUpdateAbortSpan(instrumenter(), requestContext, handlerData);
       if (context != null) {
         scope = context.makeCurrent();
       }

+ 20 - 0
instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-jersey-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/JerseySingletons.java

@@ -0,0 +1,20 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0;
+
+import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
+
+public final class JerseySingletons {
+
+  private static final Instrumenter<HandlerData, Void> INSTANCE =
+      JaxrsInstrumenterFactory.createInstrumenter("io.opentelemetry.jersey-2.0");
+
+  public static Instrumenter<HandlerData, Void> instrumenter() {
+    return INSTANCE;
+  }
+
+  private JerseySingletons() {}
+}

+ 4 - 3
instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-resteasy-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/Resteasy30RequestContextInstrumentation.java

@@ -5,7 +5,7 @@
 
 package io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0;
 
-import static io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0.JaxrsSingletons.instrumenter;
+import static io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0.Resteasy30Singletons.instrumenter;
 
 import io.opentelemetry.context.Context;
 import io.opentelemetry.context.Scope;
@@ -41,7 +41,7 @@ public class Resteasy30RequestContextInstrumentation extends AbstractRequestCont
         @Local("otelHandlerData") HandlerData handlerData,
         @Local("otelContext") Context context,
         @Local("otelScope") Scope scope) {
-      if (requestContext.getProperty(JaxrsSingletons.ABORT_HANDLED) != null
+      if (requestContext.getProperty(JaxrsConstants.ABORT_HANDLED) != null
           || !(requestContext instanceof PostMatchContainerRequestContext)) {
         return;
       }
@@ -52,7 +52,8 @@ public class Resteasy30RequestContextInstrumentation extends AbstractRequestCont
       Class<?> resourceClass = resourceMethodInvoker.getResourceClass();
 
       handlerData = new HandlerData(resourceClass, method);
-      context = RequestContextHelper.createOrUpdateAbortSpan(requestContext, handlerData);
+      context =
+          RequestContextHelper.createOrUpdateAbortSpan(instrumenter(), requestContext, handlerData);
       if (context != null) {
         scope = context.makeCurrent();
       }

+ 20 - 0
instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-resteasy-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/Resteasy30Singletons.java

@@ -0,0 +1,20 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0;
+
+import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
+
+public final class Resteasy30Singletons {
+
+  private static final Instrumenter<HandlerData, Void> INSTANCE =
+      JaxrsInstrumenterFactory.createInstrumenter("io.opentelemetry.resteasy-3.0");
+
+  public static Instrumenter<HandlerData, Void> instrumenter() {
+    return INSTANCE;
+  }
+
+  private Resteasy30Singletons() {}
+}

+ 4 - 3
instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-resteasy-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/Resteasy31RequestContextInstrumentation.java

@@ -5,7 +5,7 @@
 
 package io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0;
 
-import static io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0.JaxrsSingletons.instrumenter;
+import static io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0.Resteasy31Singletons.instrumenter;
 
 import io.opentelemetry.context.Context;
 import io.opentelemetry.context.Scope;
@@ -41,7 +41,7 @@ public class Resteasy31RequestContextInstrumentation extends AbstractRequestCont
         @Local("otelHandlerData") HandlerData handlerData,
         @Local("otelContext") Context context,
         @Local("otelScope") Scope scope) {
-      if (requestContext.getProperty(JaxrsSingletons.ABORT_HANDLED) != null
+      if (requestContext.getProperty(JaxrsConstants.ABORT_HANDLED) != null
           || !(requestContext instanceof PostMatchContainerRequestContext)) {
         return;
       }
@@ -52,7 +52,8 @@ public class Resteasy31RequestContextInstrumentation extends AbstractRequestCont
       Class<?> resourceClass = resourceMethodInvoker.getResourceClass();
 
       handlerData = new HandlerData(resourceClass, method);
-      context = RequestContextHelper.createOrUpdateAbortSpan(requestContext, handlerData);
+      context =
+          RequestContextHelper.createOrUpdateAbortSpan(instrumenter(), requestContext, handlerData);
       if (context != null) {
         scope = context.makeCurrent();
       }

+ 20 - 0
instrumentation/jaxrs/jaxrs-2.0/jaxrs-2.0-resteasy-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v2_0/Resteasy31Singletons.java

@@ -0,0 +1,20 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package io.opentelemetry.javaagent.instrumentation.jaxrs.v2_0;
+
+import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
+
+public final class Resteasy31Singletons {
+
+  private static final Instrumenter<HandlerData, Void> INSTANCE =
+      JaxrsInstrumenterFactory.createInstrumenter("io.opentelemetry.resteasy-3.1");
+
+  public static Instrumenter<HandlerData, Void> instrumenter() {
+    return INSTANCE;
+  }
+
+  private Resteasy31Singletons() {}
+}

+ 0 - 22
instrumentation/jaxws/jaxws-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxws/v2_0/WebServiceProviderSingletons.java

@@ -1,22 +0,0 @@
-/*
- * Copyright The OpenTelemetry Authors
- * SPDX-License-Identifier: Apache-2.0
- */
-
-package io.opentelemetry.javaagent.instrumentation.jaxws.v2_0;
-
-import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
-import io.opentelemetry.javaagent.instrumentation.jaxws.common.JaxWsInstrumenterFactory;
-import io.opentelemetry.javaagent.instrumentation.jaxws.common.JaxWsRequest;
-
-public final class WebServiceProviderSingletons {
-
-  private static final Instrumenter<JaxWsRequest, Void> INSTANCE =
-      JaxWsInstrumenterFactory.createInstrumenter("io.opentelemetry.jaxws-2.0");
-
-  public static Instrumenter<JaxWsRequest, Void> instrumenter() {
-    return INSTANCE;
-  }
-
-  private WebServiceProviderSingletons() {}
-}