From 7635afe712d04e64a5e9ead4886f08abbffa608f Mon Sep 17 00:00:00 2001 From: Lauri Tulmin Date: Tue, 19 Mar 2024 13:07:30 +0200 Subject: [PATCH] Fix virtual thread instrumentation for jdk 21 ea versions (#10887) --- .../executors/VirtualThreadInstrumentation.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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"); }