Top Related Projects
Official Sentry SDKs for JavaScript
Quick Overview
Sentry-javascript is the official JavaScript SDK for Sentry, a popular error monitoring and performance tracking platform. It allows developers to integrate Sentry's error tracking and performance monitoring capabilities into their JavaScript applications, providing real-time error reporting and detailed performance insights.
Pros
- Easy integration with various JavaScript frameworks and environments
- Comprehensive error tracking and performance monitoring capabilities
- Automatic instrumentation for many common JavaScript operations
- Customizable configuration options for fine-tuned control
Cons
- Can increase bundle size, especially for smaller applications
- May require additional setup for certain frameworks or environments
- Learning curve for advanced features and configurations
- Potential privacy concerns with automatic data collection (though configurable)
Code Examples
- Basic Sentry initialization:
import * as Sentry from "@sentry/browser";
Sentry.init({
dsn: "https://examplePublicKey@o0.ingest.sentry.io/0",
integrations: [new Sentry.BrowserTracing()],
tracesSampleRate: 1.0,
});
- Capturing a custom error:
try {
nonExistentFunction();
} catch (error) {
Sentry.captureException(error);
}
- Adding custom context to events:
Sentry.configureScope((scope) => {
scope.setTag("page_locale", "de-at");
scope.setUser({ id: "12345", email: "john.doe@example.com" });
});
- Performance monitoring with transactions:
const transaction = Sentry.startTransaction({ name: "Test Transaction" });
Sentry.configureScope((scope) => scope.setSpan(transaction));
// Perform your operations here
transaction.finish();
Getting Started
To get started with sentry-javascript:
-
Install the package:
npm install --save @sentry/browser
-
Initialize Sentry in your main JavaScript file:
import * as Sentry from "@sentry/browser"; Sentry.init({ dsn: "https://examplePublicKey@o0.ingest.sentry.io/0", integrations: [new Sentry.BrowserTracing()], tracesSampleRate: 1.0, });
-
Replace the DSN with your project's DSN from the Sentry dashboard.
-
Errors will now be automatically captured and sent to your Sentry project.
Competitor Comparisons
Official Sentry SDKs for JavaScript
Pros of sentry-javascript
- Comprehensive error tracking and performance monitoring for JavaScript applications
- Supports multiple JavaScript frameworks and environments (browser, Node.js, React Native)
- Extensive documentation and community support
Cons of sentry-javascript
- Can increase bundle size, especially for smaller applications
- May require additional configuration for optimal performance in complex applications
- Learning curve for advanced features and customizations
Code Comparison
Both repositories are the same, so there's no code comparison to make. The sentry-javascript repository contains the official Sentry SDK for JavaScript applications.
Key Features
- Automatic error capturing and reporting
- Performance monitoring and tracing
- Customizable event enrichment
- Breadcrumbs for debugging context
- Release tracking and source maps support
Usage Example
import * as Sentry from "@sentry/browser";
Sentry.init({
dsn: "https://examplePublicKey@o0.ingest.sentry.io/0",
integrations: [new Sentry.BrowserTracing()],
tracesSampleRate: 1.0,
});
This code snippet initializes Sentry in a browser environment, enabling error tracking and performance monitoring.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Bad software is everywhere, and we're tired of it. Sentry is on a mission to help developers write better software faster, so we can get back to enjoying technology. If you want to join us Check out our open positions
Official Sentry SDKs for JavaScript
This is the next line of Sentry JavaScript SDKs, comprised in the @sentry/
namespace. It will provide a more
convenient interface and improved consistency between various JavaScript environments.
Links
Contents
Supported Platforms
For each major JavaScript platform, there is a specific high-level SDK that provides all the tools you need in a single package. Please refer to the README and instructions of those SDKs for more detailed information:
@sentry/browser
: SDK for Browsers@sentry/node
: SDK for Node including integrations for Express@sentry/angular
: Browser SDK for Angular@sentry/astro
: SDK for Astro@sentry/ember
: Browser SDK for Ember@sentry/react
: Browser SDK for React@sentry/svelte
: Browser SDK for Svelte@sentry/sveltekit
: SDK for SvelteKit@sentry/vue
: Browser SDK for Vue@sentry/solid
: Browser SDK for Solid@sentry/gatsby
: SDK for Gatsby@sentry/nestjs
: SDK for NestJS@sentry/nextjs
: SDK for Next.js@sentry/remix
: SDK for Remix@sentry/aws-serverless
: SDK for AWS Lambda Functions@sentry/google-cloud-serverless
: SDK for Google Cloud Functions@sentry/electron
: SDK for Electron with support for native crashes@sentry/react-native
: SDK for React Native with support for native crashes@sentry/capacitor
: SDK for Capacitor Apps and Ionic with support for native crashes@sentry/bun
: SDK for Bun@sentry/deno
: SDK for Deno
Version Support Policy
The current version of the SDK is 8.x. Version 7.x of the SDK will continue to receive critical bugfixes until end of 2024.
Installation and Usage
To install a SDK, simply add the high-level package, for example:
npm install --save @sentry/browser
yarn add @sentry/browser
Setup and usage of these SDKs always follows the same principle.
import * as Sentry from '@sentry/browser';
Sentry.init({
dsn: '__DSN__',
// ...
});
Sentry.captureMessage('Hello, world!');
Other Packages
Besides the high-level SDKs, this repository contains shared packages, helpers and configuration used for SDK development. If you're thinking about contributing to or creating a JavaScript-based SDK, have a look at the resources below:
@sentry-internal/replay
: Provides the integration for Session Replay.@sentry/core
: The base for all JavaScript SDKs with interfaces, type definitions and base classes.@sentry/utils
: A set of helpers and utility functions useful for various SDKs.@sentry/types
: Types used in all packages.
Bug Bounty Program
Our bug bounty program aims to improve the security of our open source projects by encouraging the community to identify and report potential security vulnerabilities. Your reward will depend on the severity of the identified vulnerability.
Our program is currently running on an invitation basis. If you're interested in participating, please send us an email to security@sentry.io and tell us, that you are interested in auditing this repository.
For more details, please have a look at https://sentry.io/security/#vulnerability-disclosure.
Contributors
Thanks to everyone who contributed to the Sentry JavaScript SDK!
Top Related Projects
Official Sentry SDKs for JavaScript
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot