Skip to content

feat(node): Make @sentry/node powered by OpenTelemetry #10762

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Feb 21, 2024
Merged

Conversation

mydea
Copy link
Member

@mydea mydea commented Feb 21, 2024

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.

@mydea mydea self-assigned this Feb 21, 2024
@mydea mydea changed the title WIP: Replace node with node-experimental feat(node): Make @sentry/node powered by OpenTelemetry Feb 21, 2024
@mydea mydea marked this pull request as ready for review February 21, 2024 12:46
Copy link
Contributor

github-actions bot commented Feb 21, 2024

size-limit report 📦

Path Size
@sentry/browser (incl. Tracing, Replay, Feedback) - Webpack (gzipped) 77.79 KB (-0.03% 🔽)
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) 69.04 KB (-0.05% 🔽)
@sentry/browser (incl. Tracing, Replay with Canvas) - Webpack (gzipped) 72.98 KB (-0.05% 🔽)
@sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) 62.56 KB (-0.01% 🔽)
@sentry/browser (incl. Tracing) - Webpack (gzipped) 33.25 KB (-0.08% 🔽)
@sentry/browser (incl. browserTracingIntegration) - Webpack (gzipped) 33.15 KB (-0.08% 🔽)
@sentry/browser (incl. Feedback) - Webpack (gzipped) 31.13 KB (-0.03% 🔽)
@sentry/browser (incl. sendFeedback) - Webpack (gzipped) 31.13 KB (-0.04% 🔽)
@sentry/browser - Webpack (gzipped) 22.41 KB (+0.04% 🔺)
@sentry/browser (incl. Tracing, Replay, Feedback) - ES6 CDN Bundle (gzipped) 76.03 KB (-0.08% 🔽)
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) 67.54 KB (-0.07% 🔽)
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) 33.5 KB (-0.16% 🔽)
@sentry/browser - ES6 CDN Bundle (gzipped) 24.69 KB (-0.1% 🔽)
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) 212.31 KB (-0.06% 🔽)
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) 101.03 KB (-0.12% 🔽)
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) 73.87 KB (-0.05% 🔽)
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) 36.8 KB (-0.12% 🔽)
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) 69.35 KB (-0.04% 🔽)
@sentry/react - Webpack (gzipped) 22.44 KB (+0.02% 🔺)
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) 86.83 KB (-0.02% 🔽)
@sentry/nextjs Client - Webpack (gzipped) 50.06 KB (-0.04% 🔽)
@sentry-internal/feedback - Webpack (gzipped) 17.16 KB (0%)

@@ -80,8 +80,8 @@ conditionalTest({ min: 18 })('LocalVariables integration', () => {
child.on('message', msg => {
reportedCount++;
const rssMb = msg.memUsage.rss / 1024 / 1024;
// We shouldn't use more than 100MB of memory
expect(rssMb).toBeLessThan(100);
// We shouldn't use more than 120MB of memory
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@timfish not sure how bad that is, is that just a "random" number or is the fact that this is exceeding this here a sign that it is actually leaking memory? 🤔 I would expect this to use more memory now if it's OTEL powered than before, but 🤷

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If memory is leaked, it exceeds this quite quickly. 100MB was chosen simply because it was the lowest figure where the tests would pass reliably.

@mydea mydea merged commit 972298d into develop Feb 21, 2024
@mydea mydea deleted the fn/node-swap branch February 21, 2024 15:27
AbhiPrasad pushed a commit that referenced this pull request Feb 21, 2024
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants