From 42fe6b0420ead7d53a3addb2b1e35ac428bce3a2 Mon Sep 17 00:00:00 2001 From: Maciej Walkowiak Date: Thu, 15 Apr 2021 13:17:45 +0200 Subject: [PATCH] Set unknown span status. --- .../io/sentry/spring/tracing/SentryTracingFilter.java | 3 ++- .../sentry/spring/tracing/SentryTracingFilterTest.kt | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/sentry-spring/src/main/java/io/sentry/spring/tracing/SentryTracingFilter.java b/sentry-spring/src/main/java/io/sentry/spring/tracing/SentryTracingFilter.java index d72159fdd8..34e9d12870 100644 --- a/sentry-spring/src/main/java/io/sentry/spring/tracing/SentryTracingFilter.java +++ b/sentry-spring/src/main/java/io/sentry/spring/tracing/SentryTracingFilter.java @@ -82,7 +82,8 @@ protected void doFilterInternal( // if exception has been thrown, transaction status is already set to INTERNAL_ERROR, and // httpResponse.getStatus() returns 200. if (transaction.getStatus() == null) { - transaction.setStatus(SpanStatus.fromHttpStatusCode(httpResponse.getStatus())); + transaction.setStatus( + SpanStatus.fromHttpStatusCode(httpResponse.getStatus(), SpanStatus.UNKNOWN)); } transaction.finish(); } diff --git a/sentry-spring/src/test/kotlin/io/sentry/spring/tracing/SentryTracingFilterTest.kt b/sentry-spring/src/test/kotlin/io/sentry/spring/tracing/SentryTracingFilterTest.kt index 0fb387a846..d09e8408e9 100644 --- a/sentry-spring/src/test/kotlin/io/sentry/spring/tracing/SentryTracingFilterTest.kt +++ b/sentry-spring/src/test/kotlin/io/sentry/spring/tracing/SentryTracingFilterTest.kt @@ -86,6 +86,17 @@ class SentryTracingFilterTest { }) } + @Test + fun `sets UNKNOWN span status for response status that dont match predefined span statuses`() { + val filter = fixture.getSut(status = 302) + + filter.doFilter(fixture.request, fixture.response, fixture.chain) + + verify(fixture.hub).captureTransaction(check { + assertThat(it.contexts.trace!!.status).isEqualTo(SpanStatus.UNKNOWN) + }) + } + @Test fun `when sentry trace is not present, transaction does not have parentSpanId set`() { val filter = fixture.getSut()