Propagate context even when no span (#1802)
* Propagate context even when no span * Don't propagate root context
This commit is contained in:
parent
0c8d7fe73f
commit
573cd0b4e9
|
@ -5,7 +5,6 @@
|
||||||
|
|
||||||
package io.opentelemetry.javaagent.instrumentation.api.concurrent;
|
package io.opentelemetry.javaagent.instrumentation.api.concurrent;
|
||||||
|
|
||||||
import io.opentelemetry.api.trace.Span;
|
|
||||||
import io.opentelemetry.context.Context;
|
import io.opentelemetry.context.Context;
|
||||||
import io.opentelemetry.instrumentation.api.context.ContextPropagationDebug;
|
import io.opentelemetry.instrumentation.api.context.ContextPropagationDebug;
|
||||||
import io.opentelemetry.javaagent.instrumentation.api.ContextStore;
|
import io.opentelemetry.javaagent.instrumentation.api.ContextStore;
|
||||||
|
@ -26,11 +25,12 @@ public class ExecutorInstrumentationUtils {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Span span = Span.current();
|
|
||||||
Class<?> taskClass = task.getClass();
|
Class<?> taskClass = task.getClass();
|
||||||
Class<?> enclosingClass = taskClass.getEnclosingClass();
|
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
|
// TODO Workaround for
|
||||||
// https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/787
|
// https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/787
|
||||||
&& !taskClass.getName().equals("org.apache.tomcat.util.net.NioEndpoint$SocketProcessor")
|
&& !taskClass.getName().equals("org.apache.tomcat.util.net.NioEndpoint$SocketProcessor")
|
||||||
|
|
Loading…
Reference in New Issue