From 1fa43f3a1b0304ca8b965ed1d9c39b2bbd8393ef Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Wed, 16 Aug 2023 13:47:42 +0200 Subject: [PATCH 01/18] feat: Rework Browser JS integration docs --- .../integrations/requestdata.mdx | 36 +++ .../javascript.mdx | 4 +- .../javascript.mdx | 4 +- .../integrations/breadcrumbs.mdx | 38 +++ .../integrations/captureconsole.mdx | 67 +++++ .../configuration/integrations/custom.mdx | 2 +- .../configuration/integrations/debug.mdx | 72 +++++ .../configuration/integrations/dedupe.mdx | 12 + .../configuration/integrations/default.mdx | 10 - .../integrations/extraerrordata.mdx | 68 +++++ .../integrations/functiontostring.mdx | 10 + .../integrations/globalhandlers.mdx | 20 ++ .../configuration/integrations/httpclient.mdx | 83 ++++++ .../integrations/httpcontext.mdx | 11 + .../integrations/inboundfilters.mdx | 17 ++ .../configuration/integrations/index.mdx | 60 ++++- .../integrations/linkederrors.mdx | 21 ++ .../integrations/modulemetadata.mdx | 13 + .../configuration/integrations/plugin.mdx | 9 - .../integrations/reportingobserver.mdx | 64 +++++ .../integrations/rewriteframes.mdx | 85 ++++++ .../configuration/integrations/trycatch.mdx | 10 + .../integrations/additionalcontext.mdx | 36 +++ .../integrations/breadcrumbs.mdx | 8 + .../integrations/childprocess.mdx | 44 ++++ .../configuration/integrations/dedupe.mdx | 8 + .../configuration/integrations/default.mdx | 248 ------------------ .../integrations/electronbreadcrumbs.mdx | 46 ++++ .../{optional.mdx => electronminidump.mdx} | 10 +- .../integrations/eventtomain.mdx | 8 + .../integrations/globalhandlers.mdx | 8 + .../integrations/httpcontext.mdx | 8 + .../integrations/linkederrors.mdx | 8 + .../integrations/maincontext.mdx | 10 + .../integrations/mainprocesssession.mdx | 32 +++ .../integrations/modulemetadata.mdx | 8 + .../configuration/integrations/net.mdx | 52 ++++ .../integrations/onuncaughtexception.mdx | 14 + .../integrations/preloadinjection.mdx | 23 ++ .../integrations/scopetomain.mdx | 8 + .../integrations/sentryminidump.mdx | 8 + .../configuration/integrations/trycatch.mdx | 8 + .../integrations/requestdata.mdx | 8 + .../configuration/integrations/index.mdx | 7 - .../react-router.mdx | 5 +- .../integrations => features}/redux.mdx | 3 +- .../integrations/requestdata.mdx | 8 + .../integrations/requestdata.mdx | 8 + .../vue/configuration/integrations/index.mdx | 7 - .../integrations => features}/vue-router.mdx | 3 +- src/utils.ts | 9 +- 51 files changed, 1072 insertions(+), 297 deletions(-) create mode 100644 src/includes/platforms/configuration/integrations/requestdata.mdx create mode 100644 src/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx create mode 100644 src/platforms/javascript/common/configuration/integrations/captureconsole.mdx create mode 100644 src/platforms/javascript/common/configuration/integrations/debug.mdx create mode 100644 src/platforms/javascript/common/configuration/integrations/dedupe.mdx delete mode 100644 src/platforms/javascript/common/configuration/integrations/default.mdx create mode 100644 src/platforms/javascript/common/configuration/integrations/extraerrordata.mdx create mode 100644 src/platforms/javascript/common/configuration/integrations/functiontostring.mdx create mode 100644 src/platforms/javascript/common/configuration/integrations/globalhandlers.mdx create mode 100644 src/platforms/javascript/common/configuration/integrations/httpclient.mdx create mode 100644 src/platforms/javascript/common/configuration/integrations/httpcontext.mdx create mode 100644 src/platforms/javascript/common/configuration/integrations/inboundfilters.mdx create mode 100644 src/platforms/javascript/common/configuration/integrations/linkederrors.mdx create mode 100644 src/platforms/javascript/common/configuration/integrations/modulemetadata.mdx delete mode 100644 src/platforms/javascript/common/configuration/integrations/plugin.mdx create mode 100644 src/platforms/javascript/common/configuration/integrations/reportingobserver.mdx create mode 100644 src/platforms/javascript/common/configuration/integrations/rewriteframes.mdx create mode 100644 src/platforms/javascript/common/configuration/integrations/trycatch.mdx create mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/additionalcontext.mdx create mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/breadcrumbs.mdx create mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/childprocess.mdx create mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/dedupe.mdx delete mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/default.mdx create mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/electronbreadcrumbs.mdx rename src/platforms/javascript/guides/electron/configuration/integrations/{optional.mdx => electronminidump.mdx} (71%) create mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/eventtomain.mdx create mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/globalhandlers.mdx create mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/httpcontext.mdx create mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/linkederrors.mdx create mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/maincontext.mdx create mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/mainprocesssession.mdx create mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/modulemetadata.mdx create mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/net.mdx create mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/onuncaughtexception.mdx create mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/preloadinjection.mdx create mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/scopetomain.mdx create mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/sentryminidump.mdx create mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/trycatch.mdx create mode 100644 src/platforms/javascript/guides/nextjs/configuration/integrations/requestdata.mdx delete mode 100644 src/platforms/javascript/guides/react/configuration/integrations/index.mdx rename src/platforms/javascript/guides/react/{configuration/integrations => features}/react-router.mdx (99%) rename src/platforms/javascript/guides/react/{configuration/integrations => features}/redux.mdx (85%) create mode 100644 src/platforms/javascript/guides/remix/configuration/integrations/requestdata.mdx create mode 100644 src/platforms/javascript/guides/sveltekit/configuration/integrations/requestdata.mdx delete mode 100644 src/platforms/javascript/guides/vue/configuration/integrations/index.mdx rename src/platforms/javascript/guides/vue/{configuration/integrations => features}/vue-router.mdx (95%) diff --git a/src/includes/platforms/configuration/integrations/requestdata.mdx b/src/includes/platforms/configuration/integrations/requestdata.mdx new file mode 100644 index 0000000000000..b48522c0bc02d --- /dev/null +++ b/src/includes/platforms/configuration/integrations/requestdata.mdx @@ -0,0 +1,36 @@ +_Import name: `Sentry.Integrations.RequestData`_ + +This integration adds data from incoming requests to transaction and error events that occur during request handling done by the backend. + + + Please note that this integration is only available on the server. + + +## Options: + +- `include` (object) + +Controls what types of data are added to the event: + +```js +{ + cookies: boolean // default: true, + data: boolean // default: true, + headers: boolean // default: true, + ip: boolean // default: false, + query_string: boolean // default: true, + url: boolean // default: true, + user: boolean | { + id: boolean // default: true, + username: boolean // default: true, + email: boolean // default: true, + }, +} +``` + +- `transactionNamingSchema` (string) + +Controls how the transaction will be reported. Options are 'path' (`/some/route`), +'methodPath' (`GET /some/route`), and 'handler' (the name of the route handler +function, if available). +Defaults to `methodPath` diff --git a/src/platform-includes/configuration/enable-pluggable-integrations-lazy/javascript.mdx b/src/platform-includes/configuration/enable-pluggable-integrations-lazy/javascript.mdx index 738d6a094edf3..cc6847e8f6c59 100644 --- a/src/platform-includes/configuration/enable-pluggable-integrations-lazy/javascript.mdx +++ b/src/platform-includes/configuration/enable-pluggable-integrations-lazy/javascript.mdx @@ -2,7 +2,7 @@ ```javascript {tabTitle: ESM} import * as Sentry from "@sentry/browser"; -import { ReportingObserver as ReportingObserverIntegration } from "@sentry/integrations"; +import { ReportingObserver } from "@sentry/integrations"; Sentry.init({ integrations: [], @@ -10,7 +10,7 @@ Sentry.init({ const client = Sentry.getCurrentHub().getClient(); if (client) { - client.addIntegration(new ReportingObserverIntegration()); + client.addIntegration(new ReportingObserver()); } ``` diff --git a/src/platform-includes/configuration/enable-pluggable-integrations/javascript.mdx b/src/platform-includes/configuration/enable-pluggable-integrations/javascript.mdx index bfda1a4b4bca2..01ba9e2ec3f4c 100644 --- a/src/platform-includes/configuration/enable-pluggable-integrations/javascript.mdx +++ b/src/platform-includes/configuration/enable-pluggable-integrations/javascript.mdx @@ -2,11 +2,11 @@ ```javascript {tabTitle: ESM} import * as Sentry from "@sentry/browser"; -import { ReportingObserver as ReportingObserverIntegration } from "@sentry/integrations"; +import { ReportingObserver } from "@sentry/integrations"; Sentry.init({ dsn: "___PUBLIC_DSN___", - integrations: [new ReportingObserverIntegration()], + integrations: [new ReportingObserver()], }); ``` diff --git a/src/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx b/src/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx new file mode 100644 index 0000000000000..8786fba876200 --- /dev/null +++ b/src/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx @@ -0,0 +1,38 @@ +--- +title: Breadcrumbs +excerpt: "" +description: "Wraps native APIs to capture breadcrumbs. (default)" +sidebar_order: 1 +--- + +_Import name: `Sentry.Integrations.Breadcrumbs`_ + +This integration wraps native APIs to capture breadcrumbs. By default, the Sentry SDK wraps all APIs. + +## Options + +- `console` (boolean) + +Log calls to `console.log`, `console.debug`, etc. + +- `dom` (boolean | `{ serializeAttribute: string | string[] }`) + +Log all click and keypress events. + +When an object with `serializeAttribute` key is provided, Breadcrumbs integration will look for given attribute(s) in DOM elements, while generating the breadcrumb trails. Matched elements will be followed by their custom attributes, instead of their `id`s or `class` names. + +- `fetch` (boolean) + +Log HTTP requests done with the Fetch API + +- `history` (boolean) + +Log calls to `history.pushState` and related APIs. + +- `sentry` (boolean) + +Log whenever we send an event to the server. + +- `xhr` (boolean) + +Log HTTP requests done with the XHR API. diff --git a/src/platforms/javascript/common/configuration/integrations/captureconsole.mdx b/src/platforms/javascript/common/configuration/integrations/captureconsole.mdx new file mode 100644 index 0000000000000..e99b6e8b3bdaf --- /dev/null +++ b/src/platforms/javascript/common/configuration/integrations/captureconsole.mdx @@ -0,0 +1,67 @@ +--- +title: CaptureConsole +excerpt: "" +description: "Captures all Console API calls via `captureException` or `captureMessage`." +sidebar_order: 100 +--- + +This integration captures all Console API calls and redirects them to Sentry using the SDK's captureMessage or captureException call, depending on the log level. It then re-triggers to preserve default native behavior: + +This integration requires you to install `@sentry/integrations` next to your main SDK package. + +```javascript {tabTitle: ESM} +import * as Sentry from "@sentry/browser"; +import { CaptureConsole } from "@sentry/integrations"; + +Sentry.init({ + dsn: "___PUBLIC_DSN___", + integrations: [new CaptureConsole()], +}); +``` + +```html {tabTitle: Loader} + + + + +``` + +```html {tabTitle: CDN} + + + + +``` + +## Options + +- `levels` (string[]) + +Array of methods that should be captured. +Defaults to `['log', 'info', 'warn', 'error', 'debug', 'assert']` diff --git a/src/platforms/javascript/common/configuration/integrations/custom.mdx b/src/platforms/javascript/common/configuration/integrations/custom.mdx index 420a764787303..d37b98123947e 100644 --- a/src/platforms/javascript/common/configuration/integrations/custom.mdx +++ b/src/platforms/javascript/common/configuration/integrations/custom.mdx @@ -1,6 +1,6 @@ --- title: Custom Integrations -sidebar_order: 3 +sidebar_order: 200 description: "Learn how you can enable a custom integration." redirect_from: - /platforms/javascript/integrations/custom/ diff --git a/src/platforms/javascript/common/configuration/integrations/debug.mdx b/src/platforms/javascript/common/configuration/integrations/debug.mdx new file mode 100644 index 0000000000000..135755eafcec6 --- /dev/null +++ b/src/platforms/javascript/common/configuration/integrations/debug.mdx @@ -0,0 +1,72 @@ +--- +title: Debug +excerpt: "" +description: "Allows you to inspect the contents of a processed event and hint object that gets passed to beforeSend or beforeSendTransaction." +sidebar_order: 100 +--- + +This integration allows you to inspect the contents of a processed event and hint object that gets passed to beforeSend or beforeSendTransaction. It will always run as the last integration, no matter when it was registered. + +Note that this is different than setting `debug: true` in your Sentry.init options, which will enable debug logging in the console. + +This integration requires you to install `@sentry/integrations` next to your main SDK package. + +```javascript {tabTitle: ESM} +import * as Sentry from "@sentry/browser"; +import { Debug } from "@sentry/integrations"; + +Sentry.init({ + dsn: "___PUBLIC_DSN___", + integrations: [new Debug()], +}); +``` + +```html {tabTitle: Loader} + + + + +``` + +```html {tabTitle: CDN} + + + + +``` + +## Options + +- `debugger` (boolean) + +Trigger DevTools debugger instead of using `console.log`. + +- `stringify` (boolean) + +Stringify event before passing it to `console.log`. diff --git a/src/platforms/javascript/common/configuration/integrations/dedupe.mdx b/src/platforms/javascript/common/configuration/integrations/dedupe.mdx new file mode 100644 index 0000000000000..9fa8b7235176b --- /dev/null +++ b/src/platforms/javascript/common/configuration/integrations/dedupe.mdx @@ -0,0 +1,12 @@ +--- +title: Dedupe +excerpt: "" +description: "Deduplicate certain events to avoid receiving duplicate errors. (default)" +sidebar_order: 1 +--- + +_Import name: `Sentry.Integrations.Dedupe`_ + +This integration deduplicates certain events. It can be helpful if you're receiving many duplicate errors. Note, that Sentry only compares stack traces and fingerprints. + + diff --git a/src/platforms/javascript/common/configuration/integrations/default.mdx b/src/platforms/javascript/common/configuration/integrations/default.mdx deleted file mode 100644 index 8301ad8667e7d..0000000000000 --- a/src/platforms/javascript/common/configuration/integrations/default.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Default Integrations -excerpt: "" -description: "Learn more about system integrations Dedupe, InboundFilters, FunctionToString, Breadcrumbs, GlobalHandlers, LinkedErrors, and HttpContext (UserAgent), that are enabled by default to integrate into the standard library or the interpreter itself." -redirect_from: - - /platforms/javascript/integrations/default/ - - /platforms/javascript/default-integrations/ ---- - - diff --git a/src/platforms/javascript/common/configuration/integrations/extraerrordata.mdx b/src/platforms/javascript/common/configuration/integrations/extraerrordata.mdx new file mode 100644 index 0000000000000..3fe0ddda306c0 --- /dev/null +++ b/src/platforms/javascript/common/configuration/integrations/extraerrordata.mdx @@ -0,0 +1,68 @@ +--- +title: ExtraErrorData +excerpt: "" +description: "Extracts all non-native attributes from the error object and attaches them to the event as extra data." +sidebar_order: 100 +--- + +This integration extracts all non-native attributes from the error object and attaches them to the event as extra data. If the error object has a .toJSON() method, the ExtraErrorData integration will run it to extract additional information. + +This integration requires you to install `@sentry/integrations` next to your main SDK package. + +```javascript {tabTitle: ESM} +import * as Sentry from "@sentry/browser"; +import { ExtraErrorData } from "@sentry/integrations"; + +Sentry.init({ + dsn: "___PUBLIC_DSN___", + integrations: [new ExtraErrorData()], +}); +``` + +```html {tabTitle: Loader} + + + + +``` + +```html {tabTitle: CDN} + + + + +``` + +## Options + +- `depth` (number) + +Limit of how deep the object serializer should go. Anything deeper than limit will +be replaced with standard Node.js REPL notation of [Object], [Array], [Function] or +a primitive value. Defaults to 3. diff --git a/src/platforms/javascript/common/configuration/integrations/functiontostring.mdx b/src/platforms/javascript/common/configuration/integrations/functiontostring.mdx new file mode 100644 index 0000000000000..ec54e5d6d3d33 --- /dev/null +++ b/src/platforms/javascript/common/configuration/integrations/functiontostring.mdx @@ -0,0 +1,10 @@ +--- +title: FunctionToString +excerpt: "" +description: "Allows the SDK to provide original functions and method names, even when those functions or methods are wrapped by our error or breadcrumb handlers. (default)" +sidebar_order: 1 +--- + +_Import name: `Sentry.Integrations.FunctionToString`_ + +This integration allows the SDK to provide original functions and method names, even when those functions or methods are wrapped by our error or breadcrumb handlers. diff --git a/src/platforms/javascript/common/configuration/integrations/globalhandlers.mdx b/src/platforms/javascript/common/configuration/integrations/globalhandlers.mdx new file mode 100644 index 0000000000000..794e898f48b5b --- /dev/null +++ b/src/platforms/javascript/common/configuration/integrations/globalhandlers.mdx @@ -0,0 +1,20 @@ +--- +title: GlobalHandlers +excerpt: "" +description: "Attaches global handlers to capture uncaught exceptions and unhandled rejections. (default)" +sidebar_order: 1 +--- + +_Import name: `Sentry.Integrations.GlobalHandlers`_ + +This integration attaches global handlers to capture uncaught exceptions and unhandled rejections. By default it captures errors & unhandled promise rejections. + +## Options + +- `onerror` (boolean) + +Capture errors bubbled to `onerror`. + +- `onunhandledrejection` (boolean) + +Capture unhandled promise rejections. diff --git a/src/platforms/javascript/common/configuration/integrations/httpclient.mdx b/src/platforms/javascript/common/configuration/integrations/httpclient.mdx new file mode 100644 index 0000000000000..ae204a13ab86e --- /dev/null +++ b/src/platforms/javascript/common/configuration/integrations/httpclient.mdx @@ -0,0 +1,83 @@ +--- +title: HttpClient +excerpt: "" +description: "Captures errors on failed requests from Fetch and XHR and attaches request and response information." +sidebar_order: 100 +--- + +This integration captures errors on failed requests from Fetch and XHR and attaches request and response information. + +By default, error events don't contain header or cookie data. You can change this behavior by setting `sendDefaultPii: true`. + +```javascript {tabTitle: ESM} +import * as Sentry from "@sentry/browser"; +import { HttpClient } from "@sentry/integrations"; + +Sentry.init({ + dsn: "___PUBLIC_DSN___", + integrations: [new HttpClient()], +}); +``` + +```html {tabTitle: Loader} + + + + +``` + +```html {tabTitle: CDN} + + + + +``` + + + +Due to the limitations of both the Fetch and XHR API, the cookie and header collection for both requests and responses is based on best effort. Certain headers may be missing in the event created by the integration. + + + +## Options + +- `sendDefaultPii` (boolean) + +This option is required for capturing headers and cookies. + +- `failedRequestStatusCodes` (array) + +This array can contain tuples of `[begin, end]` (both inclusive), +single status codes, or a combination of both. +Default: `[[500, 599]]` + +- `failedRequestTargets` (array) + +An array of request targets that should be considered, for example `['http://example.com/api/test']` would consider any request to this URL for failure. This array can contain Regexes, strings, or a combination of both. +Default: `[/.*/]` diff --git a/src/platforms/javascript/common/configuration/integrations/httpcontext.mdx b/src/platforms/javascript/common/configuration/integrations/httpcontext.mdx new file mode 100644 index 0000000000000..145d6f0def651 --- /dev/null +++ b/src/platforms/javascript/common/configuration/integrations/httpcontext.mdx @@ -0,0 +1,11 @@ +--- +title: HttpContext +excerpt: "" +description: "Attaches HTTP request information, such as URL, user-agent, referrer, and other headers to the event. (default)" +sidebar_order: 1 +--- + +_Import name: `Sentry.Integrations.HttpContext`_ + +This integration attaches HTTP request information, such as URL, user-agent, referrer, and other headers to the event. +It allows us to correctly catalog and tag events with specific OS, browser, and version information. diff --git a/src/platforms/javascript/common/configuration/integrations/inboundfilters.mdx b/src/platforms/javascript/common/configuration/integrations/inboundfilters.mdx new file mode 100644 index 0000000000000..751e15d777d8c --- /dev/null +++ b/src/platforms/javascript/common/configuration/integrations/inboundfilters.mdx @@ -0,0 +1,17 @@ +--- +title: InboundFilters +excerpt: "" +description: "Allows you to ignore specific errors based on the type, message, or URLs in a given exception. (default)" +sidebar_order: 1 +--- + +_Import name: `Sentry.Integrations.InboundFilters`_ + +This integration allows you to ignore specific errors based on the type, +message, or URLs in a given exception. + +By default, it'll ignore errors that start with `Script error` or `Javascript error: Script error`. + +To configure this integration, use the `ignoreErrors`, `ignoreTransactions`, `denyUrls`, +and `allowUrls` SDK options directly. Keep in mind that `denyURLs` and `allowURLs` +only work for captured exceptions, not raw message events. diff --git a/src/platforms/javascript/common/configuration/integrations/index.mdx b/src/platforms/javascript/common/configuration/integrations/index.mdx index a139ac219270b..0b92ae9423154 100644 --- a/src/platforms/javascript/common/configuration/integrations/index.mdx +++ b/src/platforms/javascript/common/configuration/integrations/index.mdx @@ -4,4 +4,62 @@ sidebar_order: 30 description: "Learn more about how integrations extend the functionality of our SDK to cover common libraries and environments automatically." --- - +Sentry provides a number of integrations which are designed to add automatic instrumentation to your application. + +Some of these integrations are enabled by default, while others have to be explicitly enabled. + +## Available Integrations + + + +## Modifying Default Integrations + +To disable system integrations, set `defaultIntegrations: false` when calling `init()`. + +To override their settings, provide a new instance with your config to the `integrations` option. For example, to turn off browser capturing console calls: + + + +```javascript +Sentry.init({ + dsn: "___PUBLIC_DSN___", + + integrations: [ + new Sentry.Integrations.Breadcrumbs({ + console: false, + }), + ], +}); +``` + +## Adding an Integration + +You can add additional integrations in your `init` call: + + + +Alternatively, you can add integrations lazily via `client.addIntegration()`. +This is useful if you only want to enable an integration in a specific environment or if you want to lazy-load an integration. +For all other cases, we recommend you use the `integrations` option. + + + +## Removing an Integration + +This example removes the default-enabled integration for adding breadcrumbs to the event: + +```javascript +Sentry.init({ + // ... + integrations: function (integrations) { + // integrations will be all default integrations + return integrations.filter(function (integration) { + return integration.name !== "Breadcrumbs"; + }); + }, +}); +``` + +## Custom Integrations + +You can also create custom integrations. [Read more about custom integrations here.](/custom) diff --git a/src/platforms/javascript/common/configuration/integrations/linkederrors.mdx b/src/platforms/javascript/common/configuration/integrations/linkederrors.mdx new file mode 100644 index 0000000000000..cce01e7804c51 --- /dev/null +++ b/src/platforms/javascript/common/configuration/integrations/linkederrors.mdx @@ -0,0 +1,21 @@ +--- +title: LinkedErrors +excerpt: "" +description: "Allows you to configure linked errors. (default)" +sidebar_order: 1 +--- + +_Import name: `Sentry.Integrations.LinkedErrors`_ + +This integration allows you to configure linked errors. They’ll be recursively read up to a specified limit, and lookup will be performed by a specific key. By default, the Sentry SDK sets the limit to five and the key used is `"cause"`. + +## Options + +- `key` (string) +- `limit` (number) + +## Example + +Here is a code example of how this could be implemented: + + diff --git a/src/platforms/javascript/common/configuration/integrations/modulemetadata.mdx b/src/platforms/javascript/common/configuration/integrations/modulemetadata.mdx new file mode 100644 index 0000000000000..2ad90d1dea4c9 --- /dev/null +++ b/src/platforms/javascript/common/configuration/integrations/modulemetadata.mdx @@ -0,0 +1,13 @@ +--- +title: ModuleMetadata +excerpt: "" +description: "Adds module metadata to stack frames." +sidebar_order: 100 +--- + +_Import name: `Sentry.Integrations.ModuleMetadata`_ + +Metadata can be injected by the Sentry bundler plugins using the `_experiments.moduleMetadata` config option. +When this integration is added, the metadata passed to the bundler plugin is added to the stack frames of all events +under the `module_metadata` property. This can be used to help in tagging or routing of events from different teams +our sources diff --git a/src/platforms/javascript/common/configuration/integrations/plugin.mdx b/src/platforms/javascript/common/configuration/integrations/plugin.mdx deleted file mode 100644 index 5f5414df60980..0000000000000 --- a/src/platforms/javascript/common/configuration/integrations/plugin.mdx +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Pluggable Integrations -description: "Learn more about pluggable integrations ExtraErrorData, CaptureConsole, Debug, HttpClient, RewriteFrames, and ReportingObserver, which are snippets of code that augment functionality for specific applications and/or frameworks." -redirect_from: - - /platforms/javascript/integrations/plugin/ - - /platforms/javascript/pluggable-integrations/ ---- - - diff --git a/src/platforms/javascript/common/configuration/integrations/reportingobserver.mdx b/src/platforms/javascript/common/configuration/integrations/reportingobserver.mdx new file mode 100644 index 0000000000000..081c57e59d996 --- /dev/null +++ b/src/platforms/javascript/common/configuration/integrations/reportingobserver.mdx @@ -0,0 +1,64 @@ +--- +title: ReportingObserver +excerpt: "" +description: "Allows you to apply a transformation to each frame of the stack trace." +sidebar_order: 100 +--- + +This integration hooks into the ReportingObserver API and sends captured events through to Sentry. It can be configured to handle only specific issue types. + +```javascript {tabTitle: ESM} +import * as Sentry from "@sentry/browser"; +import { ReportingObserver } from "@sentry/integrations"; + +Sentry.init({ + dsn: "___PUBLIC_DSN___", + integrations: [new ReportingObserver()], +}); +``` + +```html {tabTitle: Loader} + + + + +``` + +```html {tabTitle: CDN} + + + + +``` + +## Options + +- `types` (`'crash'|'deprecation'|'intervention'[]`) + +Only handle the given issue types. By default, all issue types are handled. diff --git a/src/platforms/javascript/common/configuration/integrations/rewriteframes.mdx b/src/platforms/javascript/common/configuration/integrations/rewriteframes.mdx new file mode 100644 index 0000000000000..2a5934565bdc4 --- /dev/null +++ b/src/platforms/javascript/common/configuration/integrations/rewriteframes.mdx @@ -0,0 +1,85 @@ +--- +title: RewriteFrames +excerpt: "" +description: "Allows you to apply a transformation to each frame of the stack trace." +sidebar_order: 100 +--- + +This integration allows you to apply a transformation to each frame of the stack trace. In the streamlined scenario, it can be used to change the name of the file frame it originates from, or it can be fed with an iterated function to apply any arbitrary transformation. + +On Windows machines, you have to use Unix paths and skip the volume letter in the `root` option to enable it. For example, `C:\\Program Files\\Apache\\www` won’t work, however, `/Program Files/Apache/www` will. + +```javascript {tabTitle: ESM} +import * as Sentry from "@sentry/browser"; +import { RewriteFrames } from "@sentry/integrations"; + +Sentry.init({ + dsn: "___PUBLIC_DSN___", + integrations: [new RewriteFrames()], +}); +``` + +```html {tabTitle: Loader} + + + + +``` + +```html {tabTitle: CDN} + + + + +``` + +## Options + +- `root` (string) + +Root path that will be stripped from the current frame's filename by the default iteratee if the filename is an absolute path. + +- `prefix` (string) + +a custom prefix that will be used by the default iteratee. +Default: `app://` + +- `iteratee` (`(frame) => frame`) + +Function that takes the frame, applies a transformation, and returns it. + +## Usage Examples + +For example, if the full path to your file is `/www/src/app/file.js`: + +| Usage | Path in Stack Trace | Description | +| --------------------------------- | ------------------------ | ----------------------------------------------------------------------------------------------------------------------------- | +| `RewriteFrames()` | `app:///file.js` | The default behavior is to replace the absolute path, except the filename, and prefix it with the default prefix (`app:///`). | +| `RewriteFrames({prefix: 'foo/'})` | `foo/file.js` | Prefix `foo/` is used instead of the default prefix `app:///`. | +| `RewriteFrames({root: '/www'})` | `app:///src/app/file.js` | `root` is defined as `/www`, so only that part is trimmed from beginning of the path. | diff --git a/src/platforms/javascript/common/configuration/integrations/trycatch.mdx b/src/platforms/javascript/common/configuration/integrations/trycatch.mdx new file mode 100644 index 0000000000000..7cd3adc0923f3 --- /dev/null +++ b/src/platforms/javascript/common/configuration/integrations/trycatch.mdx @@ -0,0 +1,10 @@ +--- +title: TryCatch +excerpt: "" +description: "Wraps native time and events APIs (`setTimeout`, `setInterval`, `requestAnimationFrame`, `addEventListener/removeEventListener`) in `try/catch` blocks to handle async exceptions. (default)" +sidebar_order: 1 +--- + +_Import name: `Sentry.Integrations.TryCatch`_ + +This integration wraps native time and events APIs (`setTimeout`, `setInterval`, `requestAnimationFrame`, `addEventListener/removeEventListener`) in `try/catch` blocks to handle async exceptions. diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/additionalcontext.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/additionalcontext.mdx new file mode 100644 index 0000000000000..b15e4b9e1c4e4 --- /dev/null +++ b/src/platforms/javascript/guides/electron/configuration/integrations/additionalcontext.mdx @@ -0,0 +1,36 @@ +--- +title: AdditionalContext +excerpt: "" +description: "Adds additional device context to events. (default)" +sidebar_order: 10 +--- + +Adds additional device context to events. + +The constructor takes a number of options which all default to `true`: + +```typescript +interface AdditionalContextOptions { + cpu: boolean; + screen: boolean; + memory: boolean; + language: boolean; +} +``` + +To disable specific context items, set them as `false`: + + + +```javascript +import * as Sentry from "@sentry/electron"; + +Sentry.init({ + dsn: "___PUBLIC_DSN___", + integrations: [ + Sentry.Integrations.AdditionalContext({ + screen: false, + }), + ], +}); +``` diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/breadcrumbs.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/breadcrumbs.mdx new file mode 100644 index 0000000000000..25df4f3f10d14 --- /dev/null +++ b/src/platforms/javascript/guides/electron/configuration/integrations/breadcrumbs.mdx @@ -0,0 +1,8 @@ +--- +title: "" +excerpt: "" +description: "N/A for Electron" +sidebar_order: 9999 +--- + +Not available for Electron. diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/childprocess.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/childprocess.mdx new file mode 100644 index 0000000000000..3aa0d662ea546 --- /dev/null +++ b/src/platforms/javascript/guides/electron/configuration/integrations/childprocess.mdx @@ -0,0 +1,44 @@ +--- +title: ChildProcess +excerpt: "" +description: "Captures breadcrumbs and events for child process exits and crashes. (default)" +sidebar_order: 10 +--- + +Captures breadcrumbs and events for child process exits and crashes. + +```typescript +type ExitReason = + | "clean-exit" + | "abnormal-exit" + | "killed" + | "crashed" + | "oom" + | "launch-failed" + | "integrity-failure"; + +interface ChildProcessOptions { + /** Child process events that generate Sentry breadcrumbs */ + breadcrumbs: ExitReason[]; + /** Child process events that generate Sentry events */ + events: ExitReason[]; +} +``` + +For example, to disable capture of breadcrumbs and only capture events for Out-Of-Memory crashes: + + + +```javascript +import * as Sentry from "@sentry/electron"; + +Sentry.init({ + dsn: "___PUBLIC_DSN___", + integrations: [ + Sentry.Integrations.ChildProcess({ + breadcrumbs: [], + capture: ["oom"], + }), + ], +}); +``` diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/dedupe.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/dedupe.mdx new file mode 100644 index 0000000000000..25df4f3f10d14 --- /dev/null +++ b/src/platforms/javascript/guides/electron/configuration/integrations/dedupe.mdx @@ -0,0 +1,8 @@ +--- +title: "" +excerpt: "" +description: "N/A for Electron" +sidebar_order: 9999 +--- + +Not available for Electron. diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/default.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/default.mdx deleted file mode 100644 index 7d8f9df74af72..0000000000000 --- a/src/platforms/javascript/guides/electron/configuration/integrations/default.mdx +++ /dev/null @@ -1,248 +0,0 @@ ---- -title: Default Integrations -excerpt: "" -description: "Learn more about the integrations that are enabled by default." ---- - -The Sentry Electron SDK uses `@sentry/node` in the main process and `@sentry/browser` in the renderers. - -A number of integrations are included by default that setup communication between Electrons multiple processes and include Electron specific context and breadcrumbs. - -## Main Process - -### `MainContext` - -Adds app, operating system and runtime context to all events. - -### `OnUncaughtException` - -Supports capturing events from `uncaughtException` while retaining Electrons default behaviour of displaying an error dialog if there are no other listeners. - -To disable Electrons default error dialog, simply add another listener: - -```javascript -process.on("uncaughtException", () => {}); -``` - -### `ElectronBreadcrumbs` - -Captures breadcrumbs for events for many of Electrons built-in modules. The breadcrumbs captured for each module can be configured `true` to capture all events or `false` to capture no events. Alternatively you can supply a function which is passed the event name and returns `true` or `false` depending on whether the event should be captured. - -The defaults for this integration are effectively: - - - -```javascript -import * as Sentry from "@sentry/electron"; - -Sentry.init({ - dsn: "___PUBLIC_DSN___", - integrations: [ - Sentry.Integrations.ElectronBreadcrumbs({ - app: (name) => !name.startsWith("remote-"), - autoUpdater: true, - webContents: (name) => - ["dom-ready", "context-menu", "load-url", "destroyed"].includes(name), - browserWindow: (name) => - [ - "closed", - "close", - "unresponsive", - "responsive", - "show", - "blur", - "focus", - "hide", - "maximize", - "minimize", - "restore", - "enter-full-screen", - "leave-full-screen", - ].includes(name), - screen: true, - powerMonitor: true, - }), - ], -}); -``` - -### `SentryMinidump` - -Captures minidumps and sends them with full context to the Sentry Envelope endpoint using a custom uploader. - -### `PreloadInjection` - -Injects a preload script via the Electron [`session.setPreloads(preloads)`](https://www.electronjs.org/docs/latest/api/session#sessetpreloadspreloads) API. By default sessions are only injected into the `defaultSession`. If you are using other sessions, you can pass a function as `getSessions` to `init`. - - - -```javascript -import { session } from "electron"; -import * as Sentry from "@sentry/electron"; - -Sentry.init({ - dsn: "___PUBLIC_DSN___", - getSessions: () => [ - session.defaultSession, - session.fromPartition("persist:my-session"), - ], -}); -``` - -### `AdditionalContext` - -Adds additional device context to events. - -The constructor takes a number of options which all default to `true`: - -```typescript -interface AdditionalContextOptions { - cpu: boolean; - screen: boolean; - memory: boolean; - language: boolean; -} -``` - -To disable specific context items, set them as `false`: - - - -```javascript -import * as Sentry from "@sentry/electron"; - -Sentry.init({ - dsn: "___PUBLIC_DSN___", - integrations: [ - Sentry.Integrations.AdditionalContext({ - screen: false, - }), - ], -}); -``` - -### `Net` - -Captures breadcrumbs and tracing spans for Electrons `net` module. By default breadcrumbs and tracing spans are enabled and `sentry-trace` headers are added to requests for all origins. - -The integration can be configured via constructor options: - -```typescript -interface NetOptions { - /** - * Whether breadcrumbs should be captured for net requests - * - * Defaults to: true - */ - breadcrumbs: boolean; - /** - * Whether to capture transaction spans for net requests - * - * Defaults to: true - */ - tracing: boolean | (method: string, url: string) => boolean; - /** - * Whether to add 'sentry-trace' headers to outgoing requests - * - * Defaults to: true - */ - tracingOrigins: boolean | (method: string, url: string) => boolean; -} -``` - -For example, to disable breadcrumb capture and addition of `sentry-trace` headers and only capture spans for `POST` requests: - - - -```javascript -import * as Sentry from "@sentry/electron"; - -Sentry.init({ - dsn: "___PUBLIC_DSN___", - integrations: [ - Sentry.Integrations.Net({ - breadcrumbs: false, - tracing: (method) => method == "POST", - tracingOrigins: false, - }), - ], -}); -``` - -### `ChildProcess` - -Captures breadcrumbs and events for child process exits and crashes. - -```typescript -type ExitReason = - | "clean-exit" - | "abnormal-exit" - | "killed" - | "crashed" - | "oom" - | "launch-failed" - | "integrity-failure"; - -interface ChildProcessOptions { - /** Child process events that generate Sentry breadcrumbs */ - breadcrumbs: ExitReason[]; - /** Child process events that generate Sentry events */ - events: ExitReason[]; -} -``` - -For example, to disable capture of breadcrumbs and only capture events for Out-Of-Memory crashes: - - - -```javascript -import * as Sentry from "@sentry/electron"; - -Sentry.init({ - dsn: "___PUBLIC_DSN___", - integrations: [ - Sentry.Integrations.ChildProcess({ - breadcrumbs: [], - capture: ["oom"], - }), - ], -}); -``` - -### `MainProcessSession` - -Captures sessions linked to the lifetime of the Electron main process. These sessions result in [release health](/product/releases/health/) statistics being displayed in Sentry. - -Unless `autoSessionTracking` is set to `false`, this integration will be automatically added. - - - -```javascript -import * as Sentry from "@sentry/electron"; - -Sentry.init({ - dsn: "___PUBLIC_DSN___", - autoSessionTracking: false, -}); -``` - -The default behavior is to only send sessions on error or when the main process ends. To send sessions when the main process is created, enable the `sendOnCreate` option. - -``` -import * as Sentry from "@sentry/electron"; - -Sentry.init({ - dsn: "___PUBLIC_DSN___", - integrations: [new Sentry.Integrations.MainProcessSession({ sendOnCreate: true })] -}); -``` - -## Renderer Process - -### `ScopeToMain` - -Captures scope updates and breadcrumbs in renderer processes and forwards them to the Electron main process. - -### `EventToMain` - -Captures events in the renderer processes and forwards them to the Electron main process. This integration prevents events from being sent by the underlying `@sentry/browser` SDK. diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/electronbreadcrumbs.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/electronbreadcrumbs.mdx new file mode 100644 index 0000000000000..88851933f125a --- /dev/null +++ b/src/platforms/javascript/guides/electron/configuration/integrations/electronbreadcrumbs.mdx @@ -0,0 +1,46 @@ +--- +title: ElectronBreadcrumbs +excerpt: "" +description: "Supports capturing events from `uncaughtException` while retaining Electrons default behaviour. (default)" +sidebar_order: 10 +--- + +Captures breadcrumbs for events for many of Electrons built-in modules. The breadcrumbs captured for each module can be configured `true` to capture all events or `false` to capture no events. Alternatively you can supply a function which is passed the event name and returns `true` or `false` depending on whether the event should be captured. + +The defaults for this integration are effectively: + + + +```javascript +import * as Sentry from "@sentry/electron"; + +Sentry.init({ + dsn: "___PUBLIC_DSN___", + integrations: [ + Sentry.Integrations.ElectronBreadcrumbs({ + app: (name) => !name.startsWith("remote-"), + autoUpdater: true, + webContents: (name) => + ["dom-ready", "context-menu", "load-url", "destroyed"].includes(name), + browserWindow: (name) => + [ + "closed", + "close", + "unresponsive", + "responsive", + "show", + "blur", + "focus", + "hide", + "maximize", + "minimize", + "restore", + "enter-full-screen", + "leave-full-screen", + ].includes(name), + screen: true, + powerMonitor: true, + }), + ], +}); +``` diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/optional.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/electronminidump.mdx similarity index 71% rename from src/platforms/javascript/guides/electron/configuration/integrations/optional.mdx rename to src/platforms/javascript/guides/electron/configuration/integrations/electronminidump.mdx index 2e905348b25fc..1373c946be5aa 100644 --- a/src/platforms/javascript/guides/electron/configuration/integrations/optional.mdx +++ b/src/platforms/javascript/guides/electron/configuration/integrations/electronminidump.mdx @@ -1,10 +1,12 @@ --- -title: Optional Integrations -description: "Learn more about optional integrations." +title: ElectronMinidump +excerpt: "" +description: "Captures and sends minidumps via Electrons built in `crashReporter` uploader." +sidebar_order: 10 +redirect_from: + - /platforms/javascript/guides/electron/configuration/integrations/optional/ --- -### `ElectronMinidump` - Captures and sends minidumps via Electrons built in `crashReporter` uploader. Renderer and GPU crashes will only include minimal context because of limitations of the `crashReporter` uploader . For full context, you should prefer the default `SentryMinidump` integration . If you add the `ElectronMinidump` integration, the `SentryMinidump` integration will be automatically removed to avoid duplicate crashes being reported. diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/eventtomain.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/eventtomain.mdx new file mode 100644 index 0000000000000..5a8940f2a25a1 --- /dev/null +++ b/src/platforms/javascript/guides/electron/configuration/integrations/eventtomain.mdx @@ -0,0 +1,8 @@ +--- +title: EventToMain +excerpt: "" +description: "Captures events in the renderer processes and forwards them to the Electron main process. (default)" +sidebar_order: 10 +--- + +Captures events in the renderer processes and forwards them to the Electron main process. This integration prevents events from being sent by the underlying `@sentry/browser` SDK. diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/globalhandlers.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/globalhandlers.mdx new file mode 100644 index 0000000000000..25df4f3f10d14 --- /dev/null +++ b/src/platforms/javascript/guides/electron/configuration/integrations/globalhandlers.mdx @@ -0,0 +1,8 @@ +--- +title: "" +excerpt: "" +description: "N/A for Electron" +sidebar_order: 9999 +--- + +Not available for Electron. diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/httpcontext.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/httpcontext.mdx new file mode 100644 index 0000000000000..25df4f3f10d14 --- /dev/null +++ b/src/platforms/javascript/guides/electron/configuration/integrations/httpcontext.mdx @@ -0,0 +1,8 @@ +--- +title: "" +excerpt: "" +description: "N/A for Electron" +sidebar_order: 9999 +--- + +Not available for Electron. diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/linkederrors.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/linkederrors.mdx new file mode 100644 index 0000000000000..25df4f3f10d14 --- /dev/null +++ b/src/platforms/javascript/guides/electron/configuration/integrations/linkederrors.mdx @@ -0,0 +1,8 @@ +--- +title: "" +excerpt: "" +description: "N/A for Electron" +sidebar_order: 9999 +--- + +Not available for Electron. diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/maincontext.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/maincontext.mdx new file mode 100644 index 0000000000000..72c365abcce4b --- /dev/null +++ b/src/platforms/javascript/guides/electron/configuration/integrations/maincontext.mdx @@ -0,0 +1,10 @@ +--- +title: MainContext +excerpt: "" +description: "Adds app, operating system and runtime context to all events. (default)" +sidebar_order: 10 +redirect_from: + - /platforms/javascript/guides/electron/configuration/integrations/default/ +--- + +Adds app, operating system and runtime context to all events. diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/mainprocesssession.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/mainprocesssession.mdx new file mode 100644 index 0000000000000..da61eddeac2a9 --- /dev/null +++ b/src/platforms/javascript/guides/electron/configuration/integrations/mainprocesssession.mdx @@ -0,0 +1,32 @@ +--- +title: MainProcessSession +excerpt: "" +description: "Captures sessions linked to the lifetime of the Electron main process. (default)" +sidebar_order: 10 +--- + +Captures sessions linked to the lifetime of the Electron main process. These sessions result in [release health](/product/releases/health/) statistics being displayed in Sentry. + +Unless `autoSessionTracking` is set to `false`, this integration will be automatically added. + + + +```javascript +import * as Sentry from "@sentry/electron"; + +Sentry.init({ + dsn: "___PUBLIC_DSN___", + autoSessionTracking: false, +}); +``` + +The default behavior is to only send sessions on error or when the main process ends. To send sessions when the main process is created, enable the `sendOnCreate` option. + +``` +import * as Sentry from "@sentry/electron"; + +Sentry.init({ + dsn: "___PUBLIC_DSN___", + integrations: [new Sentry.Integrations.MainProcessSession({ sendOnCreate: true })] +}); +``` diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/modulemetadata.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/modulemetadata.mdx new file mode 100644 index 0000000000000..25df4f3f10d14 --- /dev/null +++ b/src/platforms/javascript/guides/electron/configuration/integrations/modulemetadata.mdx @@ -0,0 +1,8 @@ +--- +title: "" +excerpt: "" +description: "N/A for Electron" +sidebar_order: 9999 +--- + +Not available for Electron. diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/net.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/net.mdx new file mode 100644 index 0000000000000..6f25bd7960199 --- /dev/null +++ b/src/platforms/javascript/guides/electron/configuration/integrations/net.mdx @@ -0,0 +1,52 @@ +--- +title: Net +excerpt: "" +description: "Captures breadcrumbs and tracing spans for Electrons `net` module. (default)" +sidebar_order: 10 +--- + +Captures breadcrumbs and tracing spans for Electrons `net` module. By default breadcrumbs and tracing spans are enabled and `sentry-trace` headers are added to requests for all origins. + +The integration can be configured via constructor options: + +```typescript +interface NetOptions { + /** + * Whether breadcrumbs should be captured for net requests + * + * Defaults to: true + */ + breadcrumbs: boolean; + /** + * Whether to capture transaction spans for net requests + * + * Defaults to: true + */ + tracing: boolean | (method: string, url: string) => boolean; + /** + * Whether to add 'sentry-trace' headers to outgoing requests + * + * Defaults to: true + */ + tracingOrigins: boolean | (method: string, url: string) => boolean; +} +``` + +For example, to disable breadcrumb capture and addition of `sentry-trace` headers and only capture spans for `POST` requests: + + + +```javascript +import * as Sentry from "@sentry/electron"; + +Sentry.init({ + dsn: "___PUBLIC_DSN___", + integrations: [ + Sentry.Integrations.Net({ + breadcrumbs: false, + tracing: (method) => method == "POST", + tracingOrigins: false, + }), + ], +}); +``` diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/onuncaughtexception.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/onuncaughtexception.mdx new file mode 100644 index 0000000000000..45a0173a1cfad --- /dev/null +++ b/src/platforms/javascript/guides/electron/configuration/integrations/onuncaughtexception.mdx @@ -0,0 +1,14 @@ +--- +title: OnUncaughtException +excerpt: "" +description: "Supports capturing events from `uncaughtException` while retaining Electrons default behaviour. (default)" +sidebar_order: 10 +--- + +Supports capturing events from `uncaughtException` while retaining Electrons default behaviour of displaying an error dialog if there are no other listeners. + +To disable Electrons default error dialog, simply add another listener: + +```javascript +process.on("uncaughtException", () => {}); +``` diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/preloadinjection.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/preloadinjection.mdx new file mode 100644 index 0000000000000..305b59fb85371 --- /dev/null +++ b/src/platforms/javascript/guides/electron/configuration/integrations/preloadinjection.mdx @@ -0,0 +1,23 @@ +--- +title: PreloadInjection +excerpt: "" +description: "Injects a preload script via the Electron. (default)" +sidebar_order: 10 +--- + +Injects a preload script via the Electron [`session.setPreloads(preloads)`](https://www.electronjs.org/docs/latest/api/session#sessetpreloadspreloads) API. By default sessions are only injected into the `defaultSession`. If you are using other sessions, you can pass a function as `getSessions` to `init`. + + + +```javascript +import { session } from "electron"; +import * as Sentry from "@sentry/electron"; + +Sentry.init({ + dsn: "___PUBLIC_DSN___", + getSessions: () => [ + session.defaultSession, + session.fromPartition("persist:my-session"), + ], +}); +``` diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/scopetomain.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/scopetomain.mdx new file mode 100644 index 0000000000000..d6f60a1929a44 --- /dev/null +++ b/src/platforms/javascript/guides/electron/configuration/integrations/scopetomain.mdx @@ -0,0 +1,8 @@ +--- +title: ScopeToMain +excerpt: "" +description: "Captures scope updates and breadcrumbs in renderer processes and forwards them to the Electron main process. (default)" +sidebar_order: 10 +--- + +Captures scope updates and breadcrumbs in renderer processes and forwards them to the Electron main process. diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/sentryminidump.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/sentryminidump.mdx new file mode 100644 index 0000000000000..4e1ceef28eedf --- /dev/null +++ b/src/platforms/javascript/guides/electron/configuration/integrations/sentryminidump.mdx @@ -0,0 +1,8 @@ +--- +title: SentryMinidump +excerpt: "" +description: "Captures minidumps and sends them with full context to the Sentry Envelope endpoint using a custom uploader. (default)" +sidebar_order: 10 +--- + +Captures minidumps and sends them with full context to the Sentry Envelope endpoint using a custom uploader. diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/trycatch.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/trycatch.mdx new file mode 100644 index 0000000000000..25df4f3f10d14 --- /dev/null +++ b/src/platforms/javascript/guides/electron/configuration/integrations/trycatch.mdx @@ -0,0 +1,8 @@ +--- +title: "" +excerpt: "" +description: "N/A for Electron" +sidebar_order: 9999 +--- + +Not available for Electron. diff --git a/src/platforms/javascript/guides/nextjs/configuration/integrations/requestdata.mdx b/src/platforms/javascript/guides/nextjs/configuration/integrations/requestdata.mdx new file mode 100644 index 0000000000000..8ffa0c564e51f --- /dev/null +++ b/src/platforms/javascript/guides/nextjs/configuration/integrations/requestdata.mdx @@ -0,0 +1,8 @@ +--- +title: RequestData +excerpt: "" +description: "Adds data from incoming requests to transaction and error events that occur during request handling done by the backend. (default)" +sidebar_order: 1 +--- + + diff --git a/src/platforms/javascript/guides/react/configuration/integrations/index.mdx b/src/platforms/javascript/guides/react/configuration/integrations/index.mdx deleted file mode 100644 index a9218c6470097..0000000000000 --- a/src/platforms/javascript/guides/react/configuration/integrations/index.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Integrations -sidebar_order: 2 -description: "Learn how to configure Sentry's integrations such as React Router and Redux." ---- - - diff --git a/src/platforms/javascript/guides/react/configuration/integrations/react-router.mdx b/src/platforms/javascript/guides/react/features/react-router.mdx similarity index 99% rename from src/platforms/javascript/guides/react/configuration/integrations/react-router.mdx rename to src/platforms/javascript/guides/react/features/react-router.mdx index b183090827ff4..e3cabe8ae84a3 100644 --- a/src/platforms/javascript/guides/react/configuration/integrations/react-router.mdx +++ b/src/platforms/javascript/guides/react/features/react-router.mdx @@ -1,8 +1,9 @@ --- -title: React Router Integration +title: React Router +description: "Learn about Sentry's React Router integration." redirect_from: - /platforms/javascript/guides/react/integrations/react-router/ -description: "Learn about Sentry's React Router integration." + - /platforms/javascript/guides/react/configuration/integrations/react-router/ --- _(Available in version 5.21.0 and above)_ diff --git a/src/platforms/javascript/guides/react/configuration/integrations/redux.mdx b/src/platforms/javascript/guides/react/features/redux.mdx similarity index 85% rename from src/platforms/javascript/guides/react/configuration/integrations/redux.mdx rename to src/platforms/javascript/guides/react/features/redux.mdx index 090df209dd992..d61fdb0ad1581 100644 --- a/src/platforms/javascript/guides/react/configuration/integrations/redux.mdx +++ b/src/platforms/javascript/guides/react/features/redux.mdx @@ -1,8 +1,9 @@ --- -title: Redux Integration +title: Redux description: "Learn about Sentry's Redux integration." redirect_from: - /sdks/react/integrations/redux/ + - /platforms/javascript/guides/react/configuration/integrations/redux/ --- _(Available in version 5.20.0 and above)_ diff --git a/src/platforms/javascript/guides/remix/configuration/integrations/requestdata.mdx b/src/platforms/javascript/guides/remix/configuration/integrations/requestdata.mdx new file mode 100644 index 0000000000000..8ffa0c564e51f --- /dev/null +++ b/src/platforms/javascript/guides/remix/configuration/integrations/requestdata.mdx @@ -0,0 +1,8 @@ +--- +title: RequestData +excerpt: "" +description: "Adds data from incoming requests to transaction and error events that occur during request handling done by the backend. (default)" +sidebar_order: 1 +--- + + diff --git a/src/platforms/javascript/guides/sveltekit/configuration/integrations/requestdata.mdx b/src/platforms/javascript/guides/sveltekit/configuration/integrations/requestdata.mdx new file mode 100644 index 0000000000000..8ffa0c564e51f --- /dev/null +++ b/src/platforms/javascript/guides/sveltekit/configuration/integrations/requestdata.mdx @@ -0,0 +1,8 @@ +--- +title: RequestData +excerpt: "" +description: "Adds data from incoming requests to transaction and error events that occur during request handling done by the backend. (default)" +sidebar_order: 1 +--- + + diff --git a/src/platforms/javascript/guides/vue/configuration/integrations/index.mdx b/src/platforms/javascript/guides/vue/configuration/integrations/index.mdx deleted file mode 100644 index fb8e8d464ce4d..0000000000000 --- a/src/platforms/javascript/guides/vue/configuration/integrations/index.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Integrations -sidebar_order: 2 -description: "Learn how Sentry's Vue Tracing Integration allows you to track rendering performance during an initial application load." ---- - - diff --git a/src/platforms/javascript/guides/vue/configuration/integrations/vue-router.mdx b/src/platforms/javascript/guides/vue/features/vue-router.mdx similarity index 95% rename from src/platforms/javascript/guides/vue/configuration/integrations/vue-router.mdx rename to src/platforms/javascript/guides/vue/features/vue-router.mdx index 96e437c09f9a9..7dcfc0f59d558 100644 --- a/src/platforms/javascript/guides/vue/configuration/integrations/vue-router.mdx +++ b/src/platforms/javascript/guides/vue/features/vue-router.mdx @@ -1,8 +1,9 @@ --- -title: Vue Router Integration +title: Vue Router description: "Learn about Sentry's Vue Routing integration." redirect_from: - /sdks/react/integrations/vue-router/ + - /platforms/javascript/guides/vue/configuration/integrations/vue-router/ --- If you're using Vue Router, you should use our provided routing instrumentation to get better, parameterized transaction names. diff --git a/src/utils.ts b/src/utils.ts index 90039621ffdb3..2df32535def61 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -55,11 +55,16 @@ type Page = { }; export const sortPages = (arr: any, extractor: (any) => Page = n => n): any[] => { + console.log(arr); return arr.sort((a, b) => { a = extractor(a); b = extractor(b); - const aso = a.context.sidebar_order >= 0 ? a.context.sidebar_order : 10; - const bso = b.context.sidebar_order >= 0 ? b.context.sidebar_order : 10; + + const aBase = a.context.sidebar_order ?? 10; + const bBase = b.context.sidebar_order ?? 10; + const aso = aBase >= 0 ? aBase : 10; + const bso = bBase >= 0 ? bBase : 10; + if (aso > bso) { return 1; } From 57db64b6ff0cbf169fa4f6a254977c21a43259ce Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Wed, 16 Aug 2023 13:54:19 +0200 Subject: [PATCH 02/18] fix links --- .../product/accounts/quotas/manage-event-stream-guide.mdx | 4 ++-- .../sourcemaps/legacy-troubleshooting/javascript.mdx | 2 +- .../sourcemaps/legacy-uploading-methods/javascript.mdx | 2 +- .../common/data-management/sensitive-data/index.mdx | 2 +- .../javascript/common/configuration/integrations/index.mdx | 5 ++++- .../javascript/common/configuration/tree-shaking/index.mdx | 4 ++-- src/platforms/react-native/troubleshooting.mdx | 2 +- src/utils.ts | 1 - 8 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/docs/product/accounts/quotas/manage-event-stream-guide.mdx b/src/docs/product/accounts/quotas/manage-event-stream-guide.mdx index 5a055d12b6cc0..da2ccdbd000ff 100644 --- a/src/docs/product/accounts/quotas/manage-event-stream-guide.mdx +++ b/src/docs/product/accounts/quotas/manage-event-stream-guide.mdx @@ -244,9 +244,9 @@ To learn more and see code samples, check out: #### GlobalHandlers -This integration attaches global handlers to capture uncaught exceptions (`onerror`) and unhandled rejections (`onunhandledrejection`). Both handlers are enabled by default, but can be disabled through configuration. Learn more in [GlobalHandlers Integration](/platforms/javascript/configuration/integrations/default/#globalhandlers). +This integration attaches global handlers to capture uncaught exceptions (`onerror`) and unhandled rejections (`onunhandledrejection`). Both handlers are enabled by default, but can be disabled through configuration. Learn more in [GlobalHandlers Integration](/platforms/javascript/configuration/integrations/globalhandlers/). -Check out additional configuration options with the [tryCatch](/platforms/javascript/configuration/integrations/default/#trycatch) and [ReportingObserver](/platforms/javascript/configuration/integrations/plugin/#reportingobserver) integrations. +Check out additional configuration options with the [tryCatch](/platforms/javascript/configuration/integrations/trycatch/) and [ReportingObserver](/platforms/javascript/configuration/integrations/reportingobserver/) integrations. ### Other SDKs diff --git a/src/platform-includes/sourcemaps/legacy-troubleshooting/javascript.mdx b/src/platform-includes/sourcemaps/legacy-troubleshooting/javascript.mdx index 2ec6bb3b92477..08fdf3d04c06e 100644 --- a/src/platform-includes/sourcemaps/legacy-troubleshooting/javascript.mdx +++ b/src/platform-includes/sourcemaps/legacy-troubleshooting/javascript.mdx @@ -56,7 +56,7 @@ To verify that the distribution has been set correctly in the SDK, open an issue If you've uploaded source maps and they aren't applying to your code in an issue in Sentry, take a look at the JSON of the event and look for the `abs_path` to see exactly where we're attempting to resolve the file - for example, `http://localhost:8000/scripts/script.js` (`abs_path` will appear once for each frame in the stack trace - match this up with the file(s) that are not deminified.). A link to the JSON view can be found at the top of the issue page next to the date the event occurred. The uploaded artifact names must match these values. -If you have **dynamic values in your path** (for example, `https://www.site.com/{some_value}/scripts/script.js`), you may want to use the `rewriteFrames` integration`rewriteFrames` integration to change your `abs_path` values. +If you have **dynamic values in your path** (for example, `https://www.site.com/{some_value}/scripts/script.js`), you may want to use the `rewriteFrames` integration`rewriteFrames` integration to change your `abs_path` values. ### Using sentry-cli diff --git a/src/platform-includes/sourcemaps/legacy-uploading-methods/javascript.mdx b/src/platform-includes/sourcemaps/legacy-uploading-methods/javascript.mdx index 7a8b2c64eaec0..6ebd89214e98a 100644 --- a/src/platform-includes/sourcemaps/legacy-uploading-methods/javascript.mdx +++ b/src/platform-includes/sourcemaps/legacy-uploading-methods/javascript.mdx @@ -306,7 +306,7 @@ To verify that the distribution has been set correctly in the SDK, open an issue If you've uploaded source maps and they aren't applying to your code in an issue in Sentry, take a look at the JSON of the event and look for the `abs_path` to see exactly where we're attempting to resolve the file - for example, `http://localhost:8000/scripts/script.js` (`abs_path` will appear once for each frame in the stack trace - match this up with the file(s) that are not deminified.). A link to the JSON view can be found at the top of the issue page next to the date the event occurred. The uploaded artifact names must match these values. -If you have **dynamic values in your path** (for example, `https://www.site.com/{some_value}/scripts/script.js`), you may want to use the `rewriteFrames` integration`rewriteFrames` integration to change your `abs_path` values. +If you have **dynamic values in your path** (for example, `https://www.site.com/{some_value}/scripts/script.js`), you may want to use the `rewriteFrames` integration`rewriteFrames` integration to change your `abs_path` values. #### Using sentry-cli diff --git a/src/platforms/common/data-management/sensitive-data/index.mdx b/src/platforms/common/data-management/sensitive-data/index.mdx index 1a03b2b57dd68..406916a0c8e9f 100644 --- a/src/platforms/common/data-management/sensitive-data/index.mdx +++ b/src/platforms/common/data-management/sensitive-data/index.mdx @@ -99,6 +99,6 @@ As a best practice you should always avoid logging confidential information. If - Anonymize the confidential information within the log statements (for example, swap out email addresses -> for internal identifiers) - Use to filter it out from breadcrumbs before it is attached -- Disable logging breadcrumb integration (for example, as described [here](/platforms/javascript/configuration/integrations/default/#breadcrumbs)) +- Disable logging breadcrumb integration (for example, as described [here](/platforms/javascript/configuration/integrations/breadcrumbs/)) diff --git a/src/platforms/javascript/common/configuration/integrations/index.mdx b/src/platforms/javascript/common/configuration/integrations/index.mdx index 0b92ae9423154..cc58556e10bdf 100644 --- a/src/platforms/javascript/common/configuration/integrations/index.mdx +++ b/src/platforms/javascript/common/configuration/integrations/index.mdx @@ -2,6 +2,9 @@ title: Integrations sidebar_order: 30 description: "Learn more about how integrations extend the functionality of our SDK to cover common libraries and environments automatically." +redirect_from: + - /platforms/javascript/configuration/integrations/plugin/ + - /platforms/javascript/configuration/integrations/default/ --- Sentry provides a number of integrations which are designed to add automatic instrumentation to your application. @@ -62,4 +65,4 @@ Sentry.init({ ## Custom Integrations -You can also create custom integrations. [Read more about custom integrations here.](/custom) +You can also create custom integrations. [Read more about custom integrations here.](./custom) diff --git a/src/platforms/javascript/common/configuration/tree-shaking/index.mdx b/src/platforms/javascript/common/configuration/tree-shaking/index.mdx index 4f9c6bb8bc539..22adaf0700d8c 100644 --- a/src/platforms/javascript/common/configuration/tree-shaking/index.mdx +++ b/src/platforms/javascript/common/configuration/tree-shaking/index.mdx @@ -102,8 +102,8 @@ For more information on custom webpack configurations in Next.js, see [Custom We ## Tree Shaking Default Integrations -By default, the Sentry SDK sets up a list of [default integrations](../integrations/default) that extend your -SDK functionality. You can also add [additional](../integrations/plugin) or [custom](../integrations/custom) +By default, the Sentry SDK sets up a list of [default integrations](../integrations) that extend your +SDK functionality. You can also add [additional](../integrations) or [custom](../integrations/custom) integrations to your SDK configuration. If you don't want to include default integrations in your config, you can [disable](../options/#integration-configuration) them and add your custom array of integrations. diff --git a/src/platforms/react-native/troubleshooting.mdx b/src/platforms/react-native/troubleshooting.mdx index 60b06d7d0fdc8..94d6f9b157c75 100644 --- a/src/platforms/react-native/troubleshooting.mdx +++ b/src/platforms/react-native/troubleshooting.mdx @@ -96,7 +96,7 @@ Common fixes to this issue include: - Checking that source maps are correctly uploaded with the exact same `release` and `dist` values as the event. They **must match** for source maps to upload correctly. - If you set a custom `release` and `dist`, confirming that you manually uploaded the sourcemaps since our automatic source map upload script will not detect the custom values. - Make sure that the name of the bundle in the stack trace matches exactly with the name in the source map. For example, if your stack frames say `app:///index.bundle`, the artifacts must be named `index.bundle` and `index.bundle.map` respectively. -- Checking that you are not disabling the [`RewriteFrames`](/platforms/javascript/configuration/integrations/plugin/#rewriteframes) default integration by overwriting it, filtering it out, or setting `defaultIntegrations: false`. +- Checking that you are not disabling the [`RewriteFrames`](/platforms/javascript/configuration/integrations/rewriteframes) default integration by overwriting it, filtering it out, or setting `defaultIntegrations: false`. [For more details, please read the guide on React Native source maps.](/platforms/react-native/sourcemaps) diff --git a/src/utils.ts b/src/utils.ts index 2df32535def61..a4a200bb11943 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -55,7 +55,6 @@ type Page = { }; export const sortPages = (arr: any, extractor: (any) => Page = n => n): any[] => { - console.log(arr); return arr.sort((a, b) => { a = extractor(a); b = extractor(b); From dcf17edbb221922ed7896a7b98a5043a75adb9d7 Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Fri, 18 Aug 2023 08:36:35 +0200 Subject: [PATCH 03/18] Apply suggestions from code review Co-authored-by: Liza Mock --- .../common/configuration/integrations/breadcrumbs.mdx | 2 +- .../common/configuration/integrations/debug.mdx | 4 ++-- .../common/configuration/integrations/extraerrordata.mdx | 6 +++--- .../common/configuration/integrations/globalhandlers.mdx | 2 +- .../common/configuration/integrations/httpclient.mdx | 6 +++--- .../common/configuration/integrations/httpcontext.mdx | 2 +- .../common/configuration/integrations/inboundfilters.mdx | 2 +- .../common/configuration/integrations/index.mdx | 8 +++----- .../common/configuration/integrations/linkederrors.mdx | 4 ++-- .../common/configuration/integrations/modulemetadata.mdx | 5 ++--- .../configuration/integrations/reportingobserver.mdx | 2 +- .../common/configuration/integrations/rewriteframes.mdx | 4 ++-- .../common/configuration/integrations/trycatch.mdx | 2 +- 13 files changed, 23 insertions(+), 26 deletions(-) diff --git a/src/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx b/src/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx index 8786fba876200..d987640239148 100644 --- a/src/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx +++ b/src/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx @@ -19,7 +19,7 @@ Log calls to `console.log`, `console.debug`, etc. Log all click and keypress events. -When an object with `serializeAttribute` key is provided, Breadcrumbs integration will look for given attribute(s) in DOM elements, while generating the breadcrumb trails. Matched elements will be followed by their custom attributes, instead of their `id`s or `class` names. +When an object with a `serializeAttribute` key is provided, the Breadcrumbs integration will look for given attribute(s) in DOM elements while generating the breadcrumb trails. Matched elements will be followed by their custom attributes, instead of their `id`s or `class` names. - `fetch` (boolean) diff --git a/src/platforms/javascript/common/configuration/integrations/debug.mdx b/src/platforms/javascript/common/configuration/integrations/debug.mdx index 135755eafcec6..f228d9e0786b8 100644 --- a/src/platforms/javascript/common/configuration/integrations/debug.mdx +++ b/src/platforms/javascript/common/configuration/integrations/debug.mdx @@ -5,9 +5,9 @@ description: "Allows you to inspect the contents of a processed event and hint o sidebar_order: 100 --- -This integration allows you to inspect the contents of a processed event and hint object that gets passed to beforeSend or beforeSendTransaction. It will always run as the last integration, no matter when it was registered. +This integration allows you to inspect the contents of a processed event and hint object that gets passed to `beforeSend` or `beforeSendTransaction`. It will always run as the last integration, no matter when it was registered. -Note that this is different than setting `debug: true` in your Sentry.init options, which will enable debug logging in the console. +Note that this is different than setting `debug: true` (which will enable debug logging in the console) in your Sentry.init options. This integration requires you to install `@sentry/integrations` next to your main SDK package. diff --git a/src/platforms/javascript/common/configuration/integrations/extraerrordata.mdx b/src/platforms/javascript/common/configuration/integrations/extraerrordata.mdx index 3fe0ddda306c0..1301a0dc90367 100644 --- a/src/platforms/javascript/common/configuration/integrations/extraerrordata.mdx +++ b/src/platforms/javascript/common/configuration/integrations/extraerrordata.mdx @@ -63,6 +63,6 @@ Sentry.init({ - `depth` (number) -Limit of how deep the object serializer should go. Anything deeper than limit will -be replaced with standard Node.js REPL notation of [Object], [Array], [Function] or -a primitive value. Defaults to 3. +Limit of how deep the object serializer should go. The default is 3. Anything deeper than the set limit will +be replaced with standard Node.js REPL notation of [Object], [Array], [Function], or +a primitive value. diff --git a/src/platforms/javascript/common/configuration/integrations/globalhandlers.mdx b/src/platforms/javascript/common/configuration/integrations/globalhandlers.mdx index 794e898f48b5b..213ec23abb978 100644 --- a/src/platforms/javascript/common/configuration/integrations/globalhandlers.mdx +++ b/src/platforms/javascript/common/configuration/integrations/globalhandlers.mdx @@ -7,7 +7,7 @@ sidebar_order: 1 _Import name: `Sentry.Integrations.GlobalHandlers`_ -This integration attaches global handlers to capture uncaught exceptions and unhandled rejections. By default it captures errors & unhandled promise rejections. +This integration attaches global handlers to capture uncaught exceptions and unhandled rejections. It captures errors and unhandled promise rejections by default. ## Options diff --git a/src/platforms/javascript/common/configuration/integrations/httpclient.mdx b/src/platforms/javascript/common/configuration/integrations/httpclient.mdx index ae204a13ab86e..b7ae0be7f8723 100644 --- a/src/platforms/javascript/common/configuration/integrations/httpclient.mdx +++ b/src/platforms/javascript/common/configuration/integrations/httpclient.mdx @@ -61,7 +61,7 @@ Sentry.init({ -Due to the limitations of both the Fetch and XHR API, the cookie and header collection for both requests and responses is based on best effort. Certain headers may be missing in the event created by the integration. +Due to the limitations of the Fetch and XHR API, the cookie and header collection for requests and responses is based on best effort. This means that certain headers may be missing in the event created by the integration. @@ -74,10 +74,10 @@ This option is required for capturing headers and cookies. - `failedRequestStatusCodes` (array) This array can contain tuples of `[begin, end]` (both inclusive), -single status codes, or a combination of both. +single status codes, or a combination of the two. Default: `[[500, 599]]` - `failedRequestTargets` (array) -An array of request targets that should be considered, for example `['http://example.com/api/test']` would consider any request to this URL for failure. This array can contain Regexes, strings, or a combination of both. +An array of request targets that should be considered, for example `['http://example.com/api/test']` would interpret any request to this URL as a failure. This array can contain Regexes, strings, or a combination of the two. Default: `[/.*/]` diff --git a/src/platforms/javascript/common/configuration/integrations/httpcontext.mdx b/src/platforms/javascript/common/configuration/integrations/httpcontext.mdx index 145d6f0def651..60bdece6cdbe7 100644 --- a/src/platforms/javascript/common/configuration/integrations/httpcontext.mdx +++ b/src/platforms/javascript/common/configuration/integrations/httpcontext.mdx @@ -7,5 +7,5 @@ sidebar_order: 1 _Import name: `Sentry.Integrations.HttpContext`_ -This integration attaches HTTP request information, such as URL, user-agent, referrer, and other headers to the event. +This integration attaches HTTP request information, such as URL, user-agent, referrer, and other headers, to the event. It allows us to correctly catalog and tag events with specific OS, browser, and version information. diff --git a/src/platforms/javascript/common/configuration/integrations/inboundfilters.mdx b/src/platforms/javascript/common/configuration/integrations/inboundfilters.mdx index 751e15d777d8c..3bbe024d9298e 100644 --- a/src/platforms/javascript/common/configuration/integrations/inboundfilters.mdx +++ b/src/platforms/javascript/common/configuration/integrations/inboundfilters.mdx @@ -14,4 +14,4 @@ By default, it'll ignore errors that start with `Script error` or `Javascript er To configure this integration, use the `ignoreErrors`, `ignoreTransactions`, `denyUrls`, and `allowUrls` SDK options directly. Keep in mind that `denyURLs` and `allowURLs` -only work for captured exceptions, not raw message events. +only work for captured exceptions not raw message events. diff --git a/src/platforms/javascript/common/configuration/integrations/index.mdx b/src/platforms/javascript/common/configuration/integrations/index.mdx index cc58556e10bdf..15b6cb5434f66 100644 --- a/src/platforms/javascript/common/configuration/integrations/index.mdx +++ b/src/platforms/javascript/common/configuration/integrations/index.mdx @@ -7,9 +7,7 @@ redirect_from: - /platforms/javascript/configuration/integrations/default/ --- -Sentry provides a number of integrations which are designed to add automatic instrumentation to your application. - -Some of these integrations are enabled by default, while others have to be explicitly enabled. +Sentry provides a number of integrations which are designed to add automatic instrumentation to your application. Some of these integrations are enabled by default, while others have to be explicitly enabled. ## Available Integrations @@ -49,7 +47,7 @@ For all other cases, we recommend you use the `integrations` option. ## Removing an Integration -This example removes the default-enabled integration for adding breadcrumbs to the event: +This example removes the integration for adding breadcrumbs to the event, which is enabled by default: ```javascript Sentry.init({ @@ -65,4 +63,4 @@ Sentry.init({ ## Custom Integrations -You can also create custom integrations. [Read more about custom integrations here.](./custom) +You can also create [custom integrations](./custom). diff --git a/src/platforms/javascript/common/configuration/integrations/linkederrors.mdx b/src/platforms/javascript/common/configuration/integrations/linkederrors.mdx index cce01e7804c51..55649a84004a8 100644 --- a/src/platforms/javascript/common/configuration/integrations/linkederrors.mdx +++ b/src/platforms/javascript/common/configuration/integrations/linkederrors.mdx @@ -7,7 +7,7 @@ sidebar_order: 1 _Import name: `Sentry.Integrations.LinkedErrors`_ -This integration allows you to configure linked errors. They’ll be recursively read up to a specified limit, and lookup will be performed by a specific key. By default, the Sentry SDK sets the limit to five and the key used is `"cause"`. +This integration allows you to configure linked errors. They’ll be recursively read up to a specified limit, then lookup will be performed by a specific key. By default, the Sentry SDK sets the limit to five and the key used is `"cause"`. ## Options @@ -16,6 +16,6 @@ This integration allows you to configure linked errors. They’ll be recursively ## Example -Here is a code example of how this could be implemented: +Here's a code example of how this could be implemented: diff --git a/src/platforms/javascript/common/configuration/integrations/modulemetadata.mdx b/src/platforms/javascript/common/configuration/integrations/modulemetadata.mdx index 2ad90d1dea4c9..08b1894db3465 100644 --- a/src/platforms/javascript/common/configuration/integrations/modulemetadata.mdx +++ b/src/platforms/javascript/common/configuration/integrations/modulemetadata.mdx @@ -8,6 +8,5 @@ sidebar_order: 100 _Import name: `Sentry.Integrations.ModuleMetadata`_ Metadata can be injected by the Sentry bundler plugins using the `_experiments.moduleMetadata` config option. -When this integration is added, the metadata passed to the bundler plugin is added to the stack frames of all events -under the `module_metadata` property. This can be used to help in tagging or routing of events from different teams -our sources +Once this integration is added, the metadata passed to the bundler plugin will be added to the stack frames of all events under the `module_metadata` property. This can be used to help tag or route events from different teams +or sources. diff --git a/src/platforms/javascript/common/configuration/integrations/reportingobserver.mdx b/src/platforms/javascript/common/configuration/integrations/reportingobserver.mdx index 081c57e59d996..0c635649a956f 100644 --- a/src/platforms/javascript/common/configuration/integrations/reportingobserver.mdx +++ b/src/platforms/javascript/common/configuration/integrations/reportingobserver.mdx @@ -5,7 +5,7 @@ description: "Allows you to apply a transformation to each frame of the stack tr sidebar_order: 100 --- -This integration hooks into the ReportingObserver API and sends captured events through to Sentry. It can be configured to handle only specific issue types. +This integration hooks into the ReportingObserver API and sends captured events through to Sentry. It can be configured to handle specific issue types only. ```javascript {tabTitle: ESM} import * as Sentry from "@sentry/browser"; diff --git a/src/platforms/javascript/common/configuration/integrations/rewriteframes.mdx b/src/platforms/javascript/common/configuration/integrations/rewriteframes.mdx index 2a5934565bdc4..0f78add6b4d80 100644 --- a/src/platforms/javascript/common/configuration/integrations/rewriteframes.mdx +++ b/src/platforms/javascript/common/configuration/integrations/rewriteframes.mdx @@ -67,7 +67,7 @@ Root path that will be stripped from the current frame's filename by the default - `prefix` (string) -a custom prefix that will be used by the default iteratee. +A custom prefix that will be used by the default iteratee. Default: `app://` - `iteratee` (`(frame) => frame`) @@ -82,4 +82,4 @@ For example, if the full path to your file is `/www/src/app/file.js`: | --------------------------------- | ------------------------ | ----------------------------------------------------------------------------------------------------------------------------- | | `RewriteFrames()` | `app:///file.js` | The default behavior is to replace the absolute path, except the filename, and prefix it with the default prefix (`app:///`). | | `RewriteFrames({prefix: 'foo/'})` | `foo/file.js` | Prefix `foo/` is used instead of the default prefix `app:///`. | -| `RewriteFrames({root: '/www'})` | `app:///src/app/file.js` | `root` is defined as `/www`, so only that part is trimmed from beginning of the path. | +| `RewriteFrames({root: '/www'})` | `app:///src/app/file.js` | `root` is defined as `/www`, so only that part is trimmed from the beginning of the path. | diff --git a/src/platforms/javascript/common/configuration/integrations/trycatch.mdx b/src/platforms/javascript/common/configuration/integrations/trycatch.mdx index 7cd3adc0923f3..38986b2162a00 100644 --- a/src/platforms/javascript/common/configuration/integrations/trycatch.mdx +++ b/src/platforms/javascript/common/configuration/integrations/trycatch.mdx @@ -7,4 +7,4 @@ sidebar_order: 1 _Import name: `Sentry.Integrations.TryCatch`_ -This integration wraps native time and events APIs (`setTimeout`, `setInterval`, `requestAnimationFrame`, `addEventListener/removeEventListener`) in `try/catch` blocks to handle async exceptions. +This integration wraps native time and event APIs (`setTimeout`, `setInterval`, `requestAnimationFrame`, `addEventListener/removeEventListener`) in `try/catch` blocks to handle async exceptions. From 5aa3fd02a4e9200873138d7f97b6eeabf0563c9c Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Fri, 18 Aug 2023 08:37:31 +0200 Subject: [PATCH 04/18] Apply suggestions from code review Co-authored-by: Liza Mock --- .../electron/configuration/integrations/electronbreadcrumbs.mdx | 2 +- .../electron/configuration/integrations/mainprocesssession.mdx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/electronbreadcrumbs.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/electronbreadcrumbs.mdx index 88851933f125a..14071ce8cdeb6 100644 --- a/src/platforms/javascript/guides/electron/configuration/integrations/electronbreadcrumbs.mdx +++ b/src/platforms/javascript/guides/electron/configuration/integrations/electronbreadcrumbs.mdx @@ -5,7 +5,7 @@ description: "Supports capturing events from `uncaughtException` while retaining sidebar_order: 10 --- -Captures breadcrumbs for events for many of Electrons built-in modules. The breadcrumbs captured for each module can be configured `true` to capture all events or `false` to capture no events. Alternatively you can supply a function which is passed the event name and returns `true` or `false` depending on whether the event should be captured. +Captures breadcrumbs for events for many of Electron's built-in modules. The breadcrumbs captured for each module can be configured `true` to capture all events or `false` to capture no events. Alternatively, you can supply a function which is passed the event name and returns `true` or `false`, depending on whether the event should be captured. The defaults for this integration are effectively: diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/mainprocesssession.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/mainprocesssession.mdx index da61eddeac2a9..5a091983263de 100644 --- a/src/platforms/javascript/guides/electron/configuration/integrations/mainprocesssession.mdx +++ b/src/platforms/javascript/guides/electron/configuration/integrations/mainprocesssession.mdx @@ -5,7 +5,7 @@ description: "Captures sessions linked to the lifetime of the Electron main proc sidebar_order: 10 --- -Captures sessions linked to the lifetime of the Electron main process. These sessions result in [release health](/product/releases/health/) statistics being displayed in Sentry. +Captures sessions linked to the lifetime of the Electron main process. Capturing sessions makes it possible to show [release health](/product/releases/health/) statistics in Sentry. Unless `autoSessionTracking` is set to `false`, this integration will be automatically added. From f636a3468b213a598b48be044fff16058f7cd97a Mon Sep 17 00:00:00 2001 From: "getsantry[bot]" <66042841+getsantry[bot]@users.noreply.github.com> Date: Fri, 18 Aug 2023 06:38:12 +0000 Subject: [PATCH 05/18] style(lint): Auto commit lint changes --- .../common/configuration/integrations/extraerrordata.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/platforms/javascript/common/configuration/integrations/extraerrordata.mdx b/src/platforms/javascript/common/configuration/integrations/extraerrordata.mdx index 1301a0dc90367..4b846439fb3a5 100644 --- a/src/platforms/javascript/common/configuration/integrations/extraerrordata.mdx +++ b/src/platforms/javascript/common/configuration/integrations/extraerrordata.mdx @@ -65,4 +65,4 @@ Sentry.init({ Limit of how deep the object serializer should go. The default is 3. Anything deeper than the set limit will be replaced with standard Node.js REPL notation of [Object], [Array], [Function], or -a primitive value. +a primitive value. From 5e5be8c321b91ea796da6c8e4760a88d63c7aaa5 Mon Sep 17 00:00:00 2001 From: "getsantry[bot]" <66042841+getsantry[bot]@users.noreply.github.com> Date: Fri, 18 Aug 2023 06:38:13 +0000 Subject: [PATCH 06/18] style(lint): Auto commit lint changes --- .../common/configuration/integrations/rewriteframes.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/platforms/javascript/common/configuration/integrations/rewriteframes.mdx b/src/platforms/javascript/common/configuration/integrations/rewriteframes.mdx index 0f78add6b4d80..2fe633c1c6e90 100644 --- a/src/platforms/javascript/common/configuration/integrations/rewriteframes.mdx +++ b/src/platforms/javascript/common/configuration/integrations/rewriteframes.mdx @@ -82,4 +82,4 @@ For example, if the full path to your file is `/www/src/app/file.js`: | --------------------------------- | ------------------------ | ----------------------------------------------------------------------------------------------------------------------------- | | `RewriteFrames()` | `app:///file.js` | The default behavior is to replace the absolute path, except the filename, and prefix it with the default prefix (`app:///`). | | `RewriteFrames({prefix: 'foo/'})` | `foo/file.js` | Prefix `foo/` is used instead of the default prefix `app:///`. | -| `RewriteFrames({root: '/www'})` | `app:///src/app/file.js` | `root` is defined as `/www`, so only that part is trimmed from the beginning of the path. | +| `RewriteFrames({root: '/www'})` | `app:///src/app/file.js` | `root` is defined as `/www`, so only that part is trimmed from the beginning of the path. | From c61c761cb5ff6f5754a9fcd2caf2ad43d5db366a Mon Sep 17 00:00:00 2001 From: "getsantry[bot]" <66042841+getsantry[bot]@users.noreply.github.com> Date: Fri, 18 Aug 2023 06:39:47 +0000 Subject: [PATCH 07/18] style(lint): Auto commit lint changes --- .../javascript/common/configuration/integrations/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/platforms/javascript/common/configuration/integrations/index.mdx b/src/platforms/javascript/common/configuration/integrations/index.mdx index 15b6cb5434f66..cae2ca2d11805 100644 --- a/src/platforms/javascript/common/configuration/integrations/index.mdx +++ b/src/platforms/javascript/common/configuration/integrations/index.mdx @@ -63,4 +63,4 @@ Sentry.init({ ## Custom Integrations -You can also create [custom integrations](./custom). +You can also create [custom integrations](./custom). From 07e6f2b4c66f6e2d03c665e739243deebcc44183 Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Fri, 18 Aug 2023 08:32:50 +0200 Subject: [PATCH 08/18] add sentence to breadcrumbs --- .../javascript/common/configuration/integrations/breadcrumbs.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx b/src/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx index d987640239148..d45b385401f0d 100644 --- a/src/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx +++ b/src/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx @@ -8,6 +8,7 @@ sidebar_order: 1 _Import name: `Sentry.Integrations.Breadcrumbs`_ This integration wraps native APIs to capture breadcrumbs. By default, the Sentry SDK wraps all APIs. +You can opt-out of capturing breadcrumbs for specific parts of your application (e.g. do not capture `console.log` calls as breadcrumbs) via the options below. ## Options From 1e3a9afc3403f847aca150b6f7ccc05e26b8f7af Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Fri, 18 Aug 2023 08:56:54 +0200 Subject: [PATCH 09/18] add more details to inbound filters integration page. --- .../configuration/options/allow-urls.mdx | 1 + .../configuration/options/deny-urls.mdx | 1 + .../configuration/options/ignore-errors.mdx | 1 + .../options/ignore-transactions.mdx | 1 + .../common/configuration/options.mdx | 8 ++--- .../integrations/inboundfilters.mdx | 32 +++++++++++++++++-- 6 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 src/includes/platforms/configuration/options/allow-urls.mdx create mode 100644 src/includes/platforms/configuration/options/deny-urls.mdx create mode 100644 src/includes/platforms/configuration/options/ignore-errors.mdx create mode 100644 src/includes/platforms/configuration/options/ignore-transactions.mdx diff --git a/src/includes/platforms/configuration/options/allow-urls.mdx b/src/includes/platforms/configuration/options/allow-urls.mdx new file mode 100644 index 0000000000000..7bcd4851d6781 --- /dev/null +++ b/src/includes/platforms/configuration/options/allow-urls.mdx @@ -0,0 +1 @@ +A list of strings or regex patterns that match error URLs which should exclusively be sent to Sentry. If you use this option, only errors whose entire file URL contains (string) or matches (regex) at least one entry in the list will be sent. As a result, if you add `'foo.com'` to it, it will also match on `https://bar.com/myfile/foo.com`. Keep in mind that this only applies for captured exceptions, not raw message events. By default, all errors are sent. diff --git a/src/includes/platforms/configuration/options/deny-urls.mdx b/src/includes/platforms/configuration/options/deny-urls.mdx new file mode 100644 index 0000000000000..fe18418a4f494 --- /dev/null +++ b/src/includes/platforms/configuration/options/deny-urls.mdx @@ -0,0 +1 @@ +A list of strings or regex patterns that match error URLs that should not be sent to Sentry. Errors whose entire file URL contains (string) or matches (regex) at least one entry in the list will not be sent. As a result, if you add `'foo.com'` to the list, it will also match on `https://bar.com/myfile/foo.com`. Keep in mind that this only applies for captured exceptions, not raw message events. By default, all errors are sent. diff --git a/src/includes/platforms/configuration/options/ignore-errors.mdx b/src/includes/platforms/configuration/options/ignore-errors.mdx new file mode 100644 index 0000000000000..3fda1d5235939 --- /dev/null +++ b/src/includes/platforms/configuration/options/ignore-errors.mdx @@ -0,0 +1 @@ +A list of strings or regex patterns that match error messages that shouldn't be sent to Sentry. Messages that match these strings or regular expressions will be filtered out before they're sent to Sentry. When using strings, partial matches will be filtered out, so if you need to filter by exact match, use regex patterns instead. By default, all errors are sent. diff --git a/src/includes/platforms/configuration/options/ignore-transactions.mdx b/src/includes/platforms/configuration/options/ignore-transactions.mdx new file mode 100644 index 0000000000000..d7e761f7e57b4 --- /dev/null +++ b/src/includes/platforms/configuration/options/ignore-transactions.mdx @@ -0,0 +1 @@ +A list of strings or regex patterns that match transaction names that shouldn't be sent to Sentry. Transactions that match these strings or regular expressions will be filtered out before they're sent to Sentry. When using strings, partial matches will be filtered out, so if you need to filter by exact match, use regex patterns instead. By default, all transactions are sent. diff --git a/src/platforms/common/configuration/options.mdx b/src/platforms/common/configuration/options.mdx index 49509568b90fd..b2bb7208667bf 100644 --- a/src/platforms/common/configuration/options.mdx +++ b/src/platforms/common/configuration/options.mdx @@ -282,25 +282,25 @@ For ASP.NET and ASP.NET Core applications, the value will default to the server' -A list of strings or regex patterns that match error messages that shouldn't be sent to Sentry. Messages that match these strings or regular expressions will be filtered out before they're sent to Sentry. When using strings, partial matches will be filtered out, so if you need to filter by exact match, use regex patterns instead. By default, all errors are sent. + -A list of strings or regex patterns that match transaction names that shouldn't be sent to Sentry. Transactions that match these strings or regular expressions will be filtered out before they're sent to Sentry. When using strings, partial matches will be filtered out, so if you need to filter by exact match, use regex patterns instead. By default, all transactions are sent. + -A list of strings or regex patterns that match error URLs that should not be sent to Sentry. Errors whose entire file URL contains (string) or matches (regex) at least one entry in the list will not be sent. As a result, if you add `'foo.com'` to the list, it will also match on `https://bar.com/myfile/foo.com`. By default, all errors are sent. + -A list of strings or regex patterns that match error URLs which should exclusively be sent to Sentry. If you use this option, only errors whose entire file URL contains (string) or matches (regex) at least one entry in the list will be sent. As a result, if you add `'foo.com'` to it, it will also match on `https://bar.com/myfile/foo.com`. By default, all errors are sent. + diff --git a/src/platforms/javascript/common/configuration/integrations/inboundfilters.mdx b/src/platforms/javascript/common/configuration/integrations/inboundfilters.mdx index 3bbe024d9298e..4d0d53660c335 100644 --- a/src/platforms/javascript/common/configuration/integrations/inboundfilters.mdx +++ b/src/platforms/javascript/common/configuration/integrations/inboundfilters.mdx @@ -13,5 +13,33 @@ message, or URLs in a given exception. By default, it'll ignore errors that start with `Script error` or `Javascript error: Script error`. To configure this integration, use the `ignoreErrors`, `ignoreTransactions`, `denyUrls`, -and `allowUrls` SDK options directly. Keep in mind that `denyURLs` and `allowURLs` -only work for captured exceptions not raw message events. +and `allowUrls` SDK options directly. For example: + +```javascript +Sentry.init({ + ignoreErrors: ["ignore-this-error"], +}); +``` + +## Options + + + Remember to pass these options to the root Sentry.init call, not the + integration! +{" "} + +- `ignoreErrors` (array) + + + +- `ignoreTransactions` (array) + + + +- `denyUrls` (array) + + + +- `allowUrls` (array) + + From 56bf8b07e38756a12c08698d1925000442995957 Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Fri, 18 Aug 2023 10:57:20 +0200 Subject: [PATCH 10/18] Apply suggestions from code review Co-authored-by: Lukas Stracke --- .../platforms/configuration/options/ignore-transactions.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/includes/platforms/configuration/options/ignore-transactions.mdx b/src/includes/platforms/configuration/options/ignore-transactions.mdx index d7e761f7e57b4..25ad2bae05da3 100644 --- a/src/includes/platforms/configuration/options/ignore-transactions.mdx +++ b/src/includes/platforms/configuration/options/ignore-transactions.mdx @@ -1 +1 @@ -A list of strings or regex patterns that match transaction names that shouldn't be sent to Sentry. Transactions that match these strings or regular expressions will be filtered out before they're sent to Sentry. When using strings, partial matches will be filtered out, so if you need to filter by exact match, use regex patterns instead. By default, all transactions are sent. +A list of strings or regex patterns that match transaction names that shouldn't be sent to Sentry. Transactions that match these strings or regular expressions will be filtered out before they're sent to Sentry. When using strings, partial matches will be filtered out, so if you need to filter by exact match, use regex patterns instead. By default, transactions spanning typical API health check requests are filtered out. From 59e7ba4553a315a9acb529013913dd38c105c849 Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Fri, 18 Aug 2023 10:54:28 +0200 Subject: [PATCH 11/18] streamline integration docs --- .../configuration/integrations/custom.mdx | 12 +++- .../capture-console/javascript.mdx | 28 ++------ .../configuration/contextlines/javascript.mdx | 24 +------ .../configuration/debug/javascript.mdx | 34 ++-------- .../configuration/dedupe/javascript.mdx | 4 +- .../extra-error-data/javascript.mdx | 29 ++------- .../configuration/http-client/javascript.mdx | 50 ++------------ .../module-metadata/javascript.mdx | 40 ++++++++++++ .../reporting-observer/javascript.mdx | 22 ++----- .../rewrite-frames/javascript.mdx | 57 ++-------------- .../integrations/captureconsole.mdx | 50 +------------- .../integrations/contextlines.mdx | 23 +++++++ .../configuration/integrations/custom.mdx | 5 ++ .../configuration/integrations/debug.mdx | 50 +------------- .../integrations/extraerrordata.mdx | 50 +------------- .../configuration/integrations/httpclient.mdx | 65 ++++--------------- .../integrations/modulemetadata.mdx | 2 + .../integrations/reportingobserver.mdx | 50 +------------- .../integrations/rewriteframes.mdx | 50 +------------- 19 files changed, 131 insertions(+), 514 deletions(-) create mode 100644 src/platform-includes/configuration/module-metadata/javascript.mdx create mode 100644 src/platforms/javascript/common/configuration/integrations/contextlines.mdx diff --git a/src/includes/platforms/configuration/integrations/custom.mdx b/src/includes/platforms/configuration/integrations/custom.mdx index bb0b8d6be00a1..7c9089fd4047d 100644 --- a/src/includes/platforms/configuration/integrations/custom.mdx +++ b/src/includes/platforms/configuration/integrations/custom.mdx @@ -1,8 +1,14 @@ -Add a custom integration to your JavaScript using the following format: +Add a custom integration to your JavaScript using the following format ```javascript -// All integrations that come with an SDK can be found on Sentry.Integrations object -// Custom integration must conform to the Integration interface: https://github.com/getsentry/sentry-javascript/blob/master/packages/types/src/integration.ts +class MyAwesomeIntegrations { + static id = "MyAwesomeIntegration"; + name = "MyAwesomeIntegration"; + + setupOnce() { + // Do something when the integration is initialized + } +} Sentry.init({ // ... diff --git a/src/platform-includes/configuration/capture-console/javascript.mdx b/src/platform-includes/configuration/capture-console/javascript.mdx index 856f89a62426f..372c135926906 100644 --- a/src/platform-includes/configuration/capture-console/javascript.mdx +++ b/src/platform-includes/configuration/capture-console/javascript.mdx @@ -2,17 +2,11 @@ ```javascript {tabTitle: ESM} import * as Sentry from "@sentry/browser"; -import { CaptureConsole as CaptureConsoleIntegration } from "@sentry/integrations"; +import { CaptureConsole } from "@sentry/integrations"; Sentry.init({ dsn: "___PUBLIC_DSN___", - integrations: [new CaptureConsoleIntegration( - { - // array of methods that should be captured - // defaults to ['log', 'info', 'warn', 'error', 'debug', 'assert'] - levels: string[]; - } - )], + integrations: [new CaptureConsole()], }); ``` @@ -28,15 +22,9 @@ Sentry.init({ > @@ -57,13 +45,7 @@ Sentry.init({ ``` diff --git a/src/platform-includes/configuration/contextlines/javascript.mdx b/src/platform-includes/configuration/contextlines/javascript.mdx index 0a949d0b8a062..183a23f5c3c51 100644 --- a/src/platform-includes/configuration/contextlines/javascript.mdx +++ b/src/platform-includes/configuration/contextlines/javascript.mdx @@ -6,13 +6,7 @@ import { ContextLines } from "@sentry/integrations"; Sentry.init({ dsn: "___PUBLIC_DSN___", - integrations: [ - new ContextLines({ - // The number of lines to collect around each stack frame's line number - // Defaults to 7 - frameContextLines: 7, - }), - ], + integrations: [new ContextLines()], }); ``` @@ -30,13 +24,7 @@ Sentry.init({ @@ -57,13 +45,7 @@ Sentry.init({ ``` diff --git a/src/platform-includes/configuration/debug/javascript.mdx b/src/platform-includes/configuration/debug/javascript.mdx index 90645c2c72c80..e2781ec84ebb8 100644 --- a/src/platform-includes/configuration/debug/javascript.mdx +++ b/src/platform-includes/configuration/debug/javascript.mdx @@ -2,19 +2,11 @@ ```javascript {tabTitle: ESM} import * as Sentry from "@sentry/browser"; -import { Debug as DebugIntegration } from "@sentry/integrations"; +import { Debug } from "@sentry/integrations"; Sentry.init({ dsn: "___PUBLIC_DSN___", - integrations: [new DebugIntegration( - { - // trigger DevTools debugger instead of using console.log - debugger: boolean; - - // stringify event before passing it to console.log - stringify: boolean; - } - )], + integrations: [new Debug()], }); ``` @@ -30,17 +22,9 @@ Sentry.init({ > @@ -61,15 +45,7 @@ Sentry.init({ ``` diff --git a/src/platform-includes/configuration/dedupe/javascript.mdx b/src/platform-includes/configuration/dedupe/javascript.mdx index 297afbfd9d942..54c6f4929e057 100644 --- a/src/platform-includes/configuration/dedupe/javascript.mdx +++ b/src/platform-includes/configuration/dedupe/javascript.mdx @@ -2,11 +2,11 @@ ```javascript {tabTitle: ESM} import * as Sentry from "@sentry/browser"; -import { Dedupe as DedupeIntegration } from "@sentry/integrations"; +import { Dedupe } from "@sentry/integrations"; Sentry.init({ dsn: "___PUBLIC_DSN___", - integrations: [new DedupeIntegration()], + integrations: [new Dedupe()], }); ``` diff --git a/src/platform-includes/configuration/extra-error-data/javascript.mdx b/src/platform-includes/configuration/extra-error-data/javascript.mdx index 7b3ef6f49db4b..e7ccf7ae6e1e9 100644 --- a/src/platform-includes/configuration/extra-error-data/javascript.mdx +++ b/src/platform-includes/configuration/extra-error-data/javascript.mdx @@ -2,18 +2,11 @@ ```javascript {tabTitle: ESM} import * as Sentry from "@sentry/browser"; -import { ExtraErrorData as ExtraErrorDataIntegration } from "@sentry/integrations"; +import { ExtraErrorData } from "@sentry/integrations"; Sentry.init({ dsn: "___PUBLIC_DSN___", - integrations: [ - new ExtraErrorDataIntegration({ - // Limit of how deep the object serializer should go. Anything deeper than limit will - // be replaced with standard Node.js REPL notation of [Object], [Array], [Function] or - // a primitive value. Defaults to 3. - depth: number, - }), - ], + integrations: [new ExtraErrorData()], }); ``` @@ -31,14 +24,7 @@ Sentry.init({ @@ -59,14 +45,7 @@ Sentry.init({ ``` diff --git a/src/platform-includes/configuration/http-client/javascript.mdx b/src/platform-includes/configuration/http-client/javascript.mdx index 441e64e3728fa..240cf0707147d 100644 --- a/src/platform-includes/configuration/http-client/javascript.mdx +++ b/src/platform-includes/configuration/http-client/javascript.mdx @@ -2,25 +2,11 @@ ```javascript {tabTitle: ESM} import * as Sentry from "@sentry/browser"; -import { HttpClient as HttpClientIntegration } from "@sentry/integrations"; +import { HttpClient } from "@sentry/integrations"; Sentry.init({ dsn: "___PUBLIC_DSN___", - integrations: [ - new HttpClientIntegration({ - // This array can contain tuples of `[begin, end]` (both inclusive), - // single status codes, or a combination of both. - // default: [[500, 599]] - failedRequestStatusCodes: [[500, 505], 507], - - // This array can contain Regexes, strings, or a combination of both. - // default: [/.*/] - failedRequestTargets: [ - "http://example.com/api/test", - /(staging\.)?mypage\.com/, - ], - }), - ], + integrations: [new HttpClient()], // This option is required for capturing headers and cookies. sendDefaultPii: true, @@ -41,21 +27,7 @@ Sentry.init({ + + +``` + +```html {tabTitle: CDN} + + + +``` diff --git a/src/platform-includes/configuration/reporting-observer/javascript.mdx b/src/platform-includes/configuration/reporting-observer/javascript.mdx index 6a33b5c9ee6ee..01ba9e2ec3f4c 100644 --- a/src/platform-includes/configuration/reporting-observer/javascript.mdx +++ b/src/platform-includes/configuration/reporting-observer/javascript.mdx @@ -2,15 +2,11 @@ ```javascript {tabTitle: ESM} import * as Sentry from "@sentry/browser"; -import { ReportingObserver as ReportingObserverIntegration } from "@sentry/integrations"; +import { ReportingObserver } from "@sentry/integrations"; Sentry.init({ dsn: "___PUBLIC_DSN___", - integrations: [new ReportingObserverIntegration( - { - types: <'crash'|'deprecation'|'intervention'>[]; - } - )], + integrations: [new ReportingObserver()], }); ``` @@ -26,13 +22,9 @@ Sentry.init({ > @@ -53,11 +45,7 @@ Sentry.init({ ``` diff --git a/src/platform-includes/configuration/rewrite-frames/javascript.mdx b/src/platform-includes/configuration/rewrite-frames/javascript.mdx index 4f8e694dd497d..84a35075df616 100644 --- a/src/platform-includes/configuration/rewrite-frames/javascript.mdx +++ b/src/platform-includes/configuration/rewrite-frames/javascript.mdx @@ -2,22 +2,11 @@ ```javascript {tabTitle: ESM} import * as Sentry from "@sentry/browser"; -import { RewriteFrames as RewriteFramesIntegration } from "@sentry/integrations"; +import { RewriteFrames } from "@sentry/integrations"; Sentry.init({ dsn: "___PUBLIC_DSN___", - integrations: [new RewriteFramesIntegration( - { - // root path that will be stripped from the current frame's filename by the default iteratee if the filename is an absolute path - root: string; - - // a custom prefix that will be used by the default iteratee (default: `app://`) - prefix: string; - - // function that takes the frame, applies a transformation, and returns it - iteratee: (frame) => frame; - } - )], + integrations: [new RewriteFrames()], }); ``` @@ -33,22 +22,9 @@ Sentry.init({ > @@ -69,30 +45,7 @@ Sentry.init({ ``` - -#### Usage Examples - -For example, if the full path to your file is `/www/src/app/file.js`: - -| Usage | Path in Stack Trace | Description | -| --------------------------------- | ------------------------ | ----------------------------------------------------------------------------------------------------------------------------- | -| `RewriteFrames()` | `app:///file.js` | The default behavior is to replace the absolute path, except the filename, and prefix it with the default prefix (`app:///`). | -| `RewriteFrames({prefix: 'foo/'})` | `foo/file.js` | Prefix `foo/` is used instead of the default prefix `app:///`. | -| `RewriteFrames({root: '/www'})` | `app:///src/app/file.js` | `root` is defined as `/www`, so only that part is trimmed from beginning of the path. | diff --git a/src/platforms/javascript/common/configuration/integrations/captureconsole.mdx b/src/platforms/javascript/common/configuration/integrations/captureconsole.mdx index e99b6e8b3bdaf..202c681728367 100644 --- a/src/platforms/javascript/common/configuration/integrations/captureconsole.mdx +++ b/src/platforms/javascript/common/configuration/integrations/captureconsole.mdx @@ -9,55 +9,7 @@ This integration captures all Console API calls and redirects them to Sentry usi This integration requires you to install `@sentry/integrations` next to your main SDK package. -```javascript {tabTitle: ESM} -import * as Sentry from "@sentry/browser"; -import { CaptureConsole } from "@sentry/integrations"; - -Sentry.init({ - dsn: "___PUBLIC_DSN___", - integrations: [new CaptureConsole()], -}); -``` - -```html {tabTitle: Loader} - - - - -``` - -```html {tabTitle: CDN} - - - - -``` + ## Options diff --git a/src/platforms/javascript/common/configuration/integrations/contextlines.mdx b/src/platforms/javascript/common/configuration/integrations/contextlines.mdx new file mode 100644 index 0000000000000..1422a93e20766 --- /dev/null +++ b/src/platforms/javascript/common/configuration/integrations/contextlines.mdx @@ -0,0 +1,23 @@ +--- +title: ContextLines +excerpt: "" +description: "Adds source code from inline JavaScript of the current page's HTML." +sidebar_order: 100 +--- + +_Import name: `Sentry.Integrations.ContextLines`_ + +This integration adds source code from inline JavaScript of the current page's HTML (e.g. JS in ` - - - -``` - -```html {tabTitle: CDN} - - - - -``` + ## Options diff --git a/src/platforms/javascript/common/configuration/integrations/extraerrordata.mdx b/src/platforms/javascript/common/configuration/integrations/extraerrordata.mdx index 4b846439fb3a5..924cc9dbdbd9a 100644 --- a/src/platforms/javascript/common/configuration/integrations/extraerrordata.mdx +++ b/src/platforms/javascript/common/configuration/integrations/extraerrordata.mdx @@ -9,55 +9,7 @@ This integration extracts all non-native attributes from the error object and at This integration requires you to install `@sentry/integrations` next to your main SDK package. -```javascript {tabTitle: ESM} -import * as Sentry from "@sentry/browser"; -import { ExtraErrorData } from "@sentry/integrations"; - -Sentry.init({ - dsn: "___PUBLIC_DSN___", - integrations: [new ExtraErrorData()], -}); -``` - -```html {tabTitle: Loader} - - - - -``` - -```html {tabTitle: CDN} - - - - -``` + ## Options diff --git a/src/platforms/javascript/common/configuration/integrations/httpclient.mdx b/src/platforms/javascript/common/configuration/integrations/httpclient.mdx index b7ae0be7f8723..c8178dfc8ce20 100644 --- a/src/platforms/javascript/common/configuration/integrations/httpclient.mdx +++ b/src/platforms/javascript/common/configuration/integrations/httpclient.mdx @@ -7,57 +7,11 @@ sidebar_order: 100 This integration captures errors on failed requests from Fetch and XHR and attaches request and response information. -By default, error events don't contain header or cookie data. You can change this behavior by setting `sendDefaultPii: true`. +By default, error events don't contain header or cookie data. You can change this behavior by setting `sendDefaultPii: true` in your root `Sentry.init({})` config. -```javascript {tabTitle: ESM} -import * as Sentry from "@sentry/browser"; -import { HttpClient } from "@sentry/integrations"; +This integration requires you to install `@sentry/integrations` next to your main SDK package. -Sentry.init({ - dsn: "___PUBLIC_DSN___", - integrations: [new HttpClient()], -}); -``` - -```html {tabTitle: Loader} - - - - -``` - -```html {tabTitle: CDN} - - - - -``` + @@ -67,10 +21,6 @@ Due to the limitations of the Fetch and XHR API, the cookie and header collectio ## Options -- `sendDefaultPii` (boolean) - -This option is required for capturing headers and cookies. - - `failedRequestStatusCodes` (array) This array can contain tuples of `[begin, end]` (both inclusive), @@ -81,3 +31,12 @@ Default: `[[500, 599]]` An array of request targets that should be considered, for example `['http://example.com/api/test']` would interpret any request to this URL as a failure. This array can contain Regexes, strings, or a combination of the two. Default: `[/.*/]` + +- `sendDefaultPii` (boolean) + + + This option has to be specified on the root Sentry.init options, not the + integration options! + + +This option is required for capturing headers and cookies. diff --git a/src/platforms/javascript/common/configuration/integrations/modulemetadata.mdx b/src/platforms/javascript/common/configuration/integrations/modulemetadata.mdx index 08b1894db3465..f5ba319e198f2 100644 --- a/src/platforms/javascript/common/configuration/integrations/modulemetadata.mdx +++ b/src/platforms/javascript/common/configuration/integrations/modulemetadata.mdx @@ -10,3 +10,5 @@ _Import name: `Sentry.Integrations.ModuleMetadata`_ Metadata can be injected by the Sentry bundler plugins using the `_experiments.moduleMetadata` config option. Once this integration is added, the metadata passed to the bundler plugin will be added to the stack frames of all events under the `module_metadata` property. This can be used to help tag or route events from different teams or sources. + + diff --git a/src/platforms/javascript/common/configuration/integrations/reportingobserver.mdx b/src/platforms/javascript/common/configuration/integrations/reportingobserver.mdx index 0c635649a956f..ba0f732be282f 100644 --- a/src/platforms/javascript/common/configuration/integrations/reportingobserver.mdx +++ b/src/platforms/javascript/common/configuration/integrations/reportingobserver.mdx @@ -7,55 +7,9 @@ sidebar_order: 100 This integration hooks into the ReportingObserver API and sends captured events through to Sentry. It can be configured to handle specific issue types only. -```javascript {tabTitle: ESM} -import * as Sentry from "@sentry/browser"; -import { ReportingObserver } from "@sentry/integrations"; +This integration requires you to install `@sentry/integrations` next to your main SDK package. -Sentry.init({ - dsn: "___PUBLIC_DSN___", - integrations: [new ReportingObserver()], -}); -``` - -```html {tabTitle: Loader} - - - - -``` - -```html {tabTitle: CDN} - - - - -``` + ## Options diff --git a/src/platforms/javascript/common/configuration/integrations/rewriteframes.mdx b/src/platforms/javascript/common/configuration/integrations/rewriteframes.mdx index 2fe633c1c6e90..68caa0bedac31 100644 --- a/src/platforms/javascript/common/configuration/integrations/rewriteframes.mdx +++ b/src/platforms/javascript/common/configuration/integrations/rewriteframes.mdx @@ -9,55 +9,9 @@ This integration allows you to apply a transformation to each frame of the stack On Windows machines, you have to use Unix paths and skip the volume letter in the `root` option to enable it. For example, `C:\\Program Files\\Apache\\www` won’t work, however, `/Program Files/Apache/www` will. -```javascript {tabTitle: ESM} -import * as Sentry from "@sentry/browser"; -import { RewriteFrames } from "@sentry/integrations"; +This integration requires you to install `@sentry/integrations` next to your main SDK package. -Sentry.init({ - dsn: "___PUBLIC_DSN___", - integrations: [new RewriteFrames()], -}); -``` - -```html {tabTitle: Loader} - - - - -``` - -```html {tabTitle: CDN} - - - - -``` + ## Options From 1021ee8d687db319f3c94dcaddfe910ec16350f1 Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Fri, 18 Aug 2023 11:18:59 +0200 Subject: [PATCH 12/18] resturcture options & add default note --- .../integrations/breadcrumbs.mdx | 26 ++++++++++++++----- .../integrations/captureconsole.mdx | 4 ++- .../integrations/contextlines.mdx | 4 ++- .../configuration/integrations/debug.mdx | 8 ++++-- .../configuration/integrations/dedupe.mdx | 2 ++ .../integrations/extraerrordata.mdx | 4 ++- .../integrations/functiontostring.mdx | 2 ++ .../integrations/globalhandlers.mdx | 10 +++++-- .../configuration/integrations/httpclient.mdx | 12 ++++++--- .../integrations/httpcontext.mdx | 2 ++ .../integrations/inboundfilters.mdx | 18 ++++++++++--- .../integrations/linkederrors.mdx | 11 ++++++-- .../integrations/reportingobserver.mdx | 4 ++- .../integrations/rewriteframes.mdx | 12 ++++++--- .../configuration/integrations/trycatch.mdx | 2 ++ 15 files changed, 95 insertions(+), 26 deletions(-) diff --git a/src/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx b/src/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx index d45b385401f0d..6799ffae8ad0d 100644 --- a/src/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx +++ b/src/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx @@ -7,33 +7,47 @@ sidebar_order: 1 _Import name: `Sentry.Integrations.Breadcrumbs`_ +This integration is [enabled by default](./../#modifying-default-integrations). + This integration wraps native APIs to capture breadcrumbs. By default, the Sentry SDK wraps all APIs. You can opt-out of capturing breadcrumbs for specific parts of your application (e.g. do not capture `console.log` calls as breadcrumbs) via the options below. ## Options -- `console` (boolean) +### `console` + +_Type: `boolean`_ Log calls to `console.log`, `console.debug`, etc. -- `dom` (boolean | `{ serializeAttribute: string | string[] }`) +### `dom` + +_Type: `boolean` | `{ serializeAttribute: string | string[] }`_ Log all click and keypress events. When an object with a `serializeAttribute` key is provided, the Breadcrumbs integration will look for given attribute(s) in DOM elements while generating the breadcrumb trails. Matched elements will be followed by their custom attributes, instead of their `id`s or `class` names. -- `fetch` (boolean) +### `fetch` + +_Type: `boolean`_ Log HTTP requests done with the Fetch API -- `history` (boolean) +### `history` + +_Type: `boolean`_ Log calls to `history.pushState` and related APIs. -- `sentry` (boolean) +### `sentry` + +_Type: `boolean`_ Log whenever we send an event to the server. -- `xhr` (boolean) +### `xhr` + +_Type: `boolean`_ Log HTTP requests done with the XHR API. diff --git a/src/platforms/javascript/common/configuration/integrations/captureconsole.mdx b/src/platforms/javascript/common/configuration/integrations/captureconsole.mdx index 202c681728367..ffc212e020e5b 100644 --- a/src/platforms/javascript/common/configuration/integrations/captureconsole.mdx +++ b/src/platforms/javascript/common/configuration/integrations/captureconsole.mdx @@ -13,7 +13,9 @@ This integration requires you to install `@sentry/integrations` next to your mai ## Options -- `levels` (string[]) +### `levels` + +_Type: `string[]`_ Array of methods that should be captured. Defaults to `['log', 'info', 'warn', 'error', 'debug', 'assert']` diff --git a/src/platforms/javascript/common/configuration/integrations/contextlines.mdx b/src/platforms/javascript/common/configuration/integrations/contextlines.mdx index 1422a93e20766..3c630ef07994d 100644 --- a/src/platforms/javascript/common/configuration/integrations/contextlines.mdx +++ b/src/platforms/javascript/common/configuration/integrations/contextlines.mdx @@ -18,6 +18,8 @@ This integration requires you to install `@sentry/integrations` next to your mai ## Options -- `frameContextLines` (number) +### `frameContextLines` + +_Type: `number`_ The number of lines to collect around each stack frame's line number. Defaults to 7. diff --git a/src/platforms/javascript/common/configuration/integrations/debug.mdx b/src/platforms/javascript/common/configuration/integrations/debug.mdx index e62ed6af3cae6..cbaf018b66640 100644 --- a/src/platforms/javascript/common/configuration/integrations/debug.mdx +++ b/src/platforms/javascript/common/configuration/integrations/debug.mdx @@ -15,10 +15,14 @@ This integration requires you to install `@sentry/integrations` next to your mai ## Options -- `debugger` (boolean) +### `debugger` + +_Type: `boolean`_ Trigger DevTools debugger instead of using `console.log`. -- `stringify` (boolean) +### `stringify` + +_Type: `boolean`_ Stringify event before passing it to `console.log`. diff --git a/src/platforms/javascript/common/configuration/integrations/dedupe.mdx b/src/platforms/javascript/common/configuration/integrations/dedupe.mdx index 9fa8b7235176b..1160ccb0a1f06 100644 --- a/src/platforms/javascript/common/configuration/integrations/dedupe.mdx +++ b/src/platforms/javascript/common/configuration/integrations/dedupe.mdx @@ -7,6 +7,8 @@ sidebar_order: 1 _Import name: `Sentry.Integrations.Dedupe`_ +This integration is [enabled by default](./../#modifying-default-integrations). + This integration deduplicates certain events. It can be helpful if you're receiving many duplicate errors. Note, that Sentry only compares stack traces and fingerprints. diff --git a/src/platforms/javascript/common/configuration/integrations/extraerrordata.mdx b/src/platforms/javascript/common/configuration/integrations/extraerrordata.mdx index 924cc9dbdbd9a..44dbc5e9c3690 100644 --- a/src/platforms/javascript/common/configuration/integrations/extraerrordata.mdx +++ b/src/platforms/javascript/common/configuration/integrations/extraerrordata.mdx @@ -13,7 +13,9 @@ This integration requires you to install `@sentry/integrations` next to your mai ## Options -- `depth` (number) +### `depth` + +_Type: `number`_ Limit of how deep the object serializer should go. The default is 3. Anything deeper than the set limit will be replaced with standard Node.js REPL notation of [Object], [Array], [Function], or diff --git a/src/platforms/javascript/common/configuration/integrations/functiontostring.mdx b/src/platforms/javascript/common/configuration/integrations/functiontostring.mdx index ec54e5d6d3d33..5e63faf49fa25 100644 --- a/src/platforms/javascript/common/configuration/integrations/functiontostring.mdx +++ b/src/platforms/javascript/common/configuration/integrations/functiontostring.mdx @@ -7,4 +7,6 @@ sidebar_order: 1 _Import name: `Sentry.Integrations.FunctionToString`_ +This integration is [enabled by default](./../#modifying-default-integrations). + This integration allows the SDK to provide original functions and method names, even when those functions or methods are wrapped by our error or breadcrumb handlers. diff --git a/src/platforms/javascript/common/configuration/integrations/globalhandlers.mdx b/src/platforms/javascript/common/configuration/integrations/globalhandlers.mdx index 213ec23abb978..c3d04a0fd4cf6 100644 --- a/src/platforms/javascript/common/configuration/integrations/globalhandlers.mdx +++ b/src/platforms/javascript/common/configuration/integrations/globalhandlers.mdx @@ -7,14 +7,20 @@ sidebar_order: 1 _Import name: `Sentry.Integrations.GlobalHandlers`_ +This integration is [enabled by default](./../#modifying-default-integrations). + This integration attaches global handlers to capture uncaught exceptions and unhandled rejections. It captures errors and unhandled promise rejections by default. ## Options -- `onerror` (boolean) +### `onerror` + +_Type: `boolean`_ Capture errors bubbled to `onerror`. -- `onunhandledrejection` (boolean) +### `onunhandledrejection` + +_Type: `boolean`_ Capture unhandled promise rejections. diff --git a/src/platforms/javascript/common/configuration/integrations/httpclient.mdx b/src/platforms/javascript/common/configuration/integrations/httpclient.mdx index c8178dfc8ce20..ffca66790a2df 100644 --- a/src/platforms/javascript/common/configuration/integrations/httpclient.mdx +++ b/src/platforms/javascript/common/configuration/integrations/httpclient.mdx @@ -21,18 +21,24 @@ Due to the limitations of the Fetch and XHR API, the cookie and header collectio ## Options -- `failedRequestStatusCodes` (array) +### `failedRequestStatusCodes` + +_Type: `(number|[number, number])[]`_ This array can contain tuples of `[begin, end]` (both inclusive), single status codes, or a combination of the two. Default: `[[500, 599]]` -- `failedRequestTargets` (array) +### `failedRequestTargets` + +_Type: `(string|RegExp)[]`_ An array of request targets that should be considered, for example `['http://example.com/api/test']` would interpret any request to this URL as a failure. This array can contain Regexes, strings, or a combination of the two. Default: `[/.*/]` -- `sendDefaultPii` (boolean) +### `sendDefaultPii` + +_Type: `boolean`_ This option has to be specified on the root Sentry.init options, not the diff --git a/src/platforms/javascript/common/configuration/integrations/httpcontext.mdx b/src/platforms/javascript/common/configuration/integrations/httpcontext.mdx index 60bdece6cdbe7..f5c4a0e337863 100644 --- a/src/platforms/javascript/common/configuration/integrations/httpcontext.mdx +++ b/src/platforms/javascript/common/configuration/integrations/httpcontext.mdx @@ -7,5 +7,7 @@ sidebar_order: 1 _Import name: `Sentry.Integrations.HttpContext`_ +This integration is [enabled by default](./../#modifying-default-integrations). + This integration attaches HTTP request information, such as URL, user-agent, referrer, and other headers, to the event. It allows us to correctly catalog and tag events with specific OS, browser, and version information. diff --git a/src/platforms/javascript/common/configuration/integrations/inboundfilters.mdx b/src/platforms/javascript/common/configuration/integrations/inboundfilters.mdx index 4d0d53660c335..4d7d34d45314b 100644 --- a/src/platforms/javascript/common/configuration/integrations/inboundfilters.mdx +++ b/src/platforms/javascript/common/configuration/integrations/inboundfilters.mdx @@ -7,6 +7,8 @@ sidebar_order: 1 _Import name: `Sentry.Integrations.InboundFilters`_ +This integration is [enabled by default](./../#modifying-default-integrations). + This integration allows you to ignore specific errors based on the type, message, or URLs in a given exception. @@ -28,18 +30,26 @@ Sentry.init({ integration! {" "} -- `ignoreErrors` (array) +### `ignoreErrors` + +_Type: `(string|RegExp)[]`_ -- `ignoreTransactions` (array) +### `ignoreTransactions` + +_Type: `(string|RegExp)[]`_ -- `denyUrls` (array) +### `denyUrls` + +_Type: `(string|RegExp)[]`_ -- `allowUrls` (array) +### `allowUrls` + +_Type: `(string|RegExp)[]`_ diff --git a/src/platforms/javascript/common/configuration/integrations/linkederrors.mdx b/src/platforms/javascript/common/configuration/integrations/linkederrors.mdx index 55649a84004a8..ce3fe43ef1e35 100644 --- a/src/platforms/javascript/common/configuration/integrations/linkederrors.mdx +++ b/src/platforms/javascript/common/configuration/integrations/linkederrors.mdx @@ -7,12 +7,19 @@ sidebar_order: 1 _Import name: `Sentry.Integrations.LinkedErrors`_ +This integration is [enabled by default](./../#modifying-default-integrations). + This integration allows you to configure linked errors. They’ll be recursively read up to a specified limit, then lookup will be performed by a specific key. By default, the Sentry SDK sets the limit to five and the key used is `"cause"`. ## Options -- `key` (string) -- `limit` (number) +### `key` + +_Type: `string`_ + +### `limit` + +_Type: `number`_ ## Example diff --git a/src/platforms/javascript/common/configuration/integrations/reportingobserver.mdx b/src/platforms/javascript/common/configuration/integrations/reportingobserver.mdx index ba0f732be282f..54f0bdfa94ebb 100644 --- a/src/platforms/javascript/common/configuration/integrations/reportingobserver.mdx +++ b/src/platforms/javascript/common/configuration/integrations/reportingobserver.mdx @@ -13,6 +13,8 @@ This integration requires you to install `@sentry/integrations` next to your mai ## Options -- `types` (`'crash'|'deprecation'|'intervention'[]`) +### `types` + +_Type: `('crash'|'deprecation'|'intervention')[]`_ Only handle the given issue types. By default, all issue types are handled. diff --git a/src/platforms/javascript/common/configuration/integrations/rewriteframes.mdx b/src/platforms/javascript/common/configuration/integrations/rewriteframes.mdx index 68caa0bedac31..c5ff413210358 100644 --- a/src/platforms/javascript/common/configuration/integrations/rewriteframes.mdx +++ b/src/platforms/javascript/common/configuration/integrations/rewriteframes.mdx @@ -15,16 +15,22 @@ This integration requires you to install `@sentry/integrations` next to your mai ## Options -- `root` (string) +### `root` + +_Type: `string`_ Root path that will be stripped from the current frame's filename by the default iteratee if the filename is an absolute path. -- `prefix` (string) +### `prefix` + +_Type: `string`_ A custom prefix that will be used by the default iteratee. Default: `app://` -- `iteratee` (`(frame) => frame`) +### `iteratee` + +_Type: `(frame) => frame`_ Function that takes the frame, applies a transformation, and returns it. diff --git a/src/platforms/javascript/common/configuration/integrations/trycatch.mdx b/src/platforms/javascript/common/configuration/integrations/trycatch.mdx index 38986b2162a00..3752d61bd63c6 100644 --- a/src/platforms/javascript/common/configuration/integrations/trycatch.mdx +++ b/src/platforms/javascript/common/configuration/integrations/trycatch.mdx @@ -7,4 +7,6 @@ sidebar_order: 1 _Import name: `Sentry.Integrations.TryCatch`_ +This integration is [enabled by default](./../#modifying-default-integrations). + This integration wraps native time and event APIs (`setTimeout`, `setInterval`, `requestAnimationFrame`, `addEventListener/removeEventListener`) in `try/catch` blocks to handle async exceptions. From 8d16de1bde4000acafe5c0ca1cb235b954cb19e0 Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Fri, 18 Aug 2023 11:26:05 +0200 Subject: [PATCH 13/18] add browsertracing & replay integrations --- .../configuration/integrations/browsertracing.mdx | 12 ++++++++++++ .../common/configuration/integrations/replay.mdx | 10 ++++++++++ .../configuration/integrations/browsertracing.mdx | 8 ++++++++ 3 files changed, 30 insertions(+) create mode 100644 src/platforms/javascript/common/configuration/integrations/browsertracing.mdx create mode 100644 src/platforms/javascript/common/configuration/integrations/replay.mdx create mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/browsertracing.mdx diff --git a/src/platforms/javascript/common/configuration/integrations/browsertracing.mdx b/src/platforms/javascript/common/configuration/integrations/browsertracing.mdx new file mode 100644 index 0000000000000..ce947cf810289 --- /dev/null +++ b/src/platforms/javascript/common/configuration/integrations/browsertracing.mdx @@ -0,0 +1,12 @@ +--- +title: BrowserTracing +excerpt: "" +description: "Capture performance data for the Browser." +sidebar_order: 99 +--- + +With [performance monitoring](/product/performance/), Sentry tracks your software performance, measuring metrics like throughput and latency, and displaying the impact of errors across multiple systems. Sentry captures distributed traces consisting of transactions and spans, which measure individual services and individual operations within those services. + +The BrowserTracing integration sets up automatic performance monitoring for your frontend applications. It captures transactions and spans from the browser and sends them to Sentry. + +Read more about [setting up BrowserTracing](./../../../performance/). diff --git a/src/platforms/javascript/common/configuration/integrations/replay.mdx b/src/platforms/javascript/common/configuration/integrations/replay.mdx new file mode 100644 index 0000000000000..4432707d6c6ce --- /dev/null +++ b/src/platforms/javascript/common/configuration/integrations/replay.mdx @@ -0,0 +1,10 @@ +--- +title: Replay +excerpt: "" +description: "Capture a video-like reproduction of what was happening in the user's browser." +sidebar_order: 99 +--- + +[Session Replay](/product/session-replay/) helps you get to the root cause of an error or latency issue faster by providing you with a video-like reproduction of what was happening in the user's browser before, during, and after the issue. You can rewind and replay your application's DOM state and see key user interactions, like mouse clicks, scrolls, network requests, and console entries, in a single combined UI inspired by your browser's DevTools. + +Read more about [setting up Session Replay](./../../../session-replay/). diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/browsertracing.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/browsertracing.mdx new file mode 100644 index 0000000000000..25df4f3f10d14 --- /dev/null +++ b/src/platforms/javascript/guides/electron/configuration/integrations/browsertracing.mdx @@ -0,0 +1,8 @@ +--- +title: "" +excerpt: "" +description: "N/A for Electron" +sidebar_order: 9999 +--- + +Not available for Electron. From 69ccac9358520270c4a70c4cb4ad5a616ed7687d Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Fri, 18 Aug 2023 11:38:20 +0200 Subject: [PATCH 14/18] improve dependencies --- .../common/configuration/integrations/breadcrumbs.mdx | 2 ++ .../common/configuration/integrations/browsertracing.mdx | 2 ++ .../common/configuration/integrations/dedupe.mdx | 2 ++ .../common/configuration/integrations/globalhandlers.mdx | 2 ++ .../common/configuration/integrations/httpcontext.mdx | 2 ++ .../common/configuration/integrations/linkederrors.mdx | 2 ++ .../common/configuration/integrations/modulemetadata.mdx | 2 ++ .../common/configuration/integrations/replay.mdx | 3 +++ .../common/configuration/integrations/trycatch.mdx | 2 ++ .../electron/configuration/integrations/breadcrumbs.mdx | 8 -------- .../configuration/integrations/browsertracing.mdx | 8 -------- .../guides/electron/configuration/integrations/dedupe.mdx | 8 -------- .../configuration/integrations/globalhandlers.mdx | 8 -------- .../electron/configuration/integrations/httpcontext.mdx | 8 -------- .../electron/configuration/integrations/linkederrors.mdx | 8 -------- .../configuration/integrations/modulemetadata.mdx | 8 -------- .../electron/configuration/integrations/trycatch.mdx | 8 -------- 17 files changed, 19 insertions(+), 64 deletions(-) delete mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/breadcrumbs.mdx delete mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/browsertracing.mdx delete mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/dedupe.mdx delete mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/globalhandlers.mdx delete mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/httpcontext.mdx delete mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/linkederrors.mdx delete mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/modulemetadata.mdx delete mode 100644 src/platforms/javascript/guides/electron/configuration/integrations/trycatch.mdx diff --git a/src/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx b/src/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx index 6799ffae8ad0d..1c4190fd8fef7 100644 --- a/src/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx +++ b/src/platforms/javascript/common/configuration/integrations/breadcrumbs.mdx @@ -3,6 +3,8 @@ title: Breadcrumbs excerpt: "" description: "Wraps native APIs to capture breadcrumbs. (default)" sidebar_order: 1 +notSupported: + - javascript.electron --- _Import name: `Sentry.Integrations.Breadcrumbs`_ diff --git a/src/platforms/javascript/common/configuration/integrations/browsertracing.mdx b/src/platforms/javascript/common/configuration/integrations/browsertracing.mdx index ce947cf810289..7d5ba1b3c68d0 100644 --- a/src/platforms/javascript/common/configuration/integrations/browsertracing.mdx +++ b/src/platforms/javascript/common/configuration/integrations/browsertracing.mdx @@ -3,6 +3,8 @@ title: BrowserTracing excerpt: "" description: "Capture performance data for the Browser." sidebar_order: 99 +notSupported: + - javascript.cordova --- With [performance monitoring](/product/performance/), Sentry tracks your software performance, measuring metrics like throughput and latency, and displaying the impact of errors across multiple systems. Sentry captures distributed traces consisting of transactions and spans, which measure individual services and individual operations within those services. diff --git a/src/platforms/javascript/common/configuration/integrations/dedupe.mdx b/src/platforms/javascript/common/configuration/integrations/dedupe.mdx index 1160ccb0a1f06..77626afbf36e5 100644 --- a/src/platforms/javascript/common/configuration/integrations/dedupe.mdx +++ b/src/platforms/javascript/common/configuration/integrations/dedupe.mdx @@ -3,6 +3,8 @@ title: Dedupe excerpt: "" description: "Deduplicate certain events to avoid receiving duplicate errors. (default)" sidebar_order: 1 +notSupported: + - javascript.electron --- _Import name: `Sentry.Integrations.Dedupe`_ diff --git a/src/platforms/javascript/common/configuration/integrations/globalhandlers.mdx b/src/platforms/javascript/common/configuration/integrations/globalhandlers.mdx index c3d04a0fd4cf6..5873e8c7bbdc7 100644 --- a/src/platforms/javascript/common/configuration/integrations/globalhandlers.mdx +++ b/src/platforms/javascript/common/configuration/integrations/globalhandlers.mdx @@ -3,6 +3,8 @@ title: GlobalHandlers excerpt: "" description: "Attaches global handlers to capture uncaught exceptions and unhandled rejections. (default)" sidebar_order: 1 +notSupported: + - javascript.electron --- _Import name: `Sentry.Integrations.GlobalHandlers`_ diff --git a/src/platforms/javascript/common/configuration/integrations/httpcontext.mdx b/src/platforms/javascript/common/configuration/integrations/httpcontext.mdx index f5c4a0e337863..014cdc092ad57 100644 --- a/src/platforms/javascript/common/configuration/integrations/httpcontext.mdx +++ b/src/platforms/javascript/common/configuration/integrations/httpcontext.mdx @@ -3,6 +3,8 @@ title: HttpContext excerpt: "" description: "Attaches HTTP request information, such as URL, user-agent, referrer, and other headers to the event. (default)" sidebar_order: 1 +notSupported: + - javascript.electron --- _Import name: `Sentry.Integrations.HttpContext`_ diff --git a/src/platforms/javascript/common/configuration/integrations/linkederrors.mdx b/src/platforms/javascript/common/configuration/integrations/linkederrors.mdx index ce3fe43ef1e35..6f65d5c4a58f0 100644 --- a/src/platforms/javascript/common/configuration/integrations/linkederrors.mdx +++ b/src/platforms/javascript/common/configuration/integrations/linkederrors.mdx @@ -3,6 +3,8 @@ title: LinkedErrors excerpt: "" description: "Allows you to configure linked errors. (default)" sidebar_order: 1 +notSupported: + - javascript.electron --- _Import name: `Sentry.Integrations.LinkedErrors`_ diff --git a/src/platforms/javascript/common/configuration/integrations/modulemetadata.mdx b/src/platforms/javascript/common/configuration/integrations/modulemetadata.mdx index f5ba319e198f2..b85cab56e01f9 100644 --- a/src/platforms/javascript/common/configuration/integrations/modulemetadata.mdx +++ b/src/platforms/javascript/common/configuration/integrations/modulemetadata.mdx @@ -3,6 +3,8 @@ title: ModuleMetadata excerpt: "" description: "Adds module metadata to stack frames." sidebar_order: 100 +notSupported: + - javascript.electron --- _Import name: `Sentry.Integrations.ModuleMetadata`_ diff --git a/src/platforms/javascript/common/configuration/integrations/replay.mdx b/src/platforms/javascript/common/configuration/integrations/replay.mdx index 4432707d6c6ce..47058c710fdf7 100644 --- a/src/platforms/javascript/common/configuration/integrations/replay.mdx +++ b/src/platforms/javascript/common/configuration/integrations/replay.mdx @@ -3,6 +3,9 @@ title: Replay excerpt: "" description: "Capture a video-like reproduction of what was happening in the user's browser." sidebar_order: 99 +notSupported: + - javascript.cordova + - javascript.wasm --- [Session Replay](/product/session-replay/) helps you get to the root cause of an error or latency issue faster by providing you with a video-like reproduction of what was happening in the user's browser before, during, and after the issue. You can rewind and replay your application's DOM state and see key user interactions, like mouse clicks, scrolls, network requests, and console entries, in a single combined UI inspired by your browser's DevTools. diff --git a/src/platforms/javascript/common/configuration/integrations/trycatch.mdx b/src/platforms/javascript/common/configuration/integrations/trycatch.mdx index 3752d61bd63c6..3e1686717e08d 100644 --- a/src/platforms/javascript/common/configuration/integrations/trycatch.mdx +++ b/src/platforms/javascript/common/configuration/integrations/trycatch.mdx @@ -3,6 +3,8 @@ title: TryCatch excerpt: "" description: "Wraps native time and events APIs (`setTimeout`, `setInterval`, `requestAnimationFrame`, `addEventListener/removeEventListener`) in `try/catch` blocks to handle async exceptions. (default)" sidebar_order: 1 +notSupported: + - javascript.electron --- _Import name: `Sentry.Integrations.TryCatch`_ diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/breadcrumbs.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/breadcrumbs.mdx deleted file mode 100644 index 25df4f3f10d14..0000000000000 --- a/src/platforms/javascript/guides/electron/configuration/integrations/breadcrumbs.mdx +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: "" -excerpt: "" -description: "N/A for Electron" -sidebar_order: 9999 ---- - -Not available for Electron. diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/browsertracing.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/browsertracing.mdx deleted file mode 100644 index 25df4f3f10d14..0000000000000 --- a/src/platforms/javascript/guides/electron/configuration/integrations/browsertracing.mdx +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: "" -excerpt: "" -description: "N/A for Electron" -sidebar_order: 9999 ---- - -Not available for Electron. diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/dedupe.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/dedupe.mdx deleted file mode 100644 index 25df4f3f10d14..0000000000000 --- a/src/platforms/javascript/guides/electron/configuration/integrations/dedupe.mdx +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: "" -excerpt: "" -description: "N/A for Electron" -sidebar_order: 9999 ---- - -Not available for Electron. diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/globalhandlers.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/globalhandlers.mdx deleted file mode 100644 index 25df4f3f10d14..0000000000000 --- a/src/platforms/javascript/guides/electron/configuration/integrations/globalhandlers.mdx +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: "" -excerpt: "" -description: "N/A for Electron" -sidebar_order: 9999 ---- - -Not available for Electron. diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/httpcontext.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/httpcontext.mdx deleted file mode 100644 index 25df4f3f10d14..0000000000000 --- a/src/platforms/javascript/guides/electron/configuration/integrations/httpcontext.mdx +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: "" -excerpt: "" -description: "N/A for Electron" -sidebar_order: 9999 ---- - -Not available for Electron. diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/linkederrors.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/linkederrors.mdx deleted file mode 100644 index 25df4f3f10d14..0000000000000 --- a/src/platforms/javascript/guides/electron/configuration/integrations/linkederrors.mdx +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: "" -excerpt: "" -description: "N/A for Electron" -sidebar_order: 9999 ---- - -Not available for Electron. diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/modulemetadata.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/modulemetadata.mdx deleted file mode 100644 index 25df4f3f10d14..0000000000000 --- a/src/platforms/javascript/guides/electron/configuration/integrations/modulemetadata.mdx +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: "" -excerpt: "" -description: "N/A for Electron" -sidebar_order: 9999 ---- - -Not available for Electron. diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/trycatch.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/trycatch.mdx deleted file mode 100644 index 25df4f3f10d14..0000000000000 --- a/src/platforms/javascript/guides/electron/configuration/integrations/trycatch.mdx +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: "" -excerpt: "" -description: "N/A for Electron" -sidebar_order: 9999 ---- - -Not available for Electron. From 60a235a6795200e440c9fcbf5e6521afb3d5c358 Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Thu, 24 Aug 2023 13:30:42 +0200 Subject: [PATCH 15/18] Apply suggestions from code review Co-authored-by: Liza Mock --- .../electron/configuration/integrations/childprocess.mdx | 2 +- .../electron/configuration/integrations/maincontext.mdx | 2 +- .../guides/electron/configuration/integrations/net.mdx | 4 ++-- .../configuration/integrations/onuncaughtexception.mdx | 4 ++-- .../electron/configuration/integrations/preloadinjection.mdx | 2 +- .../electron/configuration/integrations/sentryminidump.mdx | 2 +- src/platforms/javascript/guides/vue/features/vue-router.mdx | 2 +- src/platforms/react-native/troubleshooting.mdx | 2 +- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/childprocess.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/childprocess.mdx index 3aa0d662ea546..4b9a22fdffc15 100644 --- a/src/platforms/javascript/guides/electron/configuration/integrations/childprocess.mdx +++ b/src/platforms/javascript/guides/electron/configuration/integrations/childprocess.mdx @@ -25,7 +25,7 @@ interface ChildProcessOptions { } ``` -For example, to disable capture of breadcrumbs and only capture events for Out-Of-Memory crashes: +For example, to disable the capture of breadcrumbs and only capture events for Out-Of-Memory crashes: diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/maincontext.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/maincontext.mdx index 72c365abcce4b..f5aade21b5200 100644 --- a/src/platforms/javascript/guides/electron/configuration/integrations/maincontext.mdx +++ b/src/platforms/javascript/guides/electron/configuration/integrations/maincontext.mdx @@ -7,4 +7,4 @@ redirect_from: - /platforms/javascript/guides/electron/configuration/integrations/default/ --- -Adds app, operating system and runtime context to all events. +Adds app, operating system, and runtime context to all events. diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/net.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/net.mdx index 6f25bd7960199..4f2abfc6ed76f 100644 --- a/src/platforms/javascript/guides/electron/configuration/integrations/net.mdx +++ b/src/platforms/javascript/guides/electron/configuration/integrations/net.mdx @@ -5,7 +5,7 @@ description: "Captures breadcrumbs and tracing spans for Electrons `net` module. sidebar_order: 10 --- -Captures breadcrumbs and tracing spans for Electrons `net` module. By default breadcrumbs and tracing spans are enabled and `sentry-trace` headers are added to requests for all origins. +Captures breadcrumbs and tracing spans for Electron's `net` module. Breadcrumbs and tracing spans are enabled by default, while `sentry-trace` headers are added to requests for all origins. The integration can be configured via constructor options: @@ -32,7 +32,7 @@ interface NetOptions { } ``` -For example, to disable breadcrumb capture and addition of `sentry-trace` headers and only capture spans for `POST` requests: +Here's a code example of how to disable breadcrumb capture and add `sentry-trace` headers to only capture spans for `POST` requests: diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/onuncaughtexception.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/onuncaughtexception.mdx index 45a0173a1cfad..4836b22101c7c 100644 --- a/src/platforms/javascript/guides/electron/configuration/integrations/onuncaughtexception.mdx +++ b/src/platforms/javascript/guides/electron/configuration/integrations/onuncaughtexception.mdx @@ -5,9 +5,9 @@ description: "Supports capturing events from `uncaughtException` while retaining sidebar_order: 10 --- -Supports capturing events from `uncaughtException` while retaining Electrons default behaviour of displaying an error dialog if there are no other listeners. +Supports capturing events from `uncaughtException` while retaining Electron's default behavior of displaying an error dialog if there are no other listeners. -To disable Electrons default error dialog, simply add another listener: +To disable Electron's default error dialog, add another listener: ```javascript process.on("uncaughtException", () => {}); diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/preloadinjection.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/preloadinjection.mdx index 305b59fb85371..c06dd0a90ba7c 100644 --- a/src/platforms/javascript/guides/electron/configuration/integrations/preloadinjection.mdx +++ b/src/platforms/javascript/guides/electron/configuration/integrations/preloadinjection.mdx @@ -5,7 +5,7 @@ description: "Injects a preload script via the Electron. (default)" sidebar_order: 10 --- -Injects a preload script via the Electron [`session.setPreloads(preloads)`](https://www.electronjs.org/docs/latest/api/session#sessetpreloadspreloads) API. By default sessions are only injected into the `defaultSession`. If you are using other sessions, you can pass a function as `getSessions` to `init`. +Injects a preload script via the Electron [`session.setPreloads(preloads)`](https://www.electronjs.org/docs/latest/api/session#sessetpreloadspreloads) API. By default, sessions are only injected into the `defaultSession`. If you're using other sessions, you can pass a function as `getSessions` to `init`. diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/sentryminidump.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/sentryminidump.mdx index 4e1ceef28eedf..27bf126d2dece 100644 --- a/src/platforms/javascript/guides/electron/configuration/integrations/sentryminidump.mdx +++ b/src/platforms/javascript/guides/electron/configuration/integrations/sentryminidump.mdx @@ -5,4 +5,4 @@ description: "Captures minidumps and sends them with full context to the Sentry sidebar_order: 10 --- -Captures minidumps and sends them with full context to the Sentry Envelope endpoint using a custom uploader. +Captures minidumps and sends them to the Sentry Envelope endpoint with full context using a custom uploader. diff --git a/src/platforms/javascript/guides/vue/features/vue-router.mdx b/src/platforms/javascript/guides/vue/features/vue-router.mdx index 7dcfc0f59d558..0814372fc291b 100644 --- a/src/platforms/javascript/guides/vue/features/vue-router.mdx +++ b/src/platforms/javascript/guides/vue/features/vue-router.mdx @@ -6,7 +6,7 @@ redirect_from: - /platforms/javascript/guides/vue/configuration/integrations/vue-router/ --- -If you're using Vue Router, you should use our provided routing instrumentation to get better, parameterized transaction names. +If you're using Vue Router, use our provided routing instrumentation to get better parameterized transaction names. Our routing instrumentation supports `vue-router` v2, v3, and v4. diff --git a/src/platforms/react-native/troubleshooting.mdx b/src/platforms/react-native/troubleshooting.mdx index 94d6f9b157c75..07ac520407231 100644 --- a/src/platforms/react-native/troubleshooting.mdx +++ b/src/platforms/react-native/troubleshooting.mdx @@ -96,7 +96,7 @@ Common fixes to this issue include: - Checking that source maps are correctly uploaded with the exact same `release` and `dist` values as the event. They **must match** for source maps to upload correctly. - If you set a custom `release` and `dist`, confirming that you manually uploaded the sourcemaps since our automatic source map upload script will not detect the custom values. - Make sure that the name of the bundle in the stack trace matches exactly with the name in the source map. For example, if your stack frames say `app:///index.bundle`, the artifacts must be named `index.bundle` and `index.bundle.map` respectively. -- Checking that you are not disabling the [`RewriteFrames`](/platforms/javascript/configuration/integrations/rewriteframes) default integration by overwriting it, filtering it out, or setting `defaultIntegrations: false`. +- Checking that you're not disabling the [`RewriteFrames`](/platforms/javascript/configuration/integrations/rewriteframes) default integration by overwriting it, filtering it out, or setting `defaultIntegrations: false`. [For more details, please read the guide on React Native source maps.](/platforms/react-native/sourcemaps) From 9399eca9705cb5fafcf99f4df45614c5f7785b29 Mon Sep 17 00:00:00 2001 From: "getsantry[bot]" <66042841+getsantry[bot]@users.noreply.github.com> Date: Thu, 24 Aug 2023 11:32:23 +0000 Subject: [PATCH 16/18] style(lint): Auto commit lint changes --- .../guides/electron/configuration/integrations/net.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/net.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/net.mdx index 4f2abfc6ed76f..934335dc6bdcf 100644 --- a/src/platforms/javascript/guides/electron/configuration/integrations/net.mdx +++ b/src/platforms/javascript/guides/electron/configuration/integrations/net.mdx @@ -5,7 +5,7 @@ description: "Captures breadcrumbs and tracing spans for Electrons `net` module. sidebar_order: 10 --- -Captures breadcrumbs and tracing spans for Electron's `net` module. Breadcrumbs and tracing spans are enabled by default, while `sentry-trace` headers are added to requests for all origins. +Captures breadcrumbs and tracing spans for Electron's `net` module. Breadcrumbs and tracing spans are enabled by default, while `sentry-trace` headers are added to requests for all origins. The integration can be configured via constructor options: From fb37995da0793571d972b6de63eeeddc223ea83b Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Thu, 24 Aug 2023 13:38:05 +0200 Subject: [PATCH 17/18] reorder sections --- .../common/configuration/integrations/index.mdx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/platforms/javascript/common/configuration/integrations/index.mdx b/src/platforms/javascript/common/configuration/integrations/index.mdx index cae2ca2d11805..5c9a25de01cc0 100644 --- a/src/platforms/javascript/common/configuration/integrations/index.mdx +++ b/src/platforms/javascript/common/configuration/integrations/index.mdx @@ -9,9 +9,7 @@ redirect_from: Sentry provides a number of integrations which are designed to add automatic instrumentation to your application. Some of these integrations are enabled by default, while others have to be explicitly enabled. -## Available Integrations - ## Modifying Default Integrations @@ -45,7 +43,9 @@ For all other cases, we recommend you use the `integrations` option. -## Removing an Integration +## Removing a Default Integration + +If you only want to remove a single or some of the default integrations, instead of disabling all of them with `defaultIntegrations: false`, you can use the following syntax to filter out the ones you don't want. This example removes the integration for adding breadcrumbs to the event, which is enabled by default: @@ -64,3 +64,7 @@ Sentry.init({ ## Custom Integrations You can also create [custom integrations](./custom). + +## Available Integrations + + \ No newline at end of file From 44f8e00949a622749b36fd12416c2ef85089285b Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Thu, 24 Aug 2023 13:41:34 +0200 Subject: [PATCH 18/18] fix linting & add vercel redirects --- .../common/configuration/integrations/index.mdx | 4 +--- .../configuration/integrations/maincontext.mdx | 2 -- vercel.json | 10 +++++++++- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/platforms/javascript/common/configuration/integrations/index.mdx b/src/platforms/javascript/common/configuration/integrations/index.mdx index 5c9a25de01cc0..6e4934d4aac54 100644 --- a/src/platforms/javascript/common/configuration/integrations/index.mdx +++ b/src/platforms/javascript/common/configuration/integrations/index.mdx @@ -9,8 +9,6 @@ redirect_from: Sentry provides a number of integrations which are designed to add automatic instrumentation to your application. Some of these integrations are enabled by default, while others have to be explicitly enabled. - - ## Modifying Default Integrations To disable system integrations, set `defaultIntegrations: false` when calling `init()`. @@ -67,4 +65,4 @@ You can also create [custom integrations](./custom). ## Available Integrations - \ No newline at end of file + diff --git a/src/platforms/javascript/guides/electron/configuration/integrations/maincontext.mdx b/src/platforms/javascript/guides/electron/configuration/integrations/maincontext.mdx index f5aade21b5200..c9d68713377ff 100644 --- a/src/platforms/javascript/guides/electron/configuration/integrations/maincontext.mdx +++ b/src/platforms/javascript/guides/electron/configuration/integrations/maincontext.mdx @@ -3,8 +3,6 @@ title: MainContext excerpt: "" description: "Adds app, operating system and runtime context to all events. (default)" sidebar_order: 10 -redirect_from: - - /platforms/javascript/guides/electron/configuration/integrations/default/ --- Adds app, operating system, and runtime context to all events. diff --git a/vercel.json b/vercel.json index bf1b286774807..366f9676602fa 100644 --- a/vercel.json +++ b/vercel.json @@ -121,7 +121,15 @@ }, { "source": "/platforms/javascript/guides/([^/]*)/integrations/default/", - "destination": "/platforms/javascript/guides/$1/configuration/integrations/default/" + "destination": "/platforms/javascript/guides/$1/configuration/integrations/" + }, + { + "source": "/platforms/javascript/guides/([^/]*)/configuration/integrations/default/", + "destination": "/platforms/javascript/guides/$1/configuration/integrations/" + }, + { + "source": "/platforms/javascript/guides/([^/]*)/configuration/integrations/plugin/", + "destination": "/platforms/javascript/guides/$1/configuration/integrations/" }, { "source": "/platforms/javascript/guides/([^/]*)/config/",