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 { 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); });