-
Notifications
You must be signed in to change notification settings - Fork 38.8k
Closed
Closed
Copy link
Labels
in: webIssues in web modules (web, webmvc, webflux, websocket)Issues in web modules (web, webmvc, webflux, websocket)theme: observabilityAn issue related to observability and tracingAn issue related to observability and tracingtype: bugA general bugA general bug
Milestone
Description
This was discussed with @chemicL in micrometer-metrics/micrometer#5472
Currently, DefaultWebClient executes ExchangeFilterFunction as the reactive pipeline is assembled during subscription. This means that if imperative code is executed in a filter function, it won't be aware of the current observation through the local scope.
For example, when automatic context propagation is enabled for Reactor operators, the logger MDC will not know about the current traceId/spanId.
ExchangeFilterFunction assertionFilter = (request, chain) -> {
logger.info("This log will not contain the traceId information");
return chain.exchange(request);
};We should defer the execution of filter functions to fix that limitation.
chemicL
Metadata
Metadata
Assignees
Labels
in: webIssues in web modules (web, webmvc, webflux, websocket)Issues in web modules (web, webmvc, webflux, websocket)theme: observabilityAn issue related to observability and tracingAn issue related to observability and tracingtype: bugA general bugA general bug