Skip to content

Commit

Permalink
Use lower priorities for grpc server errors
Browse files Browse the repository at this point in the history
  • Loading branch information
amarziali committed Dec 2, 2024
1 parent 9f01834 commit b4aa9b9
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import datadog.trace.api.cache.DDCaches;
import datadog.trace.api.naming.SpanNaming;
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
import datadog.trace.bootstrap.instrumentation.api.ErrorPriorities;
import datadog.trace.bootstrap.instrumentation.api.InternalSpanTypes;
import datadog.trace.bootstrap.instrumentation.api.UTF8BytesString;
import datadog.trace.bootstrap.instrumentation.decorator.ServerDecorator;
Expand Down Expand Up @@ -102,7 +103,8 @@ public <RespT, ReqT> AgentSpan onCall(final AgentSpan span, ServerCall<ReqT, Res
public AgentSpan onStatus(final AgentSpan span, final Status status) {
span.setTag("status.code", status.getCode().name());
span.setTag("status.description", status.getDescription());
return span.setError(SERVER_ERROR_STATUSES.get(status.getCode().value()));
return span.setError(
SERVER_ERROR_STATUSES.get(status.getCode().value()), ErrorPriorities.HTTP_SERVER_DECORATOR);
}

public AgentSpan onClose(final AgentSpan span, final Status status) {
Expand All @@ -114,11 +116,13 @@ public AgentSpan onClose(final AgentSpan span, final Status status) {

@Override
public AgentSpan onError(AgentSpan span, Throwable throwable) {
super.onError(span, throwable);
if (throwable instanceof StatusRuntimeException) {
onStatus(span, ((StatusRuntimeException) throwable).getStatus());
} else if (throwable instanceof StatusException) {
onStatus(span, ((StatusException) throwable).getStatus());
if (span != null) {
span.addThrowable(throwable, ErrorPriorities.HTTP_SERVER_DECORATOR);
if (throwable instanceof StatusRuntimeException) {
onStatus(span, ((StatusRuntimeException) throwable).getStatus());
} else if (throwable instanceof StatusException) {
onStatus(span, ((StatusException) throwable).getStatus());
}
}
return span;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import datadog.trace.api.cache.DDCaches;
import datadog.trace.api.naming.SpanNaming;
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
import datadog.trace.bootstrap.instrumentation.api.ErrorPriorities;
import datadog.trace.bootstrap.instrumentation.api.InternalSpanTypes;
import datadog.trace.bootstrap.instrumentation.api.UTF8BytesString;
import datadog.trace.bootstrap.instrumentation.decorator.ServerDecorator;
Expand Down Expand Up @@ -102,7 +103,8 @@ public <RespT, ReqT> AgentSpan onCall(final AgentSpan span, ServerCall<ReqT, Res
public AgentSpan onStatus(final AgentSpan span, final Status status) {
span.setTag("status.code", status.getCode().name());
span.setTag("status.description", status.getDescription());
return span.setError(SERVER_ERROR_STATUSES.get(status.getCode().value()));
return span.setError(
SERVER_ERROR_STATUSES.get(status.getCode().value()), ErrorPriorities.HTTP_SERVER_DECORATOR);
}

public AgentSpan onClose(final AgentSpan span, final Status status) {
Expand All @@ -114,11 +116,13 @@ public AgentSpan onClose(final AgentSpan span, final Status status) {

@Override
public AgentSpan onError(AgentSpan span, Throwable throwable) {
super.onError(span, throwable);
if (throwable instanceof StatusRuntimeException) {
onStatus(span, ((StatusRuntimeException) throwable).getStatus());
} else if (throwable instanceof StatusException) {
onStatus(span, ((StatusException) throwable).getStatus());
if (span != null) {
span.addThrowable(throwable, ErrorPriorities.HTTP_SERVER_DECORATOR);
if (throwable instanceof StatusRuntimeException) {
onStatus(span, ((StatusRuntimeException) throwable).getStatus());
} else if (throwable instanceof StatusException) {
onStatus(span, ((StatusException) throwable).getStatus());
}
}
return span;
}
Expand Down

0 comments on commit b4aa9b9

Please sign in to comment.