Propagate context even when no span (#1802)

* Propagate context even when no span

* Don't propagate root context
This commit is contained in:
Trask Stalnaker 2020-11-29 22:26:50 -08:00 committed by GitHub
parent 0c8d7fe73f
commit 573cd0b4e9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 3 deletions

View File

@ -5,7 +5,6 @@
package io.opentelemetry.javaagent.instrumentation.api.concurrent;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.context.Context;
import io.opentelemetry.instrumentation.api.context.ContextPropagationDebug;
import io.opentelemetry.javaagent.instrumentation.api.ContextStore;
@ -26,11 +25,12 @@ public class ExecutorInstrumentationUtils {
return false;
}
Span span = Span.current();
Class<?> taskClass = task.getClass();
Class<?> enclosingClass = taskClass.getEnclosingClass();
return span.getSpanContext().isValid()
// not much point in propagating root context
// plus it causes failures under otel.internal.failOnContextLeak=true
return Context.current() != Context.root()
// TODO Workaround for
// https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/787
&& !taskClass.getName().equals("org.apache.tomcat.util.net.NioEndpoint$SocketProcessor")