diff --git a/instrumentation/executors/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/executors/VirtualThreadInstrumentation.java b/instrumentation/executors/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/executors/VirtualThreadInstrumentation.java index 8aad00eda2..a348e0539e 100644 --- a/instrumentation/executors/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/executors/VirtualThreadInstrumentation.java +++ b/instrumentation/executors/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/executors/VirtualThreadInstrumentation.java @@ -32,7 +32,8 @@ public class VirtualThreadInstrumentation implements TypeInstrumentation { named("switchToCarrierThread").and(takesArguments(0)), this.getClass().getName() + "$SwitchToCarrierAdvice"); transformer.applyAdviceToMethod( - named("switchToVirtualThread").and(takesArguments(1)), + // takes an extra argument in jdk 21 ea versions + named("switchToVirtualThread").and(takesArguments(1).or(takesArguments(2))), this.getClass().getName() + "$SwitchToVirtualAdvice"); }