Skip to content

Commit 972298d

Browse files
authored
feat(node): Make @sentry/node powered by OpenTelemetry (#10762)
This PR makes the former node-experimental package `@sentry/node`, and the former node package `@sentry/node-experimental`. All meta-SDKs (nextjs, sveltekit, remix, astro) as well as bun, serverless, depend on `@sentry/node-experimental` for now. We'll need to change this over one by one to instead depend on `@sentry/node`, and fix any things we find along the way. I've moved the test as much as possible, but didn't specifically invest a lot of time to fix tests that failed - I left them to point to node-experimental for now. This mainly affects express tests (we also have some new express tests, but may need to port some over), and some select others - we'll also need to investigate these one by one and replace/update them until none are left.
1 parent 7d4f791 commit 972298d

File tree

157 files changed

+261
-1347
lines changed

Some content is hidden

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

157 files changed

+261
-1347
lines changed

dev-packages/e2e-tests/test-applications/node-experimental-fastify-app/package.json

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,11 @@
1010
"test:assert": "pnpm test"
1111
},
1212
"dependencies": {
13-
"@sentry/node-experimental": "latest || *",
13+
"@sentry/node": "latest || *",
1414
"@sentry/types": "latest || *",
1515
"@sentry/core": "latest || *",
1616
"@sentry/utils": "latest || *",
17-
"@sentry/node": "latest || *",
18-
"@sentry/opentelemetry-node": "latest || *",
19-
"@sentry-internal/tracing": "latest || *",
17+
"@sentry/opentelemetry": "latest || *",
2018
"@types/node": "18.15.1",
2119
"fastify": "4.23.2",
2220
"fastify-plugin": "4.5.1",

dev-packages/e2e-tests/test-applications/node-experimental-fastify-app/src/app.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
require('./tracing');
22

3-
const Sentry = require('@sentry/node-experimental');
3+
const Sentry = require('@sentry/node');
44
const { fastify } = require('fastify');
55
const fastifyPlugin = require('fastify-plugin');
66
const http = require('http');
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
const Sentry = require('@sentry/node-experimental');
1+
const Sentry = require('@sentry/node');
22

33
Sentry.init({
44
environment: 'qa', // dynamic sampling bias to keep transactions
55
dsn: process.env.E2E_TEST_DSN,
66
integrations: [],
7-
debug: true,
87
tracesSampleRate: 1,
98
tunnel: 'http://localhost:3031/', // proxy server
109
});

dev-packages/e2e-tests/test-applications/node-exports-test-app/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"test:assert": "pnpm test"
1313
},
1414
"dependencies": {
15-
"@sentry/node": "latest || *",
15+
"@sentry/node-experimental": "latest || *",
1616
"@sentry/sveltekit": "latest || *",
1717
"@sentry/remix": "latest || *",
1818
"@sentry/astro": "latest || *",

dev-packages/e2e-tests/test-applications/node-exports-test-app/scripts/consistentExports.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import * as SentryAstro from '@sentry/astro';
22
import * as SentryBun from '@sentry/bun';
33
import * as SentryNextJs from '@sentry/nextjs';
4-
import * as SentryNode from '@sentry/node';
4+
import * as SentryNode from '@sentry/node-experimental';
55
import * as SentryRemix from '@sentry/remix';
66
import * as SentryServerless from '@sentry/serverless';
77
import * as SentrySvelteKit from '@sentry/sveltekit';

dev-packages/e2e-tests/test-applications/node-express-app/src/app.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,6 @@ Sentry.init({
2222
const app = express();
2323
const port = 3030;
2424

25-
app.use(Sentry.Handlers.requestHandler());
26-
app.use(Sentry.Handlers.tracingHandler());
27-
2825
app.get('/test-success', function (req, res) {
2926
res.send({ version: 'v1' });
3027
});
@@ -73,7 +70,7 @@ app.get('/test-local-variables-caught', function (req, res) {
7370
res.send({ exceptionId, randomVariableToRecord });
7471
});
7572

76-
app.use(Sentry.Handlers.errorHandler());
73+
Sentry.setupExpressErrorHandler(app);
7774

7875
// @ts-ignore
7976
app.use(function onError(err, req, res, next) {

dev-packages/e2e-tests/test-applications/node-hapi-app/src/app.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ Sentry.init({
1010
environment: 'qa', // dynamic sampling bias to keep transactions
1111
dsn: process.env.E2E_TEST_DSN,
1212
includeLocalVariables: true,
13-
integrations: [Sentry.hapiIntegration({ server })],
1413
debug: true,
1514
tunnel: `http://localhost:3031/`, // proxy server
1615
tracesSampleRate: 1,
@@ -56,6 +55,7 @@ const init = async () => {
5655

5756
(async () => {
5857
init();
58+
await Sentry.setupHapiErrorHandler(server);
5959
await server.start();
6060
console.log('Server running on %s', server.info.uri);
6161
})();

dev-packages/node-integration-tests/package.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,9 @@
1616
"build:types": "tsc -p tsconfig.types.json",
1717
"clean": "rimraf -g **/node_modules && run-p clean:script",
1818
"clean:script": "node scripts/clean.js",
19-
"prisma:init": "(cd suites/tracing/prisma-orm && ts-node ./setup.ts)",
20-
"prisma:init:new": "(cd suites/tracing-new/prisma-orm && ts-node ./setup.ts)",
2119
"lint": "eslint . --format stylish",
2220
"fix": "eslint . --format stylish --fix",
2321
"type-check": "tsc",
24-
"pretest": "run-s --silent prisma:init prisma:init:new",
2522
"test": "ts-node ./utils/run-tests.ts",
2623
"jest": "jest --config ./jest.config.js",
2724
"test:watch": "yarn test --watch"

dev-packages/node-integration-tests/suites/anr/basic-session.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Sentry.init({
1212
release: '1.0',
1313
debug: true,
1414
integrations: [Sentry.anrIntegration({ captureStackTrace: true, anrThreshold: 100 })],
15+
autoSessionTracking: true,
1516
});
1617

1718
function longWork() {

dev-packages/node-integration-tests/suites/express/handle-error/server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { loggingTransport, startExpressServerAndSendPortToRunner } from '@sentry-internal/node-integration-tests';
2-
import * as Sentry from '@sentry/node';
2+
import * as Sentry from '@sentry/node-experimental';
33
import express from 'express';
44

55
const app = express();

0 commit comments

Comments
 (0)