Skip to content

Commit af12c6f

Browse files
committed
wip move to context
1 parent 1ec3319 commit af12c6f

File tree

7 files changed

+64
-23
lines changed

7 files changed

+64
-23
lines changed

packages/integration-tests/suites/replay/captureReplay/test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ sentryTest('should capture replays', async ({ getLocalTestPath, page }) => {
6767
},
6868
},
6969
platform: 'javascript',
70-
tags: { sessionSampleRate: 1, errorSampleRate: 0 },
70+
contexts: { replay: { session_sample_rate: 1, error_sample_rate: 0 } },
7171
});
7272

7373
expect(replayEvent1).toBeDefined();

packages/replay/src/util/sendReplayRequest.ts

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,6 @@ export async function sendReplayRequest({
5252
replay_id: replayId,
5353
segment_id,
5454
replay_type: session.sampled,
55-
session_sample_rate: options.sessionSampleRate,
56-
error_sample_rate: options.errorSampleRate,
5755
};
5856

5957
const replayEvent = await prepareReplayEvent({ scope, client, replayId, event: baseEvent });
@@ -65,6 +63,15 @@ export async function sendReplayRequest({
6563
return;
6664
}
6765

66+
replayEvent.contexts = {
67+
...replayEvent.contexts,
68+
replay: {
69+
...(replayEvent.contexts && replayEvent.contexts.replay),
70+
session_sample_rate: options.sessionSampleRate,
71+
error_sample_rate: options.errorSampleRate,
72+
},
73+
};
74+
6875
/*
6976
For reference, the fully built event looks something like this:
7077
{
@@ -82,8 +89,6 @@ export async function sendReplayRequest({
8289
"replay_id": "eventId",
8390
"segment_id": 3,
8491
"replay_type": "error",
85-
"session_sample_rate": 1,
86-
"error_sample_rate": 0,
8792
"platform": "javascript",
8893
"event_id": "eventId",
8994
"environment": "production",
@@ -96,6 +101,12 @@ export async function sendReplayRequest({
96101
"version": "7.25.0"
97102
},
98103
"sdkProcessingMetadata": {},
104+
"contexts": {
105+
"replay": {
106+
"session_sample_rate": 1,
107+
"error_sample_rate": 0,
108+
},
109+
},
99110
}
100111
*/
101112

packages/replay/test/integration/errorSampleRate.test.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,12 @@ describe('Integration | errorSampleRate', () => {
6363
recordingPayloadHeader: { segment_id: 0 },
6464
replayEventPayload: expect.objectContaining({
6565
replay_type: 'error',
66-
error_sample_rate: 1,
67-
session_sample_rate: 0,
66+
contexts: {
67+
replay: {
68+
error_sample_rate: 1,
69+
session_sample_rate: 0,
70+
},
71+
},
6872
}),
6973
recordingData: JSON.stringify([
7074
{ data: { isCheckout: true }, timestamp: BASE_TIMESTAMP, type: 2 },
@@ -91,8 +95,12 @@ describe('Integration | errorSampleRate', () => {
9195
recordingPayloadHeader: { segment_id: 1 },
9296
replayEventPayload: expect.objectContaining({
9397
replay_type: 'error',
94-
error_sample_rate: 1,
95-
session_sample_rate: 0,
98+
contexts: {
99+
replay: {
100+
error_sample_rate: 1,
101+
session_sample_rate: 0,
102+
},
103+
},
96104
}),
97105
recordingData: JSON.stringify([{ data: { isCheckout: true }, timestamp: BASE_TIMESTAMP + 5020, type: 2 }]),
98106
});

packages/replay/test/integration/events.test.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,12 @@ describe('Integration | events', () => {
130130
expect(replay).toHaveLastSentReplay({
131131
replayEventPayload: expect.objectContaining({
132132
replay_start_timestamp: (BASE_TIMESTAMP - 10000) / 1000,
133-
error_sample_rate: 0,
134-
session_sample_rate: 1,
133+
contexts: {
134+
replay: {
135+
error_sample_rate: 0,
136+
session_sample_rate: 1,
137+
},
138+
},
135139
urls: ['http://localhost/'], // this doesn't truly test if we are capturing the right URL as we don't change URLs, but good enough
136140
}),
137141
});

packages/replay/test/unit/util/createReplayEnvelope.test.ts

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,12 @@ describe('Unit | util | createReplayEnvelope', () => {
2424
version: '7.25.0',
2525
},
2626
replay_type: 'error',
27-
error_sample_rate: 0,
28-
session_sample_rate: 1,
27+
contexts: {
28+
replay: {
29+
error_sample_rate: 0,
30+
session_sample_rate: 1,
31+
},
32+
},
2933
tags: {},
3034
};
3135

@@ -53,16 +57,20 @@ describe('Unit | util | createReplayEnvelope', () => {
5357
[
5458
{ type: 'replay_event' },
5559
{
60+
contexts: {
61+
replay: {
62+
error_sample_rate: 0,
63+
session_sample_rate: 1,
64+
},
65+
},
5666
environment: 'production',
5767
error_ids: ['errorId'],
58-
error_sample_rate: 0,
5968
event_id: REPLAY_ID,
6069
platform: 'javascript',
6170
replay_id: REPLAY_ID,
6271
replay_type: 'error',
6372
sdk: { integrations: ['BrowserTracing', 'Replay'], name: 'sentry.javascript.unknown', version: '7.25.0' },
6473
segment_id: 3,
65-
session_sample_rate: 1,
6674
tags: {},
6775
timestamp: 1670837008.634,
6876
trace_ids: ['traceId'],
@@ -89,16 +97,20 @@ describe('Unit | util | createReplayEnvelope', () => {
8997
[
9098
{ type: 'replay_event' },
9199
{
100+
contexts: {
101+
replay: {
102+
error_sample_rate: 0,
103+
session_sample_rate: 1,
104+
},
105+
},
92106
environment: 'production',
93107
error_ids: ['errorId'],
94-
error_sample_rate: 0,
95108
event_id: REPLAY_ID,
96109
platform: 'javascript',
97110
replay_id: REPLAY_ID,
98111
sdk: { integrations: ['BrowserTracing', 'Replay'], name: 'sentry.javascript.unknown', version: '7.25.0' },
99112
segment_id: 3,
100113
replay_type: 'error',
101-
session_sample_rate: 1,
102114
tags: {},
103115
timestamp: 1670837008.634,
104116
trace_ids: ['traceId'],

packages/replay/test/unit/util/prepareReplayEvent.test.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,12 @@ describe('Unit | util | prepareReplayEvent', () => {
4848
replay_id: replayId,
4949
replay_type: 'session',
5050
segment_id: 3,
51-
error_sample_rate: 1.0,
52-
session_sample_rate: 0.1,
51+
contexts: {
52+
replay: {
53+
error_sample_rate: 1.0,
54+
session_sample_rate: 0.1,
55+
},
56+
},
5357
};
5458

5559
const replayEvent = await prepareReplayEvent({ scope, client, replayId, event });
@@ -68,8 +72,12 @@ describe('Unit | util | prepareReplayEvent', () => {
6872
platform: 'javascript',
6973
event_id: 'replay-ID',
7074
environment: 'production',
71-
error_sample_rate: 1.0,
72-
session_sample_rate: 0.1,
75+
contexts: {
76+
replay: {
77+
error_sample_rate: 1.0,
78+
session_sample_rate: 0.1,
79+
},
80+
},
7381
sdk: {
7482
name: 'sentry.javascript.testSdk',
7583
version: '1.0.0',

packages/types/src/replay.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ export interface ReplayEvent extends Event {
1111
replay_id: string;
1212
segment_id: number;
1313
replay_type: ReplayRecordingMode;
14-
session_sample_rate: number;
15-
error_sample_rate: number;
1614
}
1715

1816
/**

0 commit comments

Comments
 (0)