From 973a00263bdc18db6907d3d152a6f748b546ae69 Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Fri, 9 Oct 2026 12:54:33 +0200 Subject: [PATCH 1/2] ref(core): Simplify transport item loss recording --- packages/core/src/transports/base.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/core/src/transports/base.ts b/packages/core/src/transports/base.ts index 86c52037d6f7..b88568de269a 100644 --- a/packages/core/src/transports/base.ts +++ b/packages/core/src/transports/base.ts @@ -40,12 +40,10 @@ export function createTransport( function recordItemLoss(reason: EventDropReason, [headers, payload]: EnvelopeItem, type: EnvelopeItemType): void { const dataCategory = envelopeItemTypeToDataCategory(type); if (type === 'transaction') { - options.recordDroppedEvent(reason, dataCategory); // The transaction itself counts as a span, too options.recordDroppedEvent(reason, 'span', ((payload as Event).spans?.length ?? 0) + 1); - } else { - options.recordDroppedEvent(reason, dataCategory, typeof headers.item_count === 'number' ? headers.item_count : 1); } + options.recordDroppedEvent(reason, dataCategory, typeof headers.item_count === 'number' ? headers.item_count : 1); } function send(envelope: Envelope): PromiseLike { From 7653bab0e9c2ca73310fac74d20beb518611d856 Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Fri, 9 Oct 2026 13:16:04 +0200 Subject: [PATCH 2/2] fix tests --- packages/core/test/lib/transports/base.test.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/core/test/lib/transports/base.test.ts b/packages/core/test/lib/transports/base.test.ts index 9a2a0ef6275b..3ef558c349a1 100644 --- a/packages/core/test/lib/transports/base.test.ts +++ b/packages/core/test/lib/transports/base.test.ts @@ -241,7 +241,7 @@ describe('createTransport', () => { await transport.send(TRANSACTION_ENVELOPE); // Transaction envelope should not be sent because of pending rate limit expect(requestExecutor).not.toHaveBeenCalled(); - expect(recordDroppedEventCallback).toHaveBeenCalledWith('ratelimit_backoff', 'transaction'); + expect(recordDroppedEventCallback).toHaveBeenCalledWith('ratelimit_backoff', 'transaction', 1); expect(recordDroppedEventCallback).toHaveBeenCalledWith('ratelimit_backoff', 'span', 1); requestExecutor.mockClear(); recordDroppedEventCallback.mockClear(); @@ -302,7 +302,7 @@ describe('createTransport', () => { await transport.send(TRANSACTION_ENVELOPE); // Transaction envelope should not be sent because of pending rate limit expect(requestExecutor).not.toHaveBeenCalled(); - expect(recordDroppedEventCallback).toHaveBeenCalledWith('ratelimit_backoff', 'transaction'); + expect(recordDroppedEventCallback).toHaveBeenCalledWith('ratelimit_backoff', 'transaction', 1); expect(recordDroppedEventCallback).toHaveBeenCalledWith('ratelimit_backoff', 'span', 1); requestExecutor.mockClear(); recordDroppedEventCallback.mockClear(); @@ -454,7 +454,7 @@ describe('createTransport', () => { expect(mockRecordDroppedEventCallback).toHaveBeenCalledTimes(3); expect(mockRecordDroppedEventCallback).toHaveBeenCalledWith('send_error', 'error', 1); - expect(mockRecordDroppedEventCallback).toHaveBeenCalledWith('send_error', 'transaction'); + expect(mockRecordDroppedEventCallback).toHaveBeenCalledWith('send_error', 'transaction', 1); expect(mockRecordDroppedEventCallback).toHaveBeenCalledWith('send_error', 'span', 3); });