Add documentation on conditions when DefaultWebClientAdvice is not applied
MODIFY
dd-java-agent/instrumentation/spring-webflux/src/main/java8/datadog/trace/instrumentation/springwebflux/client/DefaultWebClientAdvice.java
dd-java-agent/instrumentation/spring-webflux/src/main/java8/datadog/trace/instrumentation/springwebflux/client/DefaultWebClientAdvice.java
@@ -17,6 +17,11 @@ public class DefaultWebClientAdvice {
@Advice.Return(readOnly = false) Mono<ClientResponse> mono) {
if (throwable == null
&& mono != null
+ // The response of the org.springframework.web.reactive.function.client.ExchangeFunction.exchange method is
+ // replaced by a decorator that in turn also calls the
+ // org.springframework.web.reactive.function.client.ExchangeFunction.exchange method. If the original return value
+ // is already decorated (we detect this if the "x-datadog-trace-id" is added), the result is not decorated again
+ // to avoid StackOverflowErrors.
&& !clientRequest.headers().keySet().contains("x-datadog-trace-id")) {
mono = new TracingClientResponseMono(clientRequest, exchangeFunction, GlobalTracer.get());
}

Add documentation on conditions when DefaultWebClientAdvice is not applied