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
![npm dt](https://img.shields.io/npm/dt/@sentry/core.svg)
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
.
8.18.0
Important Changes
- ref: Deprecate
enableTracing
(12897)
The enableTracing
option has been deprecated and will be removed in the next major version. We recommend removing it
in favor of the tracesSampleRate
and tracesSampler
options. If you want to enable performance monitoring, please set
the tracesSampleRate
to a sample rate of your choice, or provide a sampling function as tracesSampler
option
instead. If you want to disable performance monitoring, remove the tracesSampler
and tracesSampleRate
options.
Other Changes
- feat(node): Expose
exclude
and include
options for ESM loader (#12910) - feat(browser): Add user agent to INP standalone span attributes (#12896)
- feat(nextjs): Add
experimental_captureRequestError
for onRequestError
hook (#12885) - feat(replay): Bump
rrweb
to 2.25.0 (#12478) - feat(tracing): Add long animation frame tracing (#12646)
- fix: Cleanup hooks when they are not used anymore (#12852)
- fix(angular): Guard
ErrorEvent
check in ErrorHandler to avoid throwing in Node environments (#12892) - fix(inp): Ensure INP spans have correct transaction (#12871)
- fix(nestjs): Do not make SentryTraced() decorated functions async (#12879)
- fix(nextjs): Support automatic instrumentation for app directory with custom page extensions (#12858)
- fix(node): Ensure correct URL is passed to
ignoreIncomingRequests
callback (#12929) - fix(otel): Do not add
otel.kind: INTERNAL
attribute (#12841) - fix(solidstart): Set proper sentry origin for solid router integration when used in solidstart sdk (#12919)
- fix(sveltekit): Add Vite peer dep for proper type resolution (#12926)
- fix(tracing): Ensure you can pass
null
as parentSpan
in startSpan*
(#12928) - ref(core): Small bundle size improvement (#12830)
Work in this release was contributed by @GitSquared, @ziyadkhalil and @mcous. Thank you for your contributions!