Skip to content

Commit 8d64509

Browse files
authored
ref(core): Use sdkProcessingMetadata field for transaction sampling data (#4388)
In #4252, a new `sdkProcessingMetadata` field was added to the `Scope` and `Event` interfaces, to provide a place to put data which is needed for in-SDK event processing but shouldn't be sent to Sentry. This refactors one step in that processing... process... to use the new field, eliminating the need to pull the data out of `debug_meta` before the event is sent.
1 parent c5127a0 commit 8d64509

File tree

4 files changed

+5
-34
lines changed

4 files changed

+5
-34
lines changed

packages/core/src/request.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,8 @@ export function eventToSentryRequest(event: Event, api: APIDetails): SentryReque
5555
const eventType = event.type || 'event';
5656
const useEnvelope = eventType === 'transaction' || !!api.tunnel;
5757

58-
const { transactionSampling, ...metadata } = event.debug_meta || {};
58+
const { transactionSampling } = event.sdkProcessingMetadata || {};
5959
const { method: samplingMethod, rate: sampleRate } = transactionSampling || {};
60-
if (Object.keys(metadata).length === 0) {
61-
delete event.debug_meta;
62-
} else {
63-
event.debug_meta = metadata;
64-
}
6560

6661
// prevent this data from being sent to sentry
6762
delete event.sdkProcessingMetadata;

packages/core/test/lib/request.test.ts

Lines changed: 3 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { DebugMeta, Event, SentryRequest } from '@sentry/types';
1+
import { Event, SentryRequest } from '@sentry/types';
22

33
import { initAPIDetails } from '../../src/api';
44
import { eventToSentryRequest, sessionToSentryRequest } from '../../src/request';
@@ -42,11 +42,12 @@ describe('eventToSentryRequest', () => {
4242
transaction: '/dogs/are/great/',
4343
type: 'transaction',
4444
user: { id: '1121', username: 'CharlieDog', ip_address: '11.21.20.12' },
45+
sdkProcessingMetadata: {},
4546
};
4647
});
4748

4849
it('adds transaction sampling information to item header', () => {
49-
event.debug_meta = { transactionSampling: { method: 'client_rate', rate: 0.1121 } };
50+
event.sdkProcessingMetadata = { transactionSampling: { method: 'client_rate', rate: 0.1121 } };
5051

5152
const result = eventToSentryRequest(event, api);
5253
const envelope = parseEnvelopeRequest(result);
@@ -58,30 +59,6 @@ describe('eventToSentryRequest', () => {
5859
);
5960
});
6061

61-
it('removes transaction sampling information (and only that) from debug_meta', () => {
62-
event.debug_meta = {
63-
transactionSampling: { method: 'client_sampler', rate: 0.1121 },
64-
dog: 'Charlie',
65-
} as DebugMeta;
66-
67-
const result = eventToSentryRequest(event, api);
68-
const envelope = parseEnvelopeRequest(result);
69-
70-
expect('transactionSampling' in envelope.event.debug_meta).toBe(false);
71-
expect('dog' in envelope.event.debug_meta).toBe(true);
72-
});
73-
74-
it('removes debug_meta entirely if it ends up empty', () => {
75-
event.debug_meta = {
76-
transactionSampling: { method: 'client_rate', rate: 0.1121 },
77-
} as DebugMeta;
78-
79-
const result = eventToSentryRequest(event, api);
80-
const envelope = parseEnvelopeRequest(result);
81-
82-
expect('debug_meta' in envelope.event).toBe(false);
83-
});
84-
8562
it('adds sdk info to envelope header', () => {
8663
const result = eventToSentryRequest(event, api);
8764
const envelope = parseEnvelopeRequest(result);

packages/tracing/src/transaction.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ export class Transaction extends SpanClass implements TransactionInterface {
132132
timestamp: this.endTimestamp,
133133
transaction: this.name,
134134
type: 'transaction',
135-
debug_meta: this.metadata,
135+
sdkProcessingMetadata: this.metadata,
136136
};
137137

138138
const hasMeasurements = Object.keys(this._measurements).length > 0;

packages/types/src/debugMeta.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
**/
44
export interface DebugMeta {
55
images?: Array<DebugImage>;
6-
transactionSampling?: { rate?: number; method?: string };
76
}
87

98
/**

0 commit comments

Comments
 (0)