Skip to content

Commit 0c9e66b

Browse files
cecile75deejgregor
andauthored
Add ErrorPriorities level for manual instrumentation (#9387)
* Add ErrorPriorities for manual instrumentation and tag interceptor (cherry picked from commit c26ef68) * Set resource name and error priority to manual instrumentation for otel spans (cherry picked from commit f573ade) * remove tag interceptor error priority * Test on new error priorities level --------- Co-authored-by: DJ Gregor <[email protected]>
1 parent d11739c commit 0c9e66b

File tree

6 files changed

+17
-6
lines changed
  • dd-java-agent
    • agent-otel/otel-shim/src/main/java/datadog/opentelemetry/shim/trace
    • instrumentation/opentracing
      • api-0.31/src/main/java/datadog/trace/instrumentation/opentracing31
      • api-0.32/src/main/java/datadog/trace/instrumentation/opentracing32
  • dd-trace-core/src/test/groovy/datadog/trace/core
  • dd-trace-ot/src/main/java/datadog/opentracing
  • internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api

6 files changed

+17
-6
lines changed

dd-java-agent/agent-otel/otel-shim/src/main/java/datadog/opentelemetry/shim/trace/OtelSpan.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
1616
import datadog.trace.bootstrap.instrumentation.api.AgentSpanContext;
1717
import datadog.trace.bootstrap.instrumentation.api.AttachableWrapper;
18+
import datadog.trace.bootstrap.instrumentation.api.ErrorPriorities;
19+
import datadog.trace.bootstrap.instrumentation.api.ResourceNamePriorities;
1820
import datadog.trace.bootstrap.instrumentation.api.WithAgentSpan;
1921
import io.opentelemetry.api.common.AttributeKey;
2022
import io.opentelemetry.api.common.Attributes;
@@ -105,11 +107,11 @@ public Span setStatus(StatusCode statusCode, String description) {
105107
if (this.recording) {
106108
if (this.statusCode == UNSET) {
107109
this.statusCode = statusCode;
108-
this.delegate.setError(statusCode == ERROR);
110+
this.delegate.setError(statusCode == ERROR, ErrorPriorities.MANUAL_INSTRUMENTATION);
109111
this.delegate.setErrorMessage(statusCode == ERROR ? description : null);
110112
} else if (this.statusCode == ERROR && statusCode == OK) {
111113
this.statusCode = statusCode;
112-
this.delegate.setError(false);
114+
this.delegate.setError(false, ErrorPriorities.MANUAL_INSTRUMENTATION);
113115
this.delegate.setErrorMessage(null);
114116
}
115117
}
@@ -132,7 +134,7 @@ public Span recordException(Throwable exception, Attributes additionalAttributes
132134
@Override
133135
public Span updateName(String name) {
134136
if (this.recording) {
135-
this.delegate.setResourceName(name);
137+
this.delegate.setResourceName(name, ResourceNamePriorities.MANUAL_INSTRUMENTATION);
136138
}
137139
return this;
138140
}

dd-java-agent/instrumentation/opentracing/api-0.31/src/main/java/datadog/trace/instrumentation/opentracing31/OTSpan.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import datadog.trace.api.interceptor.MutableSpan;
44
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
5+
import datadog.trace.bootstrap.instrumentation.api.ErrorPriorities;
56
import datadog.trace.bootstrap.instrumentation.api.ResourceNamePriorities;
67
import datadog.trace.bootstrap.instrumentation.api.UTF8BytesString;
78
import datadog.trace.bootstrap.instrumentation.api.WithAgentSpan;
@@ -73,7 +74,7 @@ public boolean isError() {
7374

7475
@Override
7576
public OTSpan setError(final boolean value) {
76-
delegate.setError(value);
77+
delegate.setError(value, ErrorPriorities.MANUAL_INSTRUMENTATION);
7778
return this;
7879
}
7980

dd-java-agent/instrumentation/opentracing/api-0.32/src/main/java/datadog/trace/instrumentation/opentracing32/OTSpan.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import datadog.trace.api.interceptor.MutableSpan;
44
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
5+
import datadog.trace.bootstrap.instrumentation.api.ErrorPriorities;
56
import datadog.trace.bootstrap.instrumentation.api.ResourceNamePriorities;
67
import datadog.trace.bootstrap.instrumentation.api.UTF8BytesString;
78
import datadog.trace.bootstrap.instrumentation.api.WithAgentSpan;
@@ -74,7 +75,7 @@ public boolean isError() {
7475

7576
@Override
7677
public OTSpan setError(final boolean value) {
77-
delegate.setError(value);
78+
delegate.setError(value, ErrorPriorities.MANUAL_INSTRUMENTATION);
7879
return this;
7980
}
8081

dd-trace-core/src/test/groovy/datadog/trace/core/DDSpanTest.groovy

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -457,6 +457,11 @@ class DDSpanTest extends DDCoreSpecification {
457457
then:
458458
!span.isError()
459459

460+
when:
461+
span.setError(true, ErrorPriorities.MANUAL_INSTRUMENTATION)
462+
then:
463+
span.isError()
464+
460465
when:
461466
span.setError(true, Byte.MAX_VALUE)
462467
then:

dd-trace-ot/src/main/java/datadog/opentracing/OTSpan.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import datadog.trace.api.interceptor.MutableSpan;
44
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
5+
import datadog.trace.bootstrap.instrumentation.api.ErrorPriorities;
56
import datadog.trace.bootstrap.instrumentation.api.ResourceNamePriorities;
67
import datadog.trace.bootstrap.instrumentation.api.UTF8BytesString;
78
import datadog.trace.bootstrap.instrumentation.api.WithAgentSpan;
@@ -73,7 +74,7 @@ public boolean isError() {
7374

7475
@Override
7576
public OTSpan setError(final boolean value) {
76-
delegate.setError(value);
77+
delegate.setError(value, ErrorPriorities.MANUAL_INSTRUMENTATION);
7778
return this;
7879
}
7980

internal-api/src/main/java/datadog/trace/bootstrap/instrumentation/api/ErrorPriorities.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ public class ErrorPriorities {
55
public static final byte HTTP_SERVER_DECORATOR = -1;
66

77
public static final byte DEFAULT = 0;
8+
public static final byte MANUAL_INSTRUMENTATION = 1;
89
}

0 commit comments

Comments
 (0)