You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Today, we have @sentry/node which out of the box comes with a lot of (OpenTelemetry-based) auto instrumentation.
While this is the default experience we want for our users - e.g. no need to install further packages - it can be annoying for certain users:
Users who do not care about performance monitoring, do not need to pull in all these node dependencies
Users who have their own OTEL setup may run into problems with conflicts of versions
Users who do not care about performance auto-instrumentation, for example if you instrument a CLI or similar things
For these users, we should look into providing an easier way to get the Sentry experience they deserve. For example, we could add a @sentry/node-core package, which is more or less the node package minus all the OTEL instrumentation packages. Then, the @sentry/node package could extend this and add the respective auto instrumentation. The node-core package would only register our own custom http & fetch instrumentation to get the core functionality we need working (this is already basically done for http, for fetch still TODO: #15212)
And would get a fully working Sentry instance, but without performance auto-instrumentation & otel instrumentation package dependencies.
Notes / Thoughts
Some additional pointers for implementation:
The node core SDK needs a httpIntegration & fetchIntergation which basically only register SentryHttpInstrumentation and SentryNodeFetchInstrumentation. The node SDK must extend these and register the additional otel instrumentations, as we already do today
The text was updated successfully, but these errors were encountered:
This would be a huge benefit to me and my team. The fact that @sentry/node pins OTel deps means that I either have to a) wait for Sentry to update them, b) pin to older versions in my project to avoid duplicates, or c) contribute the upgrades to Sentry myself (which I've been trying to do, see #15098 and related PRs). I'd love it if I could install a version of Sentry that doesn't come with OTel dependencies and just use it for error reporting (which Sentry is fantastic at).
Description
Today, we have
@sentry/node
which out of the box comes with a lot of (OpenTelemetry-based) auto instrumentation.While this is the default experience we want for our users - e.g. no need to install further packages - it can be annoying for certain users:
For these users, we should look into providing an easier way to get the Sentry experience they deserve. For example, we could add a
@sentry/node-core
package, which is more or less the node package minus all the OTEL instrumentation packages. Then, the@sentry/node
package could extend this and add the respective auto instrumentation. Thenode-core
package would only register our own custom http & fetch instrumentation to get the core functionality we need working (this is already basically done for http, for fetch still TODO: #15212)With this, users could choose to do:
And would get a fully working Sentry instance, but without performance auto-instrumentation & otel instrumentation package dependencies.
Notes / Thoughts
Some additional pointers for implementation:
httpIntegration
&fetchIntergation
which basically only registerSentryHttpInstrumentation
andSentryNodeFetchInstrumentation
. The node SDK must extend these and register the additional otel instrumentations, as we already do todayThe text was updated successfully, but these errors were encountered: