Prechádzať zdrojové kódy

Fix virtual thread instrumentation for jdk 21 ea versions (#10887)

Lauri Tulmin 11 mesiacov pred
rodič
commit
7635afe712

+ 2 - 1
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");
   }