In DefaultWebClient, the Observation instrumentation creates a new observation and uses the current observation in the reactor context as the parent. This is useful for recording metrics and sending tracing information over the wire.

The current implementation wrongly assumes that there is no other instrumentation in the chain; Reactor Netty HttpClientis itself instrumented and looks into the reactor context for a parent observation but won't find the observation we have created.

DefaultWebClient should set the newly created client observation as the current observation in the reactor context by using contextWrite for downstream operators.