Skip to content

Commit 221464b

Browse files
committed
move virtual field for indy migration
1 parent 90fd359 commit 221464b

File tree

3 files changed

+29
-3
lines changed

3 files changed

+29
-3
lines changed

instrumentation/internal/internal-reflection/javaagent-integration-tests/src/main/java/instrumentation/TestInstrumentationModule.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,20 @@ public List<String> getAdditionalHelperClassNames() {
3434
return Arrays.asList("instrumentation.TestHelperClass");
3535
}
3636

37+
@Override
38+
public boolean isHelperClass(String className) {
39+
return "instrumentation.TestSingletons".equals(className);
40+
}
41+
3742
@Override
3843
public void injectClasses(ClassInjector injector) {
3944
injector
4045
.proxyBuilder("instrumentation.TestHelperClass")
4146
.inject(InjectionMode.CLASS_AND_RESOURCE);
4247
}
48+
49+
@Override
50+
public boolean isIndyReady() {
51+
return true;
52+
}
4353
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package instrumentation;
7+
8+
import io.opentelemetry.instrumentation.api.util.VirtualField;
9+
10+
public class TestSingletons {
11+
12+
public static final VirtualField<Runnable, String> STRING =
13+
VirtualField.find(Runnable.class, String.class);
14+
15+
private TestSingletons() {}
16+
}

instrumentation/internal/internal-reflection/javaagent-integration-tests/src/main/java/instrumentation/TestTypeInstrumentation.java

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

66
package instrumentation;
77

8+
import static instrumentation.TestSingletons.STRING;
89
import static net.bytebuddy.matcher.ElementMatchers.named;
910

10-
import io.opentelemetry.instrumentation.api.util.VirtualField;
1111
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
1212
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;
1313
import net.bytebuddy.asm.Advice;
@@ -36,7 +36,7 @@ public static class TestAdvice {
3636
@AssignReturned.ToReturned
3737
@Advice.OnMethodExit
3838
public static String methodExit(@Advice.This Runnable test) {
39-
VirtualField.find(Runnable.class, String.class).set(test, "instrumented");
39+
STRING.set(test, "instrumented");
4040
return "instrumented";
4141
}
4242
}
@@ -47,7 +47,7 @@ public static class Test2Advice {
4747
@AssignReturned.ToReturned
4848
@Advice.OnMethodExit
4949
public static String methodExit(@Advice.This Runnable test) {
50-
return VirtualField.find(Runnable.class, String.class).get(test);
50+
return STRING.get(test);
5151
}
5252
}
5353
}

0 commit comments

Comments
 (0)