Socket
Socket
Sign inDemoInstall

@sentry/node

Package Overview
Dependencies
Maintainers
9
Versions
510
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@sentry/node

Offical Sentry SDK for Node.js


Version published
Weekly downloads
5.7M
decreased by-5.09%
Maintainers
9
Install size
552 kB
Created
Weekly downloads
 

Package description

What is @sentry/node?

The @sentry/node package is a tool designed for real-time monitoring and fixing crashes in Node.js applications. It provides error tracking and performance monitoring, helping developers to quickly identify, diagnose, and fix problems in their applications. Sentry integrates seamlessly with your existing codebase, offering a range of features to enhance application reliability and user experience.

What are @sentry/node's main functionalities?

Error Tracking

Automatically capture exceptions and errors in your Node.js applications. The code initializes Sentry with your project's DSN and demonstrates how an uncaught exception is automatically reported to Sentry.

const Sentry = require('@sentry/node');
Sentry.init({ dsn: 'YOUR_DSN_HERE' });

app.get('/', function mainHandler(req, res) {
  throw new Error('Broke!');
});

Performance Monitoring

Track the performance of your application, including request times and slow operations. This code sample starts a transaction, simulates an operation with a timeout, and then finishes the transaction, which is then reported to Sentry for performance analysis.

const Sentry = require('@sentry/node');
const transaction = Sentry.startTransaction({ op: 'test', name: 'My First Test Transaction' });

setTimeout(() => {
  transaction.finish();
}, 99);

Custom Event Capturing

Send custom messages or events to Sentry. This is useful for capturing non-exception events that are significant for your application's health monitoring and diagnostics.

const Sentry = require('@sentry/node');

Sentry.captureMessage('Something went wrong', 'error');

Other packages similar to @sentry/node

Readme

Source


Official Sentry SDK for NodeJS

npm version npm dm npm dt

Usage

To use this SDK, call SentryClient.create(options) as early as possible in the main entry module. This will initialize the SDK and hook into the environment. Note that you can turn off almost all side effects using the respective options.

import { SentryClient } from '@sentry/node';

SentryClient.create({
  dsn: '__DSN__',
  // ...
});

To set context information or send manual events, use the provided methods on SentryClient. Note that these functions will not perform any action before you have called SentryClient.create():

// Set user information, as well as tags and further extras
SentryClient.setContext({
  extra: { battery: 0.7 },
  tags: { user_mode: 'admin' },
  user: { id: '4711' },
});

// Add a breadcrumb for future events
SentryClient.addBreadcrumb({
  message: 'My Breadcrumb',
  // ...
});

// Capture exceptions, messages or manual events
SentryClient.captureMessage('Hello, world!');
SentryClient.captureException(new Error('Good bye'));
SentryClient.captureEvent({
  message: 'Manual',
  stacktrace: [
    // ...
  ],
});

Advanced Usage

If you don't want to use a global static instance of Sentry, you can create one yourself:

import { NodeFrontend } from '@sentry/node';

const client = new NodeFrontend({
  dsn: '__DSN__',
  // ...
});

client.install();
// ...

Note that install() returns a Promise that resolves when the installation has finished. It is not necessary to wait for the installation before adding breadcrumbs, defining context or sending events. However, the return value indicates whether the installation was successful and the environment could be instrumented:

import { NodeFrontend } from '@sentry/node';

const client = new NodeFrontend({
  dsn: '__DSN__',
  // ...
});

const success = await client.install();
if (success) {
  // Will capture unhandled promise rejections, etc...
} else {
  // Limited instrumentation, but sending events will still work
}

FAQs

Package last updated on 28 Mar 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc