What is @sentry/core?
The @sentry/core package is part of the Sentry SDK for JavaScript, which is designed for real-time monitoring and tracking of application health, errors, and performance issues. It provides the core functionalities needed for initializing and configuring Sentry in your application, handling exceptions, and capturing messages and events.
What are @sentry/core's main functionalities?
Initialization and Configuration
This feature allows you to initialize Sentry in your application with your project's DSN (Data Source Name). It is the first step in integrating Sentry into your project for error tracking and performance monitoring.
Sentry.init({ dsn: 'YOUR_DSN_HERE' });
Capturing Exceptions
This feature enables you to capture exceptions in your code and send them to Sentry for monitoring and analysis. It helps in identifying and debugging errors in your application.
try { myFunction(); } catch (e) { Sentry.captureException(e); }
Capturing Messages
This feature allows you to capture custom messages or log messages in Sentry. It can be used for tracking custom events or information that is not necessarily an error.
Sentry.captureMessage('Something went wrong');
Other packages similar to @sentry/core
logrocket
LogRocket is a frontend application monitoring and product analytics tool that provides session replay, performance monitoring, and error tracking. It offers a more visual approach to debugging by allowing you to replay problems as if you were in your user's shoes. Compared to @sentry/core, LogRocket focuses more on the user experience aspect alongside error tracking.
bugsnag
Bugsnag provides error monitoring and application stability management. It offers features for capturing and tracking errors, diagnosing issues, and improving app stability. Bugsnag is similar to @sentry/core in its core functionalities of error tracking and reporting but also emphasizes application stability metrics and trends.
Sentry JavaScript SDK Core

Links
General
This package contains interface definitions, base classes and utilities for building Sentry JavaScript SDKs, like
@sentry/node
or @sentry/browser
.
Please consider all classes and exported functions and interfaces internal
.
9.40.0
Important Changes
- feat(browser): Add debugId sync APIs between web worker and main thread (#16981)
This release adds two Browser SDK APIs to let the main thread know about debugIds of worker files:
webWorkerIntegration({worker})
to be used in the main thread
registerWebWorker({self})
to be used in the web worker
// main.js
Sentry.init({...})
const worker = new MyWorker(...);
Sentry.addIntegration(Sentry.webWorkerIntegration({ worker }));
worker.addEventListener('message', e => {...});
// worker.js
Sentry.registerWebWorker({ self });
self.postMessage(...);
- feat(core): Deprecate logger in favor of debug (#17040)
The internal SDK logger
export from @sentry/core
has been deprecated in favor of the debug
export. debug
only exposes log
, warn
, and error
methods but is otherwise identical to logger
. Note that this deprecation does not affect the logger
export from other packages (like @sentry/browser
or @sentry/node
) which is used for Sentry Logging.
import { logger, debug } from '@sentry/core';
// before
logger.info('This is an info message');
// after
debug.log('This is an info message');
- feat(node): Add OpenAI integration (#17022)
This release adds official support for instrumenting OpenAI SDK calls in with Sentry tracing, following OpenTelemetry semantic conventions for Generative AI. It instruments:
client.chat.completions.create()
- For chat-based completions
client.responses.create()
- For the responses API
// The integration respects your `sendDefaultPii` option, but you can override the behavior in the integration options
Sentry.init({
dsn: '__DSN__',
integrations: [
Sentry.openAIIntegration({
recordInputs: true, // Force recording prompts
recordOutputs: true, // Force recording responses
}),
],
});
Other Changes
- feat(node-core): Expand
@opentelemetry/instrumentation
range to cover 0.203.0
(#17043)
- fix(cloudflare): Ensure errors get captured from durable objects (#16838)
- fix(sveltekit): Ensure server errors from streamed responses are sent (#17044)
Work in this release was contributed by @0xbad0c0d3 and @tommy-gilligan. Thank you for your contributions!