@ -94,11 +97,6 @@ public class ServerHttpObservationFilter extends OncePerRequestFilter {
@@ -94,11 +97,6 @@ public class ServerHttpObservationFilter extends OncePerRequestFilter {
@ -115,8 +113,12 @@ public class ServerHttpObservationFilter extends OncePerRequestFilter {
@@ -115,8 +113,12 @@ public class ServerHttpObservationFilter extends OncePerRequestFilter {
throwex;
}
finally{
// Only stop Observation if async processing is done or has never been started.
if(!request.isAsyncStarted()){
// If async is started, register a listener for completion notification.
// Stop Observation right now if async processing has not been started.
else{
Throwableerror=fetchException(request);
if(error!=null){
observation.error(error);
@ -152,13 +154,43 @@ public class ServerHttpObservationFilter extends OncePerRequestFilter {
@@ -152,13 +154,43 @@ public class ServerHttpObservationFilter extends OncePerRequestFilter {