Skip to content

Commit 04c59a2

Browse files
committed
virtualfield 3
1 parent be189c5 commit 04c59a2

File tree

4 files changed

+17
-11
lines changed

4 files changed

+17
-11
lines changed

instrumentation/jaxrs/jaxrs-3.0/jaxrs-3.0-resteasy-6.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v3_0/ResteasyResourceLocatorInvokerInstrumentation.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55

66
package io.opentelemetry.javaagent.instrumentation.jaxrs.v3_0;
77

8+
import static io.opentelemetry.javaagent.instrumentation.jaxrs.v3_0.ResteasySingletons.LOCATOR_NAME;
89
import static net.bytebuddy.matcher.ElementMatchers.named;
910
import static net.bytebuddy.matcher.ElementMatchers.takesArgument;
1011

1112
import io.opentelemetry.context.Context;
1213
import io.opentelemetry.context.Scope;
13-
import io.opentelemetry.instrumentation.api.util.VirtualField;
1414
import io.opentelemetry.javaagent.bootstrap.Java8BytecodeBridge;
1515
import io.opentelemetry.javaagent.bootstrap.jaxrs.JaxrsContextPath;
1616
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
@@ -47,8 +47,7 @@ public static Scope onEnter(@Advice.This ResourceLocatorInvoker resourceInvoker)
4747

4848
Context currentContext = Java8BytecodeBridge.currentContext();
4949

50-
String name =
51-
VirtualField.find(ResourceLocatorInvoker.class, String.class).get(resourceInvoker);
50+
String name = LOCATOR_NAME.get(resourceInvoker);
5251
ResteasySpanName.INSTANCE.updateServerSpanName(currentContext, name);
5352

5453
// subresource locator returns a resources class that may have @Path annotations

instrumentation/jaxrs/jaxrs-3.0/jaxrs-3.0-resteasy-6.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v3_0/ResteasyResourceMethodInvokerInstrumentation.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55

66
package io.opentelemetry.javaagent.instrumentation.jaxrs.v3_0;
77

8+
import static io.opentelemetry.javaagent.instrumentation.jaxrs.v3_0.ResteasySingletons.INVOKER_NAME;
89
import static net.bytebuddy.matcher.ElementMatchers.named;
910
import static net.bytebuddy.matcher.ElementMatchers.takesArgument;
1011

11-
import io.opentelemetry.instrumentation.api.util.VirtualField;
1212
import io.opentelemetry.javaagent.bootstrap.Java8BytecodeBridge;
1313
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
1414
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;
@@ -39,8 +39,7 @@ public static class InvokeOnTargetAdvice {
3939
@Advice.OnMethodEnter(suppress = Throwable.class)
4040
public static void onEnter(@Advice.This ResourceMethodInvoker resourceInvoker) {
4141

42-
String name =
43-
VirtualField.find(ResourceMethodInvoker.class, String.class).get(resourceInvoker);
42+
String name = INVOKER_NAME.get(resourceInvoker);
4443
ResteasySpanName.INSTANCE.updateServerSpanName(Java8BytecodeBridge.currentContext(), name);
4544
}
4645
}

instrumentation/jaxrs/jaxrs-3.0/jaxrs-3.0-resteasy-6.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v3_0/ResteasyRootNodeTypeInstrumentation.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@
55

66
package io.opentelemetry.javaagent.instrumentation.jaxrs.v3_0;
77

8+
import static io.opentelemetry.javaagent.instrumentation.jaxrs.v3_0.ResteasySingletons.INVOKER_NAME;
9+
import static io.opentelemetry.javaagent.instrumentation.jaxrs.v3_0.ResteasySingletons.LOCATOR_NAME;
810
import static net.bytebuddy.matcher.ElementMatchers.named;
911
import static net.bytebuddy.matcher.ElementMatchers.namedOneOf;
1012
import static net.bytebuddy.matcher.ElementMatchers.takesArgument;
1113

12-
import io.opentelemetry.instrumentation.api.util.VirtualField;
1314
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
1415
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;
1516
import io.opentelemetry.javaagent.instrumentation.jaxrs.JaxrsPathUtil;
@@ -51,12 +52,10 @@ public static void addInvoker(
5152
String normalizedPath = JaxrsPathUtil.normalizePath(path);
5253
if (invoker instanceof ResourceLocatorInvoker) {
5354
ResourceLocatorInvoker resourceLocatorInvoker = (ResourceLocatorInvoker) invoker;
54-
VirtualField.find(ResourceLocatorInvoker.class, String.class)
55-
.set(resourceLocatorInvoker, normalizedPath);
55+
LOCATOR_NAME.set(resourceLocatorInvoker, normalizedPath);
5656
} else if (invoker instanceof ResourceMethodInvoker) {
5757
ResourceMethodInvoker resourceMethodInvoker = (ResourceMethodInvoker) invoker;
58-
VirtualField.find(ResourceMethodInvoker.class, String.class)
59-
.set(resourceMethodInvoker, normalizedPath);
58+
INVOKER_NAME.set(resourceMethodInvoker, normalizedPath);
6059
}
6160
}
6261
}

instrumentation/jaxrs/jaxrs-3.0/jaxrs-3.0-resteasy-6.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrs/v3_0/ResteasySingletons.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,23 @@
66
package io.opentelemetry.javaagent.instrumentation.jaxrs.v3_0;
77

88
import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
9+
import io.opentelemetry.instrumentation.api.util.VirtualField;
910
import io.opentelemetry.javaagent.instrumentation.jaxrs.HandlerData;
1011
import io.opentelemetry.javaagent.instrumentation.jaxrs.JaxrsInstrumenterFactory;
12+
import org.jboss.resteasy.core.ResourceLocatorInvoker;
13+
import org.jboss.resteasy.core.ResourceMethodInvoker;
1114

1215
public final class ResteasySingletons {
1316

1417
private static final Instrumenter<HandlerData, Void> INSTANCE =
1518
JaxrsInstrumenterFactory.createInstrumenter("io.opentelemetry.jaxrs-3.0-resteasy-6.0");
1619

20+
public static final VirtualField<ResourceMethodInvoker, String> INVOKER_NAME =
21+
VirtualField.find(ResourceMethodInvoker.class, String.class);
22+
23+
public static final VirtualField<ResourceLocatorInvoker, String> LOCATOR_NAME =
24+
VirtualField.find(ResourceLocatorInvoker.class, String.class);
25+
1726
public static Instrumenter<HandlerData, Void> instrumenter() {
1827
return INSTANCE;
1928
}

0 commit comments

Comments
 (0)