Skip to content

Conversation

@andreiborza
Copy link
Member

@andreiborza andreiborza commented Nov 18, 2025

This PR bumps OpenTelemetry instrumentations and SDK packages to their latest versions.

Dependency Updates:

  • @opentelemetry/context-async-hooks: 2.1.0 → 2.2.0
  • @opentelemetry/core: 2.1.0 → 2.2.0
  • @opentelemetry/resources: 2.1.0 → 2.2.0
  • @opentelemetry/sdk-trace-base: 2.1.0 → 2.2.0
  • @opentelemetry/sdk-trace-node: 2.1.0 → 2.2.0
  • @opentelemetry/instrumentation: 0.204.0 → 0.208.0
  • @opentelemetry/instrumentation-mongodb: 0.57.0 → 0.61.0
  • @opentelemetry/instrumentation-pg: 0.57.0 → 0.61.0
  • @opentelemetry/instrumentation-mysql: 0.50.0 → 0.54.0
  • @opentelemetry/instrumentation-mysql2: 0.51.0 → 0.55.0
  • @opentelemetry/instrumentation-tedious: 0.23.0 → 0.27.0
  • @opentelemetry/instrumentation-mongoose: 0.51.0 → 0.55.0
  • @opentelemetry/instrumentation-redis: 0.53.0 → 0.57.0
  • @opentelemetry/instrumentation-ioredis: 0.52.0 → 0.56.0
  • @opentelemetry/instrumentation-express: 0.53.0 → 0.57.0
  • @opentelemetry/instrumentation-koa: 0.52.0 → 0.57.0
  • @opentelemetry/instrumentation-hapi: 0.51.0 → 0.55.0
  • @opentelemetry/instrumentation-connect: 0.48.0 → 0.52.0
  • @opentelemetry/instrumentation-nestjs-core: 0.50.0 → 0.55.0
  • @opentelemetry/instrumentation-http: 0.204.0 → 0.208.0
  • @opentelemetry/instrumentation-graphql: 0.52.0 → 0.56.0
  • @opentelemetry/instrumentation-amqplib: 0.51.0 → 0.55.0
  • @opentelemetry/instrumentation-aws-sdk: 0.59.0 → 0.64.0
  • @opentelemetry/instrumentation-dataloader: 0.22.0 → 0.26.0
  • @opentelemetry/instrumentation-fs: 0.24.0 → 0.28.0
  • @opentelemetry/instrumentation-generic-pool: 0.48.0 → 0.52.0
  • @opentelemetry/instrumentation-kafkajs: 0.14.0 → 0.18.0
  • @opentelemetry/instrumentation-knex: 0.49.0 → 0.53.0
  • @opentelemetry/instrumentation-lru-memoizer: 0.49.0 → 0.53.0
  • @opentelemetry/instrumentation-undici: 0.15.0 → 0.19.0
  • @prisma/instrumentation: 6.15.0 → 6.19.0

Closes: #18178

@github-actions
Copy link
Contributor

github-actions bot commented Nov 18, 2025

size-limit report 📦

Path Size % Change Change
@sentry/browser 24.7 kB - -
@sentry/browser - with treeshaking flags 23.2 kB - -
@sentry/browser (incl. Tracing) 41.43 kB - -
@sentry/browser (incl. Tracing, Profiling) 45.75 kB - -
@sentry/browser (incl. Tracing, Replay) 79.85 kB - -
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags 69.57 kB - -
@sentry/browser (incl. Tracing, Replay with Canvas) 84.55 kB - -
@sentry/browser (incl. Tracing, Replay, Feedback) 96.77 kB - -
@sentry/browser (incl. Feedback) 41.38 kB - -
@sentry/browser (incl. sendFeedback) 29.39 kB - -
@sentry/browser (incl. FeedbackAsync) 34.33 kB - -
@sentry/react 26.41 kB - -
@sentry/react (incl. Tracing) 43.43 kB - -
@sentry/vue 29.15 kB - -
@sentry/vue (incl. Tracing) 43.23 kB - -
@sentry/svelte 24.72 kB - -
CDN Bundle 27.02 kB - -
CDN Bundle (incl. Tracing) 42.02 kB - -
CDN Bundle (incl. Tracing, Replay) 78.53 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback) 84.02 kB - -
CDN Bundle - uncompressed 79.17 kB - -
CDN Bundle (incl. Tracing) - uncompressed 124.55 kB - -
CDN Bundle (incl. Tracing, Replay) - uncompressed 240.59 kB - -
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 253.35 kB - -
@sentry/nextjs (client) 45.84 kB - -
@sentry/sveltekit (client) 41.79 kB - -
@sentry/node-core 51.02 kB -0.01% -1 B 🔽
@sentry/node 159.04 kB -0.19% -298 B 🔽
@sentry/node - without tracing 92.67 kB -0.26% -233 B 🔽
@sentry/aws-serverless 107.9 kB +1.18% +1.25 kB 🔺

View base workflow run

Copy link
Collaborator

@timfish timfish left a comment

Choose a reason for hiding this comment

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

The latest @opentelemetry/instrumentation now uses import-in-the-middle v2 and require-in-the-middle v8.

These need updating wherever we have them as dependencies and then I guess the bundle impact might be reduced to zero!

@github-actions
Copy link
Contributor

github-actions bot commented Nov 19, 2025

node-overhead report 🧳

Note: This is a synthetic benchmark with a minimal express app and does not necessarily reflect the real-world performance impact in an application.

Scenario Requests/s % of Baseline Prev. Requests/s Change %
GET Baseline 8,571 - 9,022 -5%
GET With Sentry 1,710 20% 1,766 -3%
GET With Sentry (error only) 6,011 70% 6,054 -1%
POST Baseline 1,128 - 1,218 -7%
POST With Sentry 560 50% 601 -7%
POST With Sentry (error only) 979 87% 1,068 -8%
MYSQL Baseline 3,238 - 3,332 -3%
MYSQL With Sentry 481 15% 481 -
MYSQL With Sentry (error only) 2,627 81% 2,726 -4%

View base workflow run

andreiborza added a commit that referenced this pull request Nov 19, 2025
Bumping OpenTelemetry instrumentations is an important but tedious task,
all instrumentations have to be bumped in lockstep across the codebase.
That includes easy to miss dev-packages and third party instrumentations
like prisma's.

This command should make it easier to do that.

Example of a PR that was kicked off with this command:
#18239
@andreiborza andreiborza force-pushed the bump-otel-2025-11-18 branch 4 times, most recently from 1a1d8fc to e435f4e Compare November 19, 2025 13:48
@andreiborza andreiborza marked this pull request as ready for review November 19, 2025 14:01
@andreiborza andreiborza force-pushed the bump-otel-2025-11-18 branch 2 times, most recently from d101f1a to fb89424 Compare November 19, 2025 17:26
- Bump @opentelemetry/instrumentation from 0.204.0 to 0.208.0
- Bump @opentelemetry/instrumentation-amqplib from 0.51.0 to 0.55.0
- Bump @opentelemetry/instrumentation-aws-sdk from 0.59.0 to 0.64.0
- Bump @opentelemetry/instrumentation-connect from 0.48.0 to 0.52.0
- Bump @opentelemetry/instrumentation-dataloader from 0.22.0 to 0.26.0
- Bump @opentelemetry/instrumentation-express from 0.53.0 to 0.57.0
- Bump @opentelemetry/instrumentation-fs from 0.24.0 to 0.28.0
- Bump @opentelemetry/instrumentation-generic-pool from 0.48.0 to 0.52.0
- Bump @opentelemetry/instrumentation-graphql from 0.52.0 to 0.56.0
- Bump @opentelemetry/instrumentation-hapi from 0.51.0 to 0.55.0
- Bump @opentelemetry/instrumentation-http from 0.204.0 to 0.208.0
- Bump @opentelemetry/instrumentation-ioredis from 0.52.0 to 0.56.0
- Bump @opentelemetry/instrumentation-kafkajs from 0.14.0 to 0.18.0
- Bump @opentelemetry/instrumentation-knex from 0.49.0 to 0.53.0
- Bump @opentelemetry/instrumentation-koa from 0.52.0 to 0.57.0
- Bump @opentelemetry/instrumentation-lru-memoizer from 0.49.0 to 0.53.0
- Bump @opentelemetry/instrumentation-mongodb from 0.57.0 to 0.61.0
- Bump @opentelemetry/instrumentation-mongoose from 0.51.0 to 0.55.0
- Bump @opentelemetry/instrumentation-mysql from 0.50.0 to 0.54.0
- Bump @opentelemetry/instrumentation-mysql2 from 0.51.0 to 0.55.0
- Bump @opentelemetry/instrumentation-nestjs-core from 0.50.0 to 0.55.0
- Bump @opentelemetry/instrumentation-pg from 0.57.0 to 0.61.0
- Bump @opentelemetry/instrumentation-redis from 0.53.0 to 0.57.0
- Bump @opentelemetry/instrumentation-tedious from 0.23.0 to 0.27.0
- Bump @opentelemetry/instrumentation-undici from 0.15.0 to 0.19.0
- Bump @prisma/instrumentation from 6.15.0 to 6.19.0
- Bump @opentelemetry/context-async-hooks from ^2.1.0 to ^2.2.0
- Bump @opentelemetry/core from ^2.1.0 to ^2.2.0
- Bump @opentelemetry/resources from ^2.1.0 to ^2.2.0
- Bump @opentelemetry/sdk-trace-base from ^2.1.0 to ^2.2.0
- Bump @opentelemetry/sdk-trace-node from ^2.1.0 to ^2.2.0

Added ^2.2.0 as peer dependency option for core OpenTelemetry packages
in @sentry/node-core and @sentry/opentelemetry to support the latest
OpenTelemetry SDK while maintaining backward compatibility with v1.30.1
and v2.1.0.
Copy link
Member

@JPeer264 JPeer264 left a comment

Choose a reason for hiding this comment

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

2 concerns. rest looks good (CI is failing though)


// Inline EventEmitter interface to avoid Node.js module dependency
// This prevents Node.js type leaks in edge runtime environments
interface EventEmitter {
Copy link
Member

Choose a reason for hiding this comment

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

l: is this intended to be in this PR?

Copy link
Member Author

Choose a reason for hiding this comment

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

I vendored these in because the build was failing. This being the edge-runtime I guess it kind of makes sense not to import anything from node modules. I don't know why this wasn't an issue before.

OTOH types don't make it into run time so.... kind of weird all in all.


// Inline AsyncLocalStorage interface to avoid Node.js module dependency
// This prevents Node.js type leaks in edge runtime environments
interface AsyncLocalStorage<T> {
Copy link
Member

Choose a reason for hiding this comment

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

l: is this intended to be in this PR?

Copy link
Member Author

Choose a reason for hiding this comment

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

Same answer as above.

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.

Conflict between Otel-SDK and Sentry-SDK resulting in traces not being exported.

4 participants