Skip to content

Commit 6936ea6

Browse files
committed
fix: span evets count limit when set to 0
1 parent 2c8601f commit 6936ea6

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

packages/opentelemetry-sdk-trace-base/src/Span.ts

+4
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,10 @@ export class Span implements api.Span, ReadableSpan {
131131
startTime?: api.TimeInput
132132
): this {
133133
if (this._isSpanEnded()) return this;
134+
if (this._spanLimits.eventCountLimit === 0) {
135+
api.diag.warn('No events allowed.');
136+
return this;
137+
}
134138
if (this.events.length >= this._spanLimits.eventCountLimit!) {
135139
api.diag.warn('Dropping extra events.');
136140
this.events.shift();

packages/opentelemetry-sdk-trace-base/test/common/Span.test.ts

+22
Original file line numberDiff line numberDiff line change
@@ -621,6 +621,28 @@ describe('Span', () => {
621621
assert.strictEqual(span.events[span.events.length - 1].name, 'sent149');
622622
});
623623

624+
it('should add no event', () => {
625+
const tracer = new BasicTracerProvider({
626+
spanLimits: {
627+
eventCountLimit: 0,
628+
},
629+
}).getTracer('default');
630+
631+
const span = new Span(
632+
tracer,
633+
ROOT_CONTEXT,
634+
name,
635+
spanContext,
636+
SpanKind.CLIENT
637+
);
638+
for (let i = 0; i < 10; i++) {
639+
span.addEvent('sent' + i);
640+
}
641+
span.end();
642+
643+
assert.strictEqual(span.events.length, 0);
644+
});
645+
624646
it('should set an error status', () => {
625647
const span = new Span(
626648
tracer,

0 commit comments

Comments
 (0)