Skip to content

Commit fd32e77

Browse files
committed
Merge remote-tracking branch 'upstream/develop' into timfish/feat/pino-integration
2 parents 630a8c7 + d5f0ac3 commit fd32e77

File tree

149 files changed

+3029
-6247
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

149 files changed

+3029
-6247
lines changed

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,16 @@ body:
133133
description: Logs? Screenshots? Yes, please.
134134
validations:
135135
required: true
136+
- type: textarea
137+
id: additional
138+
attributes:
139+
label: Additional Context
140+
description:
141+
Add any other context here. Please keep the pre-filled text, which helps us manage issue prioritization.
142+
value: |-
143+
<sub>Tip: React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding `+1` or `me too`, to help us triage it.</sub>
144+
validations:
145+
required: false
136146
- type: markdown
137147
attributes:
138148
value: |-

.github/ISSUE_TEMPLATE/feature.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,16 @@ body:
2323
Add a blender to Sentry.
2424
validations:
2525
required: true
26+
- type: textarea
27+
id: additional
28+
attributes:
29+
label: Additional Context
30+
description:
31+
Add any other context here. Please keep the pre-filled text, which helps us manage feature prioritization.
32+
value: |-
33+
<sub>Tip: React with 👍 to help prioritize this improvement. Please use comments to provide useful context, avoiding `+1` or `me too`, to help us triage it.</sub>
34+
validations:
35+
required: false
2636
- type: markdown
2737
attributes:
2838
value: |-

.size-limit.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ module.exports = [
233233
import: createImport('init'),
234234
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
235235
gzip: true,
236-
limit: '154 KB',
236+
limit: '156 KB',
237237
},
238238
{
239239
name: '@sentry/node - without tracing',
@@ -263,7 +263,7 @@ module.exports = [
263263
import: createImport('init'),
264264
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
265265
gzip: true,
266-
limit: '107 KB',
266+
limit: '111 KB',
267267
},
268268
];
269269

CHANGELOG.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,46 @@
44

55
- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott
66

7+
### Important Changes
8+
9+
- **feat(node) Ensure `prismaIntegration` works with Prisma 5 ([#17595](https://github.com/getsentry/sentry-javascript/pull/17595))**
10+
11+
We used to require to pass in the v5 version of `@prisma/instrumentation` into `prismaIntegration({ prismaInstrumentation: new PrismaInstrumentation() })`, if you wanted to get full instrumentation for Prisma v5. However, it turns out this does not work on v10 of the SDK anymore, because `@prisma/instrumentation@5` requires OTEL v1.
12+
13+
With this release, we dropped the requirement to configure anything to get v5 support of Prisma. You do not need to configure anything in the integration anymore, and can remove the dependency on `@prisma/instrumentation@5` if you had it in your application. You only need to configure the `tracing` preview feature [according to our docs](https://docs.sentry.io/platforms/javascript/guides/node/configuration/integrations/prisma/).
14+
15+
- **feat(deps): Update OpenTelemetry dependencies ([#17558](https://github.com/getsentry/sentry-javascript/pull/17558))**
16+
- @opentelemetry/core bumped to ^2.1.0
17+
- @opentelemetry/context-async-hooks bumped to ^2.1.0
18+
- @opentelemetry/resources bumped to ^2.1.0
19+
- @opentelemetry/sdk-trace-base bumped to ^2.1.0
20+
- @opentelemetry/semantic-conventions bumped to ^1.37.0
21+
- @opentelemetry/instrumentation bumped to ^0.204.0
22+
- @opentelemetry/instrumentation-http bumped to ^0.204.0
23+
- @opentelemetry/instrumentation-amqplib bumped to ^0.51.0
24+
- @opentelemetry/instrumentation-aws-sdk bumped to ^0.59.0
25+
- @opentelemetry/instrumentation-connect bumped to ^0.48.0
26+
- @opentelemetry/instrumentation-dataloader bumped to ^0.22.0
27+
- @opentelemetry/instrumentation-express bumped to ^0.53.0
28+
- @opentelemetry/instrumentation-fs bumped from to ^0.24.0
29+
- @opentelemetry/instrumentation-generic-pool bumped to ^0.48.0
30+
- @opentelemetry/instrumentation-graphql bumped to ^0.52.0
31+
- @opentelemetry/instrumentation-hapi bumped to ^0.51.0
32+
- @opentelemetry/instrumentation-ioredis bumped to ^0.52.0
33+
- @opentelemetry/instrumentation-kafkajs bumped to ^0.14.0
34+
- @opentelemetry/instrumentation-knex bumped to ^0.49.0
35+
- @opentelemetry/instrumentation-koa bumped to ^0.52.0
36+
- @opentelemetry/instrumentation-lru-memoizer bumped to ^0.49.0
37+
- @opentelemetry/instrumentation-mongodb bumped from to ^0.57.0
38+
- @opentelemetry/instrumentation-mongoose bumped from to ^0.51.0
39+
- @opentelemetry/instrumentation-mysql bumped to ^0.50.0
40+
- @opentelemetry/instrumentation-mysql2 bumped to ^0.51.0
41+
- @opentelemetry/instrumentation-nestjs-core bumped to ^0.50.0
42+
- @opentelemetry/instrumentation-pg bumped to ^0.57.0
43+
- @opentelemetry/instrumentation-redis bumped to ^0.53.0
44+
- @opentelemetry/instrumentation-undici bumped to ^0.15.0
45+
- @prisma/instrumentation bumped to 6.15.0
46+
747
## 10.11.0
848

949
### Important Changes

dev-packages/browser-integration-tests/suites/tracing/browserTracingIntegration/linked-traces/consistent-sampling/meta-precedence/test.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,13 @@ sentryTest.describe('When `consistentTraceSampling` is `true` and page contains
3030
const clientReportPromise = waitForClientReportRequest(page);
3131

3232
await sentryTest.step('Initial pageload', async () => {
33+
// negative sampling decision -> no pageload txn
3334
await page.goto(url);
3435
});
3536

3637
await sentryTest.step('Make fetch request', async () => {
38+
// The fetch requests starts a new trace on purpose. So we only want the
39+
// sampling decision and rand to be the same as from the meta tag but not the trace id or DSC
3740
const tracingHeadersPromise = waitForTracingHeadersOnUrl(page, 'http://sentry-test-external.io');
3841

3942
await page.locator('#btn2').click();
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
fetch('http://sentry-test-site.example/0').then();
1+
fetch('http://sentry-test-site.example/0');
2+
fetch('http://sentry-test-site.example/1');

dev-packages/browser-integration-tests/suites/tracing/request/fetch-tracing-without-performance-propagateTraceparent/test.ts

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,36 @@ sentryTest(
1212

1313
const url = await getLocalTestUrl({ testDir: __dirname });
1414

15-
const [, request] = await Promise.all([page.goto(url), page.waitForRequest('http://sentry-test-site.example/0')]);
15+
const [, request0, request1] = await Promise.all([
16+
page.goto(url),
17+
page.waitForRequest('http://sentry-test-site.example/0'),
18+
page.waitForRequest('http://sentry-test-site.example/1'),
19+
]);
1620

17-
const requestHeaders = request.headers();
21+
const requestHeaders0 = request0.headers();
1822

19-
const traceparentData = extractTraceparentData(requestHeaders['sentry-trace']);
23+
const traceparentData = extractTraceparentData(requestHeaders0['sentry-trace']);
2024
expect(traceparentData).toMatchObject({
2125
traceId: expect.stringMatching(/^([a-f0-9]{32})$/),
2226
parentSpanId: expect.stringMatching(/^([a-f0-9]{16})$/),
2327
parentSampled: undefined,
2428
});
2529

26-
expect(requestHeaders).toMatchObject({
30+
expect(requestHeaders0).toMatchObject({
2731
'sentry-trace': `${traceparentData?.traceId}-${traceparentData?.parentSpanId}`,
2832
baggage: expect.stringContaining(`sentry-trace_id=${traceparentData?.traceId}`),
2933
traceparent: `00-${traceparentData?.traceId}-${traceparentData?.parentSpanId}-00`,
3034
});
35+
36+
const requestHeaders1 = request1.headers();
37+
expect(requestHeaders1).toMatchObject({
38+
'sentry-trace': `${traceparentData?.traceId}-${traceparentData?.parentSpanId}`,
39+
baggage: expect.stringContaining(`sentry-trace_id=${traceparentData?.traceId}`),
40+
traceparent: `00-${traceparentData?.traceId}-${traceparentData?.parentSpanId}-00`,
41+
});
42+
43+
expect(requestHeaders1['sentry-trace']).toBe(requestHeaders0['sentry-trace']);
44+
expect(requestHeaders1['baggage']).toBe(requestHeaders0['baggage']);
45+
expect(requestHeaders1['traceparent']).toBe(requestHeaders0['traceparent']);
3146
},
3247
);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import * as Sentry from '@sentry/browser';
2+
3+
window.Sentry = Sentry;
4+
5+
Sentry.init({
6+
// in browser TwP means not setting tracesSampleRate but adding browserTracingIntegration,
7+
dsn: 'https://[email protected]/1337',
8+
integrations: [Sentry.browserTracingIntegration()],
9+
tracePropagationTargets: ['http://sentry-test-site.example'],
10+
propagateTraceparent: true,
11+
});
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<!doctype html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8" />
5+
<!-- Purposefully emitting the `sampled` flag in the sentry-trace tag -->
6+
<meta name="sentry-trace" content="12345678901234567890123456789012-1234567890123456" />
7+
<meta
8+
name="baggage"
9+
content="sentry-trace_id=12345678901234567890123456789012,sentry-public_key=public,sentry-release=1.0.0,sentry-environment=prod,sentry-sample_rand=0.42"
10+
/>
11+
</head>
12+
<body>
13+
<button id="errorBtn">Throw Error</button>
14+
<button id="fetchBtn">Fetch Request</button>
15+
<button id="xhrBtn">XHR Request</button>
16+
</body>
17+
</html>

0 commit comments

Comments
 (0)