Skip to content

Commit 9c634ef

Browse files
committed
OTEL: don't return a span if not valid
1 parent 456ad68 commit 9c634ef

File tree

2 files changed

+10
-1
lines changed
  • dd-java-agent

2 files changed

+10
-1
lines changed

dd-java-agent/agent-otel/otel-shim/src/main/java/datadog/opentelemetry/shim/context/OtelContext.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public Scope makeCurrent() {
4545
public <V> V get(ContextKey<V> key) {
4646
if (OTEL_CONTEXT_SPAN_KEY.equals(key.toString())) {
4747
AgentSpan span = AgentSpan.fromContext(delegate);
48-
if (span != null) {
48+
if (span != null && span.isValid()) {
4949
return (V) toOtelSpan(span);
5050
}
5151
// fall-through and check for non-datadog span data

dd-java-agent/instrumentation/opentelemetry/opentelemetry-1.4/src/test/groovy/opentelemetry14/context/propagation/AbstractPropagatorTest.groovy

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import datadog.trace.agent.test.InstrumentationSpecification
44
import datadog.trace.api.DDSpanId
55
import datadog.trace.api.DDTraceId
66
import io.opentelemetry.api.GlobalOpenTelemetry
7+
import io.opentelemetry.api.trace.Span
78
import io.opentelemetry.context.Context
89
import io.opentelemetry.context.ThreadLocalContextStorage
910
import io.opentelemetry.context.propagation.TextMapPropagator
@@ -102,6 +103,14 @@ abstract class AbstractPropagatorTest extends InstrumentationSpecification {
102103
(headers, traceId, spanId, sampling) = values
103104
}
104105

106+
def "extraction on missing tracecontext should return an empty context"() {
107+
when:
108+
def headers = ["User-Agent":"test"]
109+
def context = propagator().extract(Context.root(), headers, TextMap.INSTANCE)
110+
then:
111+
assert Span.fromContextOrNull(context) == null : "Should not have a tracing context"
112+
}
113+
105114
def expectedTraceId(String traceId) {
106115
return DDTraceId.fromHex(traceId)
107116
}

0 commit comments

Comments
 (0)