sentry-javascript
sentry-javascript copied to clipboard
feat(nextjs/vercel-edge/cloudflare): Switch to OTEL for performance monitoring
This PR is a collection of PRs enabling OTEL tracing for @sentry/nextjs, @sentry/vercel-edge, and by extension @sentry/cloudflare.
Tasks:
- [x] Make Edge SDK use OTEL (https://github.com/getsentry/sentry-javascript/pull/13742)
- Switch Next.js SDK over to OTEL tracing
- [x] Disable incoming HTTP integration: https://github.com/getsentry/sentry-javascript/pull/13918
- [x] Fork isolation scope for edge centrally: https://github.com/getsentry/sentry-javascript/pull/13919
- [x] Fork isolation scope for node centrally: https://github.com/getsentry/sentry-javascript/pull/13921
- App Router
- [x] Server Components (previously done)
- [x] Generation Functions (previously done)
- [x] Route handlers (https://github.com/getsentry/sentry-javascript/pull/13887)
- Pages Router
- [ ] Data Fetchers
- [ ] API Routes
- Fix span quality upstream: https://github.com/vercel/next.js/pull/70908
- Future proof: https://github.com/getsentry/sentry-javascript/pull/13904
- [ ] Automatic server action instrumentation
- [ ] Rip out build time isolation scope creation
- [ ] Set up E2E Tests with Turborepo + Next.js Canary to validate all of the above
- [ ] Double check that any skipped tests are re-added
- [ ] Validate that we are not sending too much data
size-limit report 📦
| Path | Size | % Change | Change |
|---|---|---|---|
| @sentry/browser | 22.73 KB | - | - |
| @sentry/browser - with treeshaking flags | 21.53 KB | - | - |
| @sentry/browser (incl. Tracing) | 35.12 KB | - | - |
| @sentry/browser (incl. Tracing, Replay) | 71.86 KB | - | - |
| @sentry/browser (incl. Tracing, Replay) - with treeshaking flags | 62.26 KB | - | - |
| @sentry/browser (incl. Tracing, Replay with Canvas) | 76.21 KB | - | - |
| @sentry/browser (incl. Tracing, Replay, Feedback) | 88.99 KB | - | - |
| @sentry/browser (incl. Tracing, Replay, Feedback, metrics) | 90.82 KB | - | - |
| @sentry/browser (incl. metrics) | 27 KB | - | - |
| @sentry/browser (incl. Feedback) | 39.87 KB | - | - |
| @sentry/browser (incl. sendFeedback) | 27.38 KB | - | - |
| @sentry/browser (incl. FeedbackAsync) | 32.17 KB | - | - |
| @sentry/react | 25.49 KB | - | - |
| @sentry/react (incl. Tracing) | 38.09 KB | - | - |
| @sentry/vue | 26.91 KB | - | - |
| @sentry/vue (incl. Tracing) | 37.02 KB | - | - |
| @sentry/svelte | 22.87 KB | - | - |
| CDN Bundle | 24.11 KB | - | - |
| CDN Bundle (incl. Tracing) | 36.96 KB | - | - |
| CDN Bundle (incl. Tracing, Replay) | 71.65 KB | - | - |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 76.99 KB | - | - |
| CDN Bundle - uncompressed | 70.7 KB | - | - |
| CDN Bundle (incl. Tracing) - uncompressed | 109.73 KB | - | - |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 222.24 KB | - | - |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 235.46 KB | - | - |
| @sentry/nextjs (client) | 38.17 KB | +0.3% | +115 B 🔺 |
| @sentry/sveltekit (client) | 35.74 KB | - | - |
| @sentry/node | 124.96 KB | -0.16% | -198 B 🔽 |
| @sentry/node - without tracing | 94.01 KB | -0.26% | -247 B 🔽 |
| @sentry/aws-serverless | 103.62 KB | -0.19% | -200 B 🔽 |
:x: 1 Tests Failed:
| Tests completed | Failed | Passed | Skipped |
|---|---|---|---|
| 627 | 1 | 626 | 37 |
View the top 1 failed tests by shortest run time
server-components.test.ts Sends a transaction for a request to app routerStack Traces | 0.464s run time
server-components.test.ts:4:5 Sends a transaction for a request to app router
To view individual test run time comparison to the main branch, go to the Test Analytics Dashboard