Skip to content

Commit df6a4fc

Browse files
committed
fix(otel): Account for number status code
1 parent 08fd5a3 commit df6a4fc

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

packages/opentelemetry-node/src/utils/map-otel-status.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,9 @@ export function mapOtelStatus(otelSpan: OtelSpan): SentryStatus {
5959
const httpCode = attributes[SemanticAttributes.HTTP_STATUS_CODE];
6060
const grpcCode = attributes[SemanticAttributes.RPC_GRPC_STATUS_CODE];
6161

62-
if (typeof httpCode === 'string') {
63-
const sentryStatus = canonicalCodesHTTPMap[httpCode];
62+
const code = typeof httpCode === 'string' ? httpCode : typeof httpCode === 'number' ? httpCode.toString() : undefined;
63+
if (code) {
64+
const sentryStatus = canonicalCodesHTTPMap[code];
6465
if (sentryStatus) {
6566
return sentryStatus;
6667
}

packages/opentelemetry-node/test/spanprocessor.test.ts

+14-1
Original file line numberDiff line numberDiff line change
@@ -260,14 +260,27 @@ describe('SentrySpanProcessor', () => {
260260
});
261261
});
262262

263-
const statusTestTable: [number, undefined | string, undefined | string, SpanStatusType][] = [
263+
const statusTestTable: [number, undefined | number | string, undefined | string, SpanStatusType][] = [
264264
[-1, undefined, undefined, 'unknown_error'],
265265
[3, undefined, undefined, 'unknown_error'],
266266
[0, undefined, undefined, 'ok'],
267267
[1, undefined, undefined, 'ok'],
268268
[2, undefined, undefined, 'unknown_error'],
269269

270270
// http codes
271+
[2, 400, undefined, 'failed_precondition'],
272+
[2, 401, undefined, 'unauthenticated'],
273+
[2, 403, undefined, 'permission_denied'],
274+
[2, 404, undefined, 'not_found'],
275+
[2, 409, undefined, 'aborted'],
276+
[2, 429, undefined, 'resource_exhausted'],
277+
[2, 499, undefined, 'cancelled'],
278+
[2, 500, undefined, 'internal_error'],
279+
[2, 501, undefined, 'unimplemented'],
280+
[2, 503, undefined, 'unavailable'],
281+
[2, 504, undefined, 'deadline_exceeded'],
282+
[2, 999, undefined, 'unknown_error'],
283+
271284
[2, '400', undefined, 'failed_precondition'],
272285
[2, '401', undefined, 'unauthenticated'],
273286
[2, '403', undefined, 'permission_denied'],

0 commit comments

Comments
 (0)