-
Notifications
You must be signed in to change notification settings - Fork 58
Closed
opentracing-contrib/java-spring-cloud
#305Description
Hello!
In the TracingOperator component is there any good reason the not finish the span when the wrapped source has been canceled?
I would change
class TracingOperator extends MonoOperator<Void, Void> {
@Override
public void subscribe(final CoreSubscriber<? super Void> subscriber) {
// ...
try (final Scope scope = tracer.scopeManager().activate(span)) {
exchange.getAttributes().put(TracingWebFilter.SERVER_SPAN_CONTEXT, span.context());
source.subscribe(new TracingSubscriber(subscriber, exchange, context, span, spanDecorators));
}
}To
class TracingOperator extends MonoOperator<Void, Void> {
@Override
public void subscribe(final CoreSubscriber<? super Void> subscriber) {
// ...
try (final Scope scope = tracer.scopeManager().activate(span)) {
exchange.getAttributes().put(TracingWebFilter.SERVER_SPAN_CONTEXT, span.context());
source.doOnCancel(() -> span.finish())
.subscribe(new TracingSubscriber(subscriber, exchange, context, span, spanDecorators));
}
}Happy to contribute if needed!
Thanks.
Metadata
Metadata
Assignees
Labels
No labels