Skip to content

Commit

Permalink
fix: exception.type should always be a string (#2086)
Browse files Browse the repository at this point in the history
  • Loading branch information
YanivD authored Apr 8, 2021
1 parent fec5e31 commit a457776
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 1 deletion.
2 changes: 1 addition & 1 deletion packages/opentelemetry-tracing/src/Span.ts
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ export class Span implements api.Span, ReadableSpan {
attributes[ExceptionAttribute.MESSAGE] = exception;
} else if (exception) {
if (exception.code) {
attributes[ExceptionAttribute.TYPE] = exception.code;
attributes[ExceptionAttribute.TYPE] = exception.code.toString();
} else if (exception.name) {
attributes[ExceptionAttribute.TYPE] = exception.name;
}
Expand Down
18 changes: 18 additions & 0 deletions packages/opentelemetry-tracing/test/Span.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -719,5 +719,23 @@ describe('Span', () => {
assert.deepStrictEqual(event.time, [0, 123]);
});
});

describe('when exception code is numeric', () => {
it('should record an exception with string value', () => {
const span = new Span(
tracer,
ROOT_CONTEXT,
name,
spanContext,
SpanKind.CLIENT
);
assert.strictEqual(span.events.length, 0);
span.recordException({ code: 12 });
const event = span.events[0];
assert.deepStrictEqual(event.attributes, {
[ExceptionAttribute.TYPE]: '12',
});
});
});
});
});

0 comments on commit a457776

Please sign in to comment.