Returned a StreamedAsyncHandler instance where appropriate
This commit is contained in:
parent
0c74cf031e
commit
fd0e10f0cb
|
@ -28,7 +28,11 @@ public class PlayWSClientInstrumentation extends BasePlayWSClientInstrumentation
|
|||
DECORATE.onRequest(span, request);
|
||||
propagate().inject(span, request, SETTER);
|
||||
|
||||
asyncHandler = new AsyncHandlerWrapper(asyncHandler, span);
|
||||
if (asyncHandler instanceof StreamedAsyncHandler) {
|
||||
asyncHandler = new StreamedAsyncHandlerWrapper((StreamedAsyncHandler) asyncHandler, span);
|
||||
} else {
|
||||
asyncHandler = new AsyncHandlerWrapper(asyncHandler, span);
|
||||
}
|
||||
|
||||
return span;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
package datadog.trace.instrumentation.playws1;
|
||||
|
||||
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
|
||||
import org.reactivestreams.Publisher;
|
||||
import play.shaded.ahc.org.asynchttpclient.handler.StreamedAsyncHandler;
|
||||
|
||||
public class StreamedAsyncHandlerWrapper extends AsyncHandlerWrapper
|
||||
implements StreamedAsyncHandler {
|
||||
private final StreamedAsyncHandler streamedDelegate;
|
||||
|
||||
public StreamedAsyncHandlerWrapper(final StreamedAsyncHandler delegate, final AgentSpan span) {
|
||||
super(delegate, span);
|
||||
streamedDelegate = delegate;
|
||||
}
|
||||
|
||||
@Override
|
||||
public State onStream(final Publisher publisher) {
|
||||
return streamedDelegate.onStream(publisher);
|
||||
}
|
||||
}
|
|
@ -28,7 +28,11 @@ public class PlayWSClientInstrumentation extends BasePlayWSClientInstrumentation
|
|||
DECORATE.onRequest(span, request);
|
||||
propagate().inject(span, request, SETTER);
|
||||
|
||||
asyncHandler = new AsyncHandlerWrapper(asyncHandler, span);
|
||||
if (asyncHandler instanceof StreamedAsyncHandler) {
|
||||
asyncHandler = new StreamedAsyncHandlerWrapper((StreamedAsyncHandler) asyncHandler, span);
|
||||
} else {
|
||||
asyncHandler = new AsyncHandlerWrapper(asyncHandler, span);
|
||||
}
|
||||
|
||||
return span;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
package datadog.trace.instrumentation.playws21;
|
||||
|
||||
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
|
||||
import org.reactivestreams.Publisher;
|
||||
import play.shaded.ahc.org.asynchttpclient.handler.StreamedAsyncHandler;
|
||||
|
||||
public class StreamedAsyncHandlerWrapper extends AsyncHandlerWrapper
|
||||
implements StreamedAsyncHandler {
|
||||
private final StreamedAsyncHandler streamedDelegate;
|
||||
|
||||
public StreamedAsyncHandlerWrapper(final StreamedAsyncHandler delegate, final AgentSpan span) {
|
||||
super(delegate, span);
|
||||
streamedDelegate = delegate;
|
||||
}
|
||||
|
||||
@Override
|
||||
public State onStream(final Publisher publisher) {
|
||||
return streamedDelegate.onStream(publisher);
|
||||
}
|
||||
}
|
|
@ -28,7 +28,11 @@ public class PlayWSClientInstrumentation extends BasePlayWSClientInstrumentation
|
|||
DECORATE.onRequest(span, request);
|
||||
propagate().inject(span, request, SETTER);
|
||||
|
||||
asyncHandler = new AsyncHandlerWrapper(asyncHandler, span);
|
||||
if (asyncHandler instanceof StreamedAsyncHandler) {
|
||||
asyncHandler = new StreamedAsyncHandlerWrapper((StreamedAsyncHandler) asyncHandler, span);
|
||||
} else {
|
||||
asyncHandler = new AsyncHandlerWrapper(asyncHandler, span);
|
||||
}
|
||||
|
||||
return span;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
package datadog.trace.instrumentation.playws2;
|
||||
|
||||
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
|
||||
import org.reactivestreams.Publisher;
|
||||
import play.shaded.ahc.org.asynchttpclient.handler.StreamedAsyncHandler;
|
||||
|
||||
public class StreamedAsyncHandlerWrapper extends AsyncHandlerWrapper
|
||||
implements StreamedAsyncHandler {
|
||||
private final StreamedAsyncHandler streamedDelegate;
|
||||
|
||||
public StreamedAsyncHandlerWrapper(final StreamedAsyncHandler delegate, final AgentSpan span) {
|
||||
super(delegate, span);
|
||||
streamedDelegate = delegate;
|
||||
}
|
||||
|
||||
@Override
|
||||
public State onStream(final Publisher publisher) {
|
||||
return streamedDelegate.onStream(publisher);
|
||||
}
|
||||
}
|
|
@ -50,6 +50,7 @@ public abstract class BasePlayWSClientInstrumentation extends Instrumenter.Defau
|
|||
"datadog.trace.instrumentation.playws.PlayWSClientDecorator",
|
||||
"datadog.trace.instrumentation.playws.HeadersInjectAdapter",
|
||||
packageName + ".AsyncHandlerWrapper",
|
||||
packageName + ".StreamedAsyncHandlerWrapper"
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue