Spring 6 methods wrapped in a CompletableFuture and annotated with @Async don't hit our current instrumentation. This is because they call completeAsync on the CF, which was introduced with Java 9 and so isn't a part of our current modules for Java 8+.
Instrumenting completeAsync will entail creating a new CompletableFuture instrumentation module, applicable to JDK 9+.
Acceptance Criteria
Async calls made with Spring 6 are instrumented fully, and additional tests are added for completeAsync.
Description
From this spike #1741.
Spring 6 methods wrapped in a CompletableFuture and annotated with
@Async
don't hit our current instrumentation. This is because they callcompleteAsync
on the CF, which was introduced with Java 9 and so isn't a part of our current modules for Java 8+.Instrumenting
completeAsync
will entail creating a new CompletableFuture instrumentation module, applicable to JDK 9+.Acceptance Criteria
Async calls made with Spring 6 are instrumented fully, and additional tests are added for
completeAsync
.