diff --git a/packages/tracing/src/spanstatus.ts b/packages/tracing/src/spanstatus.ts index e26d19e36139..692b60d7d364 100644 --- a/packages/tracing/src/spanstatus.ts +++ b/packages/tracing/src/spanstatus.ts @@ -46,7 +46,7 @@ export namespace SpanStatus { * @returns The span status or {@link SpanStatus.UnknownError}. */ export function fromHttpCode(httpStatus: number): SpanStatus { - if (httpStatus < 400) { + if (httpStatus < 400 && httpStatus >= 100) { return SpanStatus.Ok; } diff --git a/packages/tracing/test/span.test.ts b/packages/tracing/test/span.test.ts index 0db4b205a28b..3690f13ce3f5 100644 --- a/packages/tracing/test/span.test.ts +++ b/packages/tracing/test/span.test.ts @@ -90,6 +90,14 @@ describe('Span', () => { expect(span.isSuccess()).toBe(true); span.setStatus(SpanStatus.PermissionDenied); expect(span.isSuccess()).toBe(false); + span.setHttpStatus(0); + expect(span.isSuccess()).toBe(false); + span.setHttpStatus(-1); + expect(span.isSuccess()).toBe(false); + span.setHttpStatus(99); + expect(span.isSuccess()).toBe(false); + span.setHttpStatus(100); + expect(span.isSuccess()).toBe(true); }); });