github getsentry/sentry-javascript 7.91.0

latest releases: 8.37.1, 8.37.0, 8.36.0...
10 months ago

Important Changes

  • feat: Add server runtime metrics aggregator (#9894)

The release adds alpha support for Sentry developer metrics in the server runtime SDKs (@sentry/node, @sentry/deno, @sentry/nextjs server-side, etc.). Via the newly introduced APIs, you can now flush metrics directly to Sentry.

To enable capturing metrics, you first need to add the metricsAggregator experiment to your Sentry.init call.

Sentry.init({
  dsn: '__DSN__',
  _experiments: {
    metricsAggregator: true,
  },
});

Then you'll be able to add counters, sets, distributions, and gauges under the Sentry.metrics namespace.

// Add 4 to a counter named `hits`
Sentry.metrics.increment('hits', 4);

// Add 2 to gauge named `parallel_requests`, tagged with `type: "a"`
Sentry.metrics.gauge('parallel_requests', 2, { tags: { type: 'a' } });

// Add 4.6 to a distribution named `response_time` with unit seconds
Sentry.metrics.distribution('response_time', 4.6, { unit: 'seconds' });

// Add 2 to a set named `valuable.ids`
Sentry.metrics.set('valuable.ids', 2);
  • feat(node): Rework ANR to use worker script via an integration (#9945)

The ANR tracking integration for Node has been reworked to use an integration. ANR tracking now requires a minimum Node version of 16 or higher. Previously you had to call Sentry.enableANRDetection before running your application, now you can simply add the Anr integration to your Sentry.init call.

import * as Sentry from '@sentry/node';

Sentry.init({
  dsn: 'https://public@dsn.ingest.sentry.io/1337',
  integrations: [new Sentry.Integrations.Anr({ captureStackTrace: true, anrThreshold: 200 })],
});

Other Changes

  • feat(breadcrumbs): Send component names on UI breadcrumbs (#9946)
  • feat(core): Add getGlobalScope() method (#9920)
  • feat(core): Add getIsolationScope() method (#9957)
  • feat(core): Add span.end() to replace span.finish() (#9954)
  • feat(core): Ensure startSpan & startSpanManual fork scope (#9955)
  • feat(react): Send component name on spans (#9949)
  • feat(replay): Send component names in replay breadcrumbs (#9947)
  • feat(sveltekit): Add options to configure fetch instrumentation script for CSP (#9969)
  • feat(tracing): Send component name on interaction spans (#9948)
  • feat(utils): Add function to extract relevant component name (#9921)
  • fix(core): Rethrow caught promise rejections in startSpan, startSpanManual, trace (#9958)

Bundle size 📦

Path Size
@sentry/browser (incl. Tracing, Replay, Feedback) - Webpack (gzipped) 75.89 KB
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) 67.25 KB
@sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) 60.87 KB
@sentry/browser (incl. Tracing) - Webpack (gzipped) 31.83 KB
@sentry/browser (incl. Feedback) - Webpack (gzipped) 30.39 KB
@sentry/browser - Webpack (gzipped) 22.09 KB
@sentry/browser (incl. Tracing, Replay, Feedback) - ES6 CDN Bundle (gzipped) 73.3 KB
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) 64.97 KB
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) 31.12 KB
@sentry/browser - ES6 CDN Bundle (gzipped) 23.12 KB
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) 203.77 KB
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) 93.66 KB
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) 68.58 KB
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) 34.07 KB
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) 67.66 KB
@sentry/react - Webpack (gzipped) 22.12 KB
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) 84.31 KB
@sentry/nextjs Client - Webpack (gzipped) 48.95 KB
@sentry-internal/feedback - Webpack (gzipped) 16.6 KB

Don't miss a new sentry-javascript release

NewReleases is sending notifications on new releases.