diff --git a/docs/concepts/search/searchable-properties/events.mdx b/docs/concepts/search/searchable-properties/events.mdx index 404dd2bc82c33..2f7fc705048eb 100644 --- a/docs/concepts/search/searchable-properties/events.mdx +++ b/docs/concepts/search/searchable-properties/events.mdx @@ -414,13 +414,13 @@ Returns results with a matching total number of frames. ### `measurements.stall_count` -A [stall](/platforms/react-native/performance/instrumentation/automatic-instrumentation/#stall-tracking) is when the JavaScript event loop takes longer than expected to complete. Only applies to React Native. +A [stall](/platforms/react-native/tracing/instrumentation/automatic-instrumentation/#stall-tracking) is when the JavaScript event loop takes longer than expected to complete. Only applies to React Native. - **Type:** number ### `measurements.stall_longest_time` -The [longest stall time](/platforms/react-native/performance/instrumentation/automatic-instrumentation/#stall-tracking) is the time, in milliseconds, of the longest event loop stall. Only applies to React Native. +The [longest stall time](/platforms/react-native/tracing/instrumentation/automatic-instrumentation/#stall-tracking) is the time, in milliseconds, of the longest event loop stall. Only applies to React Native. - **Type:** duration @@ -432,7 +432,7 @@ Stall percentage is equal to the `stall_total_time` divided by the `transaction. ### `measurements.stall_total_time` -The [total stall time](/platforms/react-native/performance/instrumentation/automatic-instrumentation/#stall-tracking) is the total combined time, in milliseconds, of all stalls. Only applies to React Native. +The [total stall time](/platforms/react-native/tracing/instrumentation/automatic-instrumentation/#stall-tracking) is the total combined time, in milliseconds, of all stalls. Only applies to React Native. - **Type:** duration diff --git a/docs/contributing/approach/sdk-docs/write-getting-started.mdx b/docs/contributing/approach/sdk-docs/write-getting-started.mdx index 34bfbd6f58ca2..4c3609226830c 100644 --- a/docs/contributing/approach/sdk-docs/write-getting-started.mdx +++ b/docs/contributing/approach/sdk-docs/write-getting-started.mdx @@ -66,7 +66,8 @@ Provide a verification code sample for this SDK. It can be as simple as one line Add the verification code sample to this directory: -- [`/src/platform-includes/getting-started-verify/`](https://github.com/getsentry/sentry-docs/tree/master/src/platform-includes/getting-started-verify) +- [`/src/platform-includes/getting-started-verify/`](https://github.com/getsentry/sentry-docs/tree/master/platform-includes/getting-started-verify) + ## But, that's not all diff --git a/docs/organization/integrations/data-visualization/splunk/index.mdx b/docs/organization/integrations/data-visualization/splunk/index.mdx index f473ed5172911..6c8dbc18472f5 100644 --- a/docs/organization/integrations/data-visualization/splunk/index.mdx +++ b/docs/organization/integrations/data-visualization/splunk/index.mdx @@ -8,7 +8,7 @@ Connect Splunk to Sentry with the [Data Forwarding](/concepts/data-management/da -We only support Splunk Cloud plans. We do not support Splunk Enterprise plans. See the [Splunk documentation](https://dev.splunk.com/view/event-collector/SP-CAAAE7F) for specific details on your Splunk installation. +We only support Splunk Cloud plans. We do not support Splunk Enterprise plans. See the [Splunk documentation](https://dev.splunk.com/) for specific details on your Splunk installation. diff --git a/docs/organization/integrations/source-code-mgmt/github/index.mdx b/docs/organization/integrations/source-code-mgmt/github/index.mdx index 9a35627d82eb8..a5aa1283b902c 100644 --- a/docs/organization/integrations/source-code-mgmt/github/index.mdx +++ b/docs/organization/integrations/source-code-mgmt/github/index.mdx @@ -369,5 +369,5 @@ If you’re having issues adding a GitHub repository: If you're having trouble setting up Sentry with your on-premises integration, verify the following: - The provided installation URL is a fully qualified domain name (FQDN), which is resolvable on the internet. -- The IP addresses Sentry uses to make outbound requests are [allowed](security-legal-pii/security/ip-ranges/). +- The IP addresses Sentry uses to make outbound requests are [allowed](/security-legal-pii/security/ip-ranges/). - Sentry's access to your installation URL is not path restricted. diff --git a/docs/platforms/apple/common/features/index.mdx b/docs/platforms/apple/common/features/index.mdx index 8c61184791ace..755cd8a3f6030 100644 --- a/docs/platforms/apple/common/features/index.mdx +++ b/docs/platforms/apple/common/features/index.mdx @@ -47,6 +47,7 @@ The SDK builds a crash report that persists to disk. While it attempts to send t - User Interaction transactions for UI clicks - Attachments enrich your event by storing additional files, such as config or log files - User Feedback provides the ability to collect user information when an event occurs -- View Hierarchy and Screenshot attachments for errors + +- [View Hierarchy](/platforms/apple/guides/ios/enriching-events/viewhierarchy/) and [Screenshot](/platforms/apple/guides/ios/enriching-events/screenshots/) attachments for errors - Source Context shows snippets of code around the location of stack frames - MetricKit integration diff --git a/docs/platforms/dart/integrations/dio.mdx b/docs/platforms/dart/integrations/dio.mdx index f25623fda860a..9f183d3d5f715 100644 --- a/docs/platforms/dart/integrations/dio.mdx +++ b/docs/platforms/dart/integrations/dio.mdx @@ -44,7 +44,7 @@ dio.addSentry(...); ## Reporting Bad HTTP Requests as Errors -The `Interceptors` can also catch exceptions that may occur during requests — for example [DioError](https://pub.dev/documentation/dio/latest/dio/DioError-class.html). +The `Interceptors` can also catch exceptions that may occur during requests — for example [DioError](https://pub.dev/documentation/dio2/latest/dio2/DioError-class.html). ```dart import 'package:sentry_dio/sentry_dio.dart'; diff --git a/docs/platforms/dotnet/common/tracing/instrumentation/custom-instrumentation/queues-module.mdx b/docs/platforms/dotnet/common/tracing/instrumentation/custom-instrumentation/queues-module.mdx index 35154d5131089..982d24f6d8201 100644 --- a/docs/platforms/dotnet/common/tracing/instrumentation/custom-instrumentation/queues-module.mdx +++ b/docs/platforms/dotnet/common/tracing/instrumentation/custom-instrumentation/queues-module.mdx @@ -15,7 +15,7 @@ To start capturing performance metrics, use the `transaction.StartChild()` funct | `messaging.destination.name` | string | The queue or topic name | | `messaging.message.body.size` | int | Size of the message body in bytes | -Your `queue.publish` span must exist inside a transaction in order to be recognized as a producer span. If you are using a supported framework, the transaction is created by the integration. If you are using plain Go, you can start a new one using `SentrySdk.StartTransaction()`. +Your `queue.publish` span must exist inside a transaction in order to be recognized as a producer span. If you are using a supported framework, the transaction is created by the integration. If you are using plain C#, you can start a new one using `SentrySdk.StartTransaction()`. You must also include trace headers in your message so that your consumers can continue your trace once your message is picked up. @@ -74,7 +74,7 @@ To start capturing performance metrics, use the `transaction.StartChild()` funct | `messaging.message.retry.count ` | number | The number of times a message was attempted to be processed | | `messaging.message.receive.latency ` | number | The time in milliseconds that a message awaited processing in queue | -Your `queue.process` span must exist inside a transaction in order to be recognized as a consumer span. If you are using a supported web framework, the transaction is created by the integration. If you use plain Python, you can start a new one using `SentrySdk.StartTransaction()`. +Your `queue.process` span must exist inside a transaction in order to be recognized as a consumer span. If you are using a supported framework, the transaction is created by the integration. If you use plain C#, you can start a new one using `SentrySdk.StartTransaction()`. Use `SentrySdk.ContinueTrace()` to connect your consumer spans to their associated producer spans, and `span.SetExtra()` to mark the trace of your message as success or failed. diff --git a/docs/platforms/java/common/legacy/logback/index.mdx b/docs/platforms/java/common/legacy/logback/index.mdx index b47b4b6ed17fb..96cdd7e214ddd 100644 --- a/docs/platforms/java/common/legacy/logback/index.mdx +++ b/docs/platforms/java/common/legacy/logback/index.mdx @@ -9,7 +9,7 @@ A new Java SDK has superseded this deprecated version. Sentry preserves this doc -The `sentry-logback` library provides [Logback](http://logback.qos.ch/) support for Sentry via an [Appender](http://logback.qos.ch/apidocs/ch/qos/logback/core/Appender.html) that sends logged exceptions to Sentry. Once this integration is configured you can _also_ use Sentry’s static API, [as shown on the usage page](/platforms/java/legacy/usage), in order to do things like record breadcrumbs, set the current user, or manually send events. +The `sentry-logback` library provides [Logback](http://logback.qos.ch/) support for Sentry via an [Appender](https://logback.qos.ch/manual/appenders.html) that sends logged exceptions to Sentry. Once this integration is configured you can _also_ use Sentry’s static API, [as shown on the usage page](/platforms/java/legacy/usage), in order to do things like record breadcrumbs, set the current user, or manually send events. The source can be found [on GitHub](https://github.com/getsentry/sentry-java/tree/master/sentry-logback). diff --git a/docs/platforms/java/common/tracing/instrumentation/custom-instrumentation/caches-module.mdx b/docs/platforms/java/common/tracing/instrumentation/custom-instrumentation/caches-module.mdx index 1d03c35f41bf7..fc1019990467f 100644 --- a/docs/platforms/java/common/tracing/instrumentation/custom-instrumentation/caches-module.mdx +++ b/docs/platforms/java/common/tracing/instrumentation/custom-instrumentation/caches-module.mdx @@ -15,7 +15,7 @@ For detailed information about which data can be set, see the [Cache Module Deve ## Manual Instrumentation -For now you'll need to manually instrument the [Cache Module]((https://sentry.io/orgredirect/organizations/:orgslug/insights/caches/)) by following the steps below. +For now you'll need to manually instrument the [Cache Module](https://sentry.io/orgredirect/organizations/:orgslug/insights/caches/) by following the steps below. If you are using Spring caching, please take a look at our [proof of concept PR](https://github.com/getsentry/sentry-java/pull/3457) as it shows how to register a cache listener and report cache spans to Sentry. diff --git a/docs/platforms/javascript/common/configuration/integrations/trpc.mdx b/docs/platforms/javascript/common/configuration/integrations/trpc.mdx index 2947726f52273..c95bbef648349 100644 --- a/docs/platforms/javascript/common/configuration/integrations/trpc.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/trpc.mdx @@ -17,6 +17,7 @@ supported: - javascript.sveltekit - javascript.remix - javascript.astro + - javascript.deno - javascript.bun --- diff --git a/docs/platforms/javascript/common/data-management/debug-files/file-formats/index.mdx b/docs/platforms/javascript/common/data-management/debug-files/file-formats/index.mdx index 65a23118e1d85..c7287c3a3b8b6 100644 --- a/docs/platforms/javascript/common/data-management/debug-files/file-formats/index.mdx +++ b/docs/platforms/javascript/common/data-management/debug-files/file-formats/index.mdx @@ -2,6 +2,9 @@ title: "Debug File Formats" description: "Learn about platform-specific file formats and the debug information they contain." sidebar_order: 1 +supported: + - javascript.capacitor + - javascript.electron --- Sentry differentiates four kinds of debug information: diff --git a/docs/platforms/javascript/common/data-management/debug-files/identifiers/index.mdx b/docs/platforms/javascript/common/data-management/debug-files/identifiers/index.mdx index 3a704b4c69d3b..9036f98e19f9c 100644 --- a/docs/platforms/javascript/common/data-management/debug-files/identifiers/index.mdx +++ b/docs/platforms/javascript/common/data-management/debug-files/identifiers/index.mdx @@ -2,6 +2,9 @@ title: Debug Identifiers description: "Learn about build tooling requirements that allow Sentry to uniquely identify debug information files across builds." sidebar_order: 2 +supported: + - javascript.capacitor + - javascript.electron --- Each debug information file specifies a unique identifier. Crash reports declare diff --git a/docs/platforms/javascript/common/data-management/debug-files/source-context/index.mdx b/docs/platforms/javascript/common/data-management/debug-files/source-context/index.mdx index 4d80a865c7908..6ddd39c5c62b8 100644 --- a/docs/platforms/javascript/common/data-management/debug-files/source-context/index.mdx +++ b/docs/platforms/javascript/common/data-management/debug-files/source-context/index.mdx @@ -2,6 +2,9 @@ title: Source Context description: "Learn about setting up source bundles to show source code in stack traces on the Issue Details page." sidebar_order: 5 +supported: + - javascript.capacitor + - javascript.electron --- If Sentry has access to your application's source code, it can show snippets of code (_source context_) around the location of stack frames, which helps to quickly pinpoint problematic code. diff --git a/docs/platforms/javascript/common/data-management/debug-files/symbol-servers/index.mdx b/docs/platforms/javascript/common/data-management/debug-files/symbol-servers/index.mdx index 70c5456cbe8c1..d4a3b208a94cd 100644 --- a/docs/platforms/javascript/common/data-management/debug-files/symbol-servers/index.mdx +++ b/docs/platforms/javascript/common/data-management/debug-files/symbol-servers/index.mdx @@ -2,6 +2,9 @@ title: Symbol Servers description: "Learn about symbol servers and how to configure them with your Sentry projects." sidebar_order: 4 +supported: + - javascript.capacitor + - javascript.electron --- Sentry can download debug information files from external repositories. This diff --git a/docs/platforms/javascript/common/data-management/debug-files/upload/index.mdx b/docs/platforms/javascript/common/data-management/debug-files/upload/index.mdx index fee0968875039..51e57ee4bf149 100644 --- a/docs/platforms/javascript/common/data-management/debug-files/upload/index.mdx +++ b/docs/platforms/javascript/common/data-management/debug-files/upload/index.mdx @@ -2,6 +2,9 @@ title: Uploading Files description: "Learn about uploading debug information files to Sentry." sidebar_order: 3 +supported: + - javascript.capacitor + - javascript.electron --- The most straightforward way to provide Sentry with debug information file is diff --git a/docs/platforms/javascript/common/index.mdx b/docs/platforms/javascript/common/index.mdx index 4401ef837d6d7..a70eb21ab2da4 100644 --- a/docs/platforms/javascript/common/index.mdx +++ b/docs/platforms/javascript/common/index.mdx @@ -1,6 +1,6 @@ - + We have recently released v8 of the JavaScript SDKs. If you're using version diff --git a/docs/platforms/javascript/common/migration/v7-to-v8/v8-opentelemetry.mdx b/docs/platforms/javascript/common/migration/v7-to-v8/v8-opentelemetry.mdx index 0b4899cef4079..a59b1f8331a25 100644 --- a/docs/platforms/javascript/common/migration/v7-to-v8/v8-opentelemetry.mdx +++ b/docs/platforms/javascript/common/migration/v7-to-v8/v8-opentelemetry.mdx @@ -26,7 +26,7 @@ const span1 = tracer.startSpan('work-1'); span1.end(); ``` -We recommend using the [performance monitoring APIs](./v8-new-performance-api.mdx) provided by Sentry, as they are more user-friendly and provide additional features. +We recommend using the [performance monitoring APIs](../v8-new-performance-api/) provided by Sentry, as they are more user-friendly and provide additional features. ### Custom OpenTelemetry Instrumentation diff --git a/docs/platforms/javascript/common/sourcemaps/uploading/cli.mdx b/docs/platforms/javascript/common/sourcemaps/uploading/cli.mdx index 619ca66f29a64..957542b3ba031 100644 --- a/docs/platforms/javascript/common/sourcemaps/uploading/cli.mdx +++ b/docs/platforms/javascript/common/sourcemaps/uploading/cli.mdx @@ -2,6 +2,11 @@ title: Sentry CLI description: "Upload your source maps using Sentry CLI." sidebar_order: 6 +notSupported: + - javascript.nextjs + - javascript.remix + - javascript.sveltekit + - javascript.astro --- In this guide, you'll learn how to successfully upload source maps using our `sentry-cli` tool. diff --git a/docs/platforms/javascript/common/tracing/index.mdx b/docs/platforms/javascript/common/tracing/index.mdx index 5c93185349963..ae07be1d67bf0 100644 --- a/docs/platforms/javascript/common/tracing/index.mdx +++ b/docs/platforms/javascript/common/tracing/index.mdx @@ -13,7 +13,9 @@ If you’re adopting Tracing in a high-throughput environment, we recommend test - + + + diff --git a/docs/platforms/javascript/common/tracing/instrumentation/custom-instrumentation/caches-module.mdx b/docs/platforms/javascript/common/tracing/instrumentation/custom-instrumentation/caches-module.mdx index 7d761fd6cc3f1..451e7ec1102e6 100644 --- a/docs/platforms/javascript/common/tracing/instrumentation/custom-instrumentation/caches-module.mdx +++ b/docs/platforms/javascript/common/tracing/instrumentation/custom-instrumentation/caches-module.mdx @@ -41,7 +41,7 @@ Sentry.init({ ## Manual Instrumentation -If you're using anything other than Sentry's Redis integration, you'll need to manually instrument the [Cache Module](<(https://sentry.io/orgredirect/organizations/:orgslug/performance/caches/)>) by following the steps below. +If you're using anything other than Sentry's Redis integration, you'll need to manually instrument the [Cache Module](https://sentry.io/orgredirect/organizations/:orgslug/performance/caches/) by following the steps below. You'll need to create two spans - one indicating that something is being put into the cache, and a second one indicating that something is being fetched from the cache. diff --git a/docs/platforms/javascript/common/tracing/instrumentation/custom-instrumentation/index.mdx b/docs/platforms/javascript/common/tracing/instrumentation/custom-instrumentation/index.mdx index a726f18f86ffa..af5803fecc6b3 100644 --- a/docs/platforms/javascript/common/tracing/instrumentation/custom-instrumentation/index.mdx +++ b/docs/platforms/javascript/common/tracing/instrumentation/custom-instrumentation/index.mdx @@ -183,9 +183,11 @@ Sentry.suppressTracing(() => { }); ``` + ### Distributed Tracing See Distributed Tracing for details on how to manually set up distributed tracing. + ## Improving Span Data diff --git a/docs/platforms/javascript/common/tracing/instrumentation/opentelemetry.mdx b/docs/platforms/javascript/common/tracing/instrumentation/opentelemetry.mdx index 00aef10fe89d9..7f568b7fc36c0 100644 --- a/docs/platforms/javascript/common/tracing/instrumentation/opentelemetry.mdx +++ b/docs/platforms/javascript/common/tracing/instrumentation/opentelemetry.mdx @@ -14,6 +14,9 @@ supported: - javascript.hapi - javascript.koa - javascript.nestjs + - javascript.sveltekit + - javascript.astro + - javascript.remix notSupported: - javascript --- diff --git a/docs/platforms/javascript/common/user-feedback/index.mdx b/docs/platforms/javascript/common/user-feedback/index.mdx index f3204f91c6033..b66b6a286dd90 100644 --- a/docs/platforms/javascript/common/user-feedback/index.mdx +++ b/docs/platforms/javascript/common/user-feedback/index.mdx @@ -8,7 +8,7 @@ The User Feedback feature allows you to collect user feedback from anywhere insi Note that if you're using a self-hosted Sentry instance, you'll need to be on version 24.4.2 or higher in order to use the full functionality of the User Feedback feature. Lower versions may have limited functionality. - + ## User Feedback Widget diff --git a/docs/platforms/javascript/guides/react/features/react-router.mdx b/docs/platforms/javascript/guides/react/features/react-router.mdx index c11f743a94c90..0da947397dc8b 100644 --- a/docs/platforms/javascript/guides/react/features/react-router.mdx +++ b/docs/platforms/javascript/guides/react/features/react-router.mdx @@ -77,7 +77,7 @@ You can instrument [`createMemoryRouter`](https://reactrouter.com/en/main/router ### Usage With `` Component -If you're using the `` component from `react-router-dom` to define your routes, wrap [`Routes`](https://reactrouter.com/docs/en/v6/api#routes-and-route) using `Sentry.withSentryReactRouterV6Routing`. This creates a higher order component, which will enable Sentry to reach your router context. You can also use `Sentry.withSentryReactRouterV6Routing` for `Routes` inside `BrowserRouter`. `MemoryRouter`, and `HashRouter` components: +If you're using the `` component from `react-router-dom` to define your routes, wrap [`Routes`](https://reactrouter.com/en/main/components/routes) using `Sentry.withSentryReactRouterV6Routing`. This creates a higher order component, which will enable Sentry to reach your router context. You can also use `Sentry.withSentryReactRouterV6Routing` for `Routes` inside `BrowserRouter`. `MemoryRouter`, and `HashRouter` components: diff --git a/docs/platforms/javascript/guides/remix/manual-setup.mdx b/docs/platforms/javascript/guides/remix/manual-setup.mdx index 9be15592e91b0..e8535d51caa6d 100644 --- a/docs/platforms/javascript/guides/remix/manual-setup.mdx +++ b/docs/platforms/javascript/guides/remix/manual-setup.mdx @@ -183,7 +183,7 @@ NODE_OPTIONS='--require=./instrument.server.cjs' remix-serve build If you use the Express server instead of the Remix built-in server, you can alternatively import your instrumentation file directly at the top of your server implementation. See the example [here](#custom-express-server). -Sentry's Remix SDK will automatically record your [`action`](https://remix.run/docs/en/main/route/action) and [`loader`](https://remix.run/docs/en/main/route/loader) transactions, as well as server-side errors. You can also initialize Sentry's database integrations, such as Prisma, to get spans for your database calls. +Sentry's Remix SDK will automatically record your [`action`](https://remix.run/docs/en/main/route/action) and [`loader`](https://remix.run/docs/en/main/route/loader) transactions, as well as server-side errors. You can also initialize Sentry's database integrations, such as Prisma, to get spans for your database calls. #### Server-side Errors diff --git a/docs/platforms/javascript/legacy-sdk/install.mdx b/docs/platforms/javascript/legacy-sdk/install.mdx index 383e5af1e0d87..dd5747b304b74 100644 --- a/docs/platforms/javascript/legacy-sdk/install.mdx +++ b/docs/platforms/javascript/legacy-sdk/install.mdx @@ -165,15 +165,13 @@ This won’t work when opening `index.html` or any other html file from the file -To read un-minified source code for this loader, see [loader.js](https://github.com/getsentry/raven-js/blob/master/packages/raven-js/src/loader.js) - ## Requirements Raven supports IE8+ and all other modern browsers, and works in Web Workers. Raven requires the browser JavaScript environment to provide: -- Either [XHR Level 2](https://caniuse.com/#feat=xhr2) (IE10+, all other modern browsers) or [XDomainRequest](https://developer.mozilla.org/en-US/docs/Web/API/XDomainRequest) (IE8, IE9) +- Either [XHR Level 2](https://caniuse.com/#feat=xhr2) (IE10+, all other modern browsers) or [XDomainRequest](https://learn.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/cc288132(v=vs.85)) (IE8, IE9) - A global `JSON` object with `JSON.stringify` (IE8+ [standards mode](), all other modern browsers) Raven does not support IE 7 or other older browsers which do not provide the required features listed above. On those older browsers, Raven.js is designed to fail gracefully; including it on your page will have no effect, but it won’t collect and report uncaught exceptions. diff --git a/docs/platforms/javascript/legacy-sdk/usage.mdx b/docs/platforms/javascript/legacy-sdk/usage.mdx index b41db836cec0e..2a2870d7c5e1d 100644 --- a/docs/platforms/javascript/legacy-sdk/usage.mdx +++ b/docs/platforms/javascript/legacy-sdk/usage.mdx @@ -260,10 +260,7 @@ Raven.isSetup(); Raven and Sentry support [Source Maps](https://www.html5rocks.com/en/tutorials/developertools/sourcemaps/). For more information, please read the [Source Map -docs](/platforms/javascript/legacy-sdk/sourcemaps/). Also, check -out our -[Gruntfile](https://github.com/getsentry/raven-js/blob/master/packages/raven-js/Gruntfile.js) -for a good example of what we’re doing. +docs](/platforms/javascript/legacy-sdk/sourcemaps/). You can use [Source Map Validator](https://sourcemaps.io/) to help verify that things are correct. diff --git a/docs/platforms/native/common/data-management/sensitive-data/index.mdx b/docs/platforms/native/common/data-management/sensitive-data/index.mdx index e3b50eb8ae730..59fd1f1adbb6c 100644 --- a/docs/platforms/native/common/data-management/sensitive-data/index.mdx +++ b/docs/platforms/native/common/data-management/sensitive-data/index.mdx @@ -27,7 +27,7 @@ We offer the following options depending on your legal and operational needs: Ensure that your team is aware of your company's policy around what can and cannot be sent to Sentry. We recommend determining this policy early in your implementation and communicating it as well as enforcing it via code review. -If you are using Sentry in your mobile app, read our [frequently asked questions about mobile data privacy](security-legal-pii/security/mobile-privacy/) to assist with Apple App Store and Google Play app privacy details. +If you are using Sentry in your mobile app, read our [frequently asked questions about mobile data privacy](/security-legal-pii/security/mobile-privacy/) to assist with Apple App Store and Google Play app privacy details. diff --git a/docs/platforms/php/common/tracing/instrumentation/caches-module.mdx b/docs/platforms/php/common/tracing/instrumentation/caches-module.mdx index 19615982fb538..0260b83c6455e 100644 --- a/docs/platforms/php/common/tracing/instrumentation/caches-module.mdx +++ b/docs/platforms/php/common/tracing/instrumentation/caches-module.mdx @@ -3,7 +3,7 @@ title: Instrument Caches sidebar_order: 1000 description: "Learn how to manually instrument your code to use Sentry's Caches module. " --- -Sentry offers a [cache-monitoring dashboard](https://sentry.io/orgredirect/organizations/:orgslug/insights/caches/) that can be auto-instrumented by our Laravel SDK. +Sentry offers a [cache-monitoring dashboard](https://sentry.io/orgredirect/organizations/:orgslug/insights/caches/) that can be auto-instrumented by our [Laravel SDK](/platforms/php/guides/laravel/). If you're using something else, you can manually instrument your cache operations and use Sentry to get a look into how your caching solution is performing by following the setup instructions below. @@ -15,7 +15,7 @@ For detailed information about which data can be set, see the [Cache Module deve ## Custom Instrumentation -If you're using anything other than our Laravel SDK, you'll need to manually instrument the [Cache Module]((https://sentry.io/orgredirect/organizations/:orgslug/performance/caches/)) by following the steps below. +If you're using anything other than our Laravel SDK, you'll need to manually instrument the [Cache Module](https://sentry.io/orgredirect/organizations/:orgslug/performance/caches/) by following the steps below. ### Add Span When Putting Data Into the Cache diff --git a/docs/platforms/php/common/tracing/instrumentation/queues-module.mdx b/docs/platforms/php/common/tracing/instrumentation/queues-module.mdx index 450a6a0a1f402..74349e3162b11 100644 --- a/docs/platforms/php/common/tracing/instrumentation/queues-module.mdx +++ b/docs/platforms/php/common/tracing/instrumentation/queues-module.mdx @@ -3,7 +3,7 @@ title: Instrument Queues sidebar_order: 3000 description: "Learn how to manually instrument your code to use Sentry's Queues module. " --- -Sentry comes with a [queue-monitoring dashboard](https://sentry.io/orgredirect/organizations/:orgslug/insights/queues/) that can be auto-instrumented by our Laravel SDK. +Sentry comes with a [queue-monitoring dashboard](https://sentry.io/orgredirect/organizations/:orgslug/insights/queues/) that can be auto-instrumented by our [Laravel SDK](/platforms/php/guides/laravel/). If you're using something else, you can manually instrument your queue producers and consumers to ensure that you have performance data about your messaging queues. diff --git a/docs/platforms/php/common/tracing/instrumentation/requests-module.mdx b/docs/platforms/php/common/tracing/instrumentation/requests-module.mdx index 0d34845f336a7..7e82840498980 100644 --- a/docs/platforms/php/common/tracing/instrumentation/requests-module.mdx +++ b/docs/platforms/php/common/tracing/instrumentation/requests-module.mdx @@ -3,7 +3,7 @@ title: Instrument HTTP Requests sidebar_order: 2000 description: "Learn how to manually instrument your code to use Sentry's Requests module." --- -Sentry offers a [requests monitoring dashboard](https://sentry.io/orgredirect/organizations/:orgslug/insights/http/) that can be auto-instrumented by our Laravel SDK and Symfony SDK. +Sentry offers a [requests monitoring dashboard](https://sentry.io/orgredirect/organizations/:orgslug/insights/http/) that can be auto-instrumented by our [Laravel SDK](/platforms/php/guides/laravel/) and [Symfony SDK](/platforms/php/guides/symfony/). If you're using something else, you can manually instrument your requests and use Sentry to get a look into how your requests to APIs are performing by following the setup instructions below. diff --git a/docs/platforms/python/legacy-sdk/index.mdx b/docs/platforms/python/legacy-sdk/index.mdx index bc4df4095ab77..a342f97ad1923 100644 --- a/docs/platforms/python/legacy-sdk/index.mdx +++ b/docs/platforms/python/legacy-sdk/index.mdx @@ -92,4 +92,4 @@ Resources: - [Bug Tracker](https://github.com/getsentry/raven-python/issues) - [Code](https://github.com/getsentry/raven-python) - [Mailing List](https://groups.google.com/group/getsentry) -- [IRC](irc://irc.freenode.net/sentry) (irc.freenode.net, #sentry) +- IRC (irc.freenode.net, #sentry) diff --git a/docs/platforms/python/legacy-sdk/integrations.mdx b/docs/platforms/python/legacy-sdk/integrations.mdx index 3a9a14f3e4e96..82ec8baa0c402 100644 --- a/docs/platforms/python/legacy-sdk/integrations.mdx +++ b/docs/platforms/python/legacy-sdk/integrations.mdx @@ -664,7 +664,7 @@ For more details on this feature, see the [_User Feedback guide_](/platforms/pyt ### Dealing With Proxies -When your Flask application is behind a proxy such as nginx, Sentry will use the remote address from the proxy, rather than from the actual requesting computer. By using `ProxyFix` from [werkzeug.contrib.fixers](https://werkzeug.palletsprojects.com/en/0.14.x/contrib/fixers/#werkzeug.contrib.fixers.ProxyFix) the Flask `.wsgi_app` can be modified to send the actual `REMOTE_ADDR` along to Sentry. +When your Flask application is behind a proxy such as nginx, Sentry will use the remote address from the proxy, rather than from the actual requesting computer. By using `ProxyFix` from `werkzeug.contrib.fixers`, the Flask `.wsgi_app` can be modified to send the actual `REMOTE_ADDR` along to Sentry. ```python from werkzeug.contrib.fixers import ProxyFix @@ -675,7 +675,7 @@ This may also require [changes](https://flask.palletsprojects.com/en/1.1.x/deplo ### Signals -Raven uses [blinker](https://github.com/jek/blinker) to emit a signal (called `logging_configured`) after logging has been configured for the client. You may [bind to that signal](https://pythonhosted.org/blinker/#subscribing-to-signals) in your application to do any additional configuration to the logging handler `SentryHandler`. +Raven uses [blinker](https://github.com/jek/blinker) to emit a signal (called `logging_configured`) after logging has been configured for the client. You may bind to that signal in your application to do any additional configuration to the logging handler `SentryHandler`. ```python from raven.contrib.flask import Sentry, logging_configured diff --git a/docs/platforms/python/tracing/instrumentation/custom-instrumentation/caches-module.mdx b/docs/platforms/python/tracing/instrumentation/custom-instrumentation/caches-module.mdx index a497e8b8a16bf..550698b26a1f4 100644 --- a/docs/platforms/python/tracing/instrumentation/custom-instrumentation/caches-module.mdx +++ b/docs/platforms/python/tracing/instrumentation/custom-instrumentation/caches-module.mdx @@ -17,7 +17,7 @@ For detailed information about which data can be set, see the [Cache Module Deve ## Manual Instrumentation -If you're using anything other than Django, Redis, memcached (comming soon), you'll need to manually instrument the [Cache Module]((https://sentry.io/orgredirect/organizations/:orgslug/performance/caches/)) by following the steps below. +If you're using anything other than Django, Redis, memcached (coming soon), you'll need to manually instrument the [Cache Module](https://sentry.io/orgredirect/organizations/:orgslug/performance/caches/) by following the steps below. ### Add Span When Putting Data Into the Cache diff --git a/docs/platforms/react-native/manual-setup/hermes.mdx b/docs/platforms/react-native/manual-setup/hermes.mdx index 634f49a6af6d3..419c5763e6a8b 100644 --- a/docs/platforms/react-native/manual-setup/hermes.mdx +++ b/docs/platforms/react-native/manual-setup/hermes.mdx @@ -16,7 +16,7 @@ This section describes common issues when using Hermes and how to resolve them. ### Multiple ways of Enabling Source Maps in Xcode -If you use `EXTRA_PACKAGER_ARGS`, you only need the packager source map. This is the default behavior if you used [`@sentry/wizard`](/platforms/react-native/#install). If you use [`SOURCEMAP_FILE`](https://reactnative.dev/docs/sourcemaps#enable-source-maps-on-ios), the combined Hermes source map is necessary. +If you use `EXTRA_PACKAGER_ARGS`, you only need the packager source map. This is the default behavior if you used [`@sentry/wizard`](/platforms/react-native/#install). If you use [`SOURCEMAP_FILE`](https://reactnative.dev/docs/debugging-release-builds#enabling-source-maps), the combined Hermes source map is necessary. ### Check RN Tooling Steps diff --git a/docs/platforms/react-native/tracing/instrumentation/user-interaction-instrumentation.mdx b/docs/platforms/react-native/tracing/instrumentation/user-interaction-instrumentation.mdx index b4ec1d43d97cb..d33aa15002dca 100644 --- a/docs/platforms/react-native/tracing/instrumentation/user-interaction-instrumentation.mdx +++ b/docs/platforms/react-native/tracing/instrumentation/user-interaction-instrumentation.mdx @@ -59,7 +59,7 @@ Because transactions are automatically bound to scope, you can create child span To create UI transactions from React Native Gesture Handler, you need to wrap individual gestures using `sentryTraceGesture`. This will also automatically create breadcrumbs. The wrapper `sentryTraceGesture(label, gesture)` accepts `string` labels that uniquely identify the gesture in a screen as well as the gesture object being wrapped. - Only [RNGH API v2](https://docs.swmansion.com/react-native-gesture-handler/docs/api/gestures/gesture) is supported. + Only [RNGH API v2](https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/gesture/) is supported. ```javascript diff --git a/docs/pricing/quotas/manage-event-stream-guide.mdx b/docs/pricing/quotas/manage-event-stream-guide.mdx index ae98dc4132137..b743c02190d06 100644 --- a/docs/pricing/quotas/manage-event-stream-guide.mdx +++ b/docs/pricing/quotas/manage-event-stream-guide.mdx @@ -242,7 +242,7 @@ To learn more and see code samples, check out: 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/trycatch/) and [ReportingObserver](/platforms/javascript/configuration/integrations/reportingobserver/) integrations. +Check out additional configuration options with the [BrowserApiErrors](/platforms/javascript/configuration/integrations/browserapierrors/) and [ReportingObserver](/platforms/javascript/configuration/integrations/reportingobserver/) integrations. ### Other SDKs diff --git a/docs/pricing/quotas/manage-transaction-quota.mdx b/docs/pricing/quotas/manage-transaction-quota.mdx index 069c010adc7af..13e2afefcdf2b 100644 --- a/docs/pricing/quotas/manage-transaction-quota.mdx +++ b/docs/pricing/quotas/manage-transaction-quota.mdx @@ -129,4 +129,4 @@ Sentry SDKs send transactions, each of which contain an arbitrary number of span ## SDK Configuration: Tracing Options -When you configure your SDK, you can control the number of transactions and therefore, the number of spans that are sent to Sentry by setting the [tracing options](/platform-redirect/?next=/configuration/options/%23tracing-options), including either setting a sample rate or providing a function for sampling. You can also set up [custom instrumentation](/platform-redirect/?next=/performance/instrumentation/custom-instrumentation/) for tracing to capture certain types of transactions. +When you configure your SDK, you can control the number of transactions and therefore, the number of spans that are sent to Sentry by setting the [tracing options](/platform-redirect/?next=/configuration/options/%23tracing-options), including either setting a sample rate or providing a function for sampling. You can also set up [custom instrumentation](/platform-redirect/?next=/tracing/instrumentation/custom-instrumentation/) for tracing to capture certain types of transactions. diff --git a/docs/product/dashboards/index.mdx b/docs/product/dashboards/index.mdx index 62ef31aecd0c9..b9db36a7a7b84 100644 --- a/docs/product/dashboards/index.mdx +++ b/docs/product/dashboards/index.mdx @@ -20,7 +20,7 @@ If you’d like to edit the default dashboard or build out multiple ones, each w ## Open Dashboard Widgets in Discover, Issues, and Metrics -Each Dashboard widget has an ellipsis that opens a context menu. From here, depending on the type of data the widget shows, you can open the widget in [Discover](/product/explore/discover-queries/), [Issues](product/issues/), or [Metrics](/product/explore/metrics/) to get more information. +Each Dashboard widget has an ellipsis that opens a context menu. From here, depending on the type of data the widget shows, you can open the widget in [Discover](/product/explore/discover-queries/), [Issues](/product/issues/), or [Metrics](/product/explore/metrics/) to get more information. ## Widget Viewer diff --git a/docs/product/explore/session-replay/web/index.mdx b/docs/product/explore/session-replay/web/index.mdx index 142ca7baa3221..586d17e823c85 100644 --- a/docs/product/explore/session-replay/web/index.mdx +++ b/docs/product/explore/session-replay/web/index.mdx @@ -8,7 +8,7 @@ description: "Learn about Session Replay and its video-like reproductions of use Session Replay allows you to see video-like reproductions of user sessions which can help you understand what happened before, during, and after an error or performance issue occurred. You'll be able to gain deeper debugging context into issues so that you can reproduce and resolve problems faster without the guesswork. As you play back each session, you'll be able to see every user interaction in relation to network requests, DOM events, and console messages. It’s effectively like having [DevTools](https://developer.chrome.com/docs/devtools/overview/) active in your production user sessions. -Replays are integrated with other parts of the Sentry product so you can see how the user experience is impacted by errors and slow transactions. You'll see session replays associated with error events on the [Issue Details](/product/issues/issue-details/) page, and those associated with slow transactions on the [Transaction Summary](/product/performance/transaction-summary/) page. For [backend error replays](/product/explore/session-replay/getting-started#replays-for-backend-errors), any contributing backend errors will be included in the replay's timeline, [breadcrumbs](https://docs.sentry.io/product/issues/issue-details/breadcrumbs/), and errors. +Replays are integrated with other parts of the Sentry product so you can see how the user experience is impacted by errors and slow transactions. You'll see session replays associated with error events on the [Issue Details](/product/issues/issue-details/) page, and those associated with slow transactions on the [Transaction Summary](/product/performance/transaction-summary/) page. For [backend error replays](/product/explore/session-replay/web/getting-started/#replays-for-backend-errors), any contributing backend errors will be included in the replay's timeline, [breadcrumbs](https://docs.sentry.io/product/issues/issue-details/breadcrumbs/), and errors. ![Session Replay User Interface](./img/session-replay.png) diff --git a/docs/product/explore/session-replay/web/replay-page-and-filters.mdx b/docs/product/explore/session-replay/web/replay-page-and-filters.mdx index 27836f11a13a5..a4b9a019522ff 100644 --- a/docs/product/explore/session-replay/web/replay-page-and-filters.mdx +++ b/docs/product/explore/session-replay/web/replay-page-and-filters.mdx @@ -22,7 +22,7 @@ By default, the IP address is used to identify each replay on this page. This ca Replays can appear on this page while they’re still in progress. You can’t delete in-progress replays. -Each replay will bring users to the [**Replay Details**](/product/explore/session-replay/replay-details/) page. +Each replay will bring users to the [**Replay Details**](/product/explore/session-replay/web/replay-details/) page. ## Filtering Replays diff --git a/docs/product/insights/assets.mdx b/docs/product/insights/assets.mdx index 502a471f0a451..1ed83eedc6cd3 100644 --- a/docs/product/insights/assets.mdx +++ b/docs/product/insights/assets.mdx @@ -40,7 +40,7 @@ Sentry tries to extract metrics by looking at asset-related spans. The JavaScript SDK automatically generates `asset` spans on `pageload` and `navigation` transactions using the browser's [Resource Timing API](https://developer.mozilla.org/en-US/docs/Web/API/Performance_API/Resource_timing). -If you are using automatic instrumentation, asset monitoring should work without any configuration. +If you are using automatic instrumentation, asset monitoring should work without any configuration. If you've manually instrumented Sentry, you'll need to make sure that your spans conform to our standards for the best experience: diff --git a/docs/product/insights/caches/index.mdx b/docs/product/insights/caches/index.mdx index 7cc7c45bcdad1..94eb9f91c1188 100644 --- a/docs/product/insights/caches/index.mdx +++ b/docs/product/insights/caches/index.mdx @@ -38,7 +38,7 @@ If available, custom instrumentation is documented on an environment-by-environm - [Python SDK](/platforms/python/tracing/instrumentation/custom-instrumentation/caches-module/) - [JavaScript SDKs](/platforms/javascript/guides/node/tracing/instrumentation/custom-instrumentation/caches-module/) -- [PHP SDK](/platforms/php/tracing/instrumentation/custom-instrumentation/caches-module/) +- [PHP SDK](/platforms/php/tracing/instrumentation/caches-module/) - [Java SDK](/platforms/java/tracing/instrumentation/custom-instrumentation/caches-module/) - [Ruby SDK](/platforms/ruby/tracing/instrumentation/custom-instrumentation/caches-module/) - [.NET SDK](/platforms/dotnet/tracing/instrumentation/custom-instrumentation/caches-module/) diff --git a/docs/product/insights/mobile-vitals/app-starts.mdx b/docs/product/insights/mobile-vitals/app-starts.mdx index a725cb6391e1b..36e0a4e655ea3 100644 --- a/docs/product/insights/mobile-vitals/app-starts.mdx +++ b/docs/product/insights/mobile-vitals/app-starts.mdx @@ -46,9 +46,9 @@ SentryAndroid.init(this) { options -> **For iOS:** -- `>=8.18.0` for automatic instrumentation of [app start spans](/platforms/apple/performance/instrumentation/automatic-instrumentation/#app-start-tracing) +- `>=8.18.0` for automatic instrumentation of [app start spans](/platforms/apple/tracing/instrumentation/automatic-instrumentation/#app-start-tracing) - `>=8.21.0` for app start profiling -- [PerformanceV2](/platforms/apple/performance/instrumentation/automatic-instrumentation/#performance-v2) must be enabled in the SDK, e.g.: +- [PerformanceV2](/platforms/apple/tracing/instrumentation/automatic-instrumentation/#performance-v2) must be enabled in the SDK, e.g.: ```swift import Sentry @@ -91,7 +91,7 @@ The following table describes the span operations that are surfaced in the spans | Platform | Span Operations | | --- | --- | | Common |
  • file.write
  • ui.load
  • http.client
  • db
  • db.sql.query
  • db.sql.transaction
| -| [iOS](/platforms/apple/guides/ios/performance/instrumentation/automatic-instrumentation/#app-start-tracing) |
  • app.start.cold
  • app.start.warm
| +| [iOS](/platforms/apple/guides/ios/tracing/instrumentation/automatic-instrumentation/#app-start-tracing) |
  • app.start.cold
  • app.start.warm
| | Android |
  • activity.load
  • application.load
  • contentprovider.load
  • process.load
| ## Span Detail View diff --git a/docs/product/insights/mobile-vitals/index.mdx b/docs/product/insights/mobile-vitals/index.mdx index bf4acfc89d50f..daf98165d24d4 100644 --- a/docs/product/insights/mobile-vitals/index.mdx +++ b/docs/product/insights/mobile-vitals/index.mdx @@ -18,10 +18,10 @@ App start metrics track how long your mobile application takes to launch. For th The definitions of cold start and warm start change slightly depending on the operating system. On iOS, Apple recommends your app take at most 400ms to render the first frame. On Android, the [Google Play console](https://developer.android.com/topic/performance/vitals/launch-time#av) warns you when a cold start takes longer than five seconds or a warm start longer than two seconds. For definitions by operating system, check out the corresponding SDK docs: -- [Android](/platforms/android/performance/instrumentation/automatic-instrumentation/#app-start-instrumentation) -- [Flutter](/platforms/flutter/performance/instrumentation/automatic-instrumentation/#app-start-instrumentation) -- [iOS](/platforms/apple/guides/ios/performance/instrumentation/automatic-instrumentation/#app-start-tracking) -- [React Native](/platforms/react-native/performance/instrumentation/automatic-instrumentation/#app-start-instrumentation) +- [Android](/platforms/android/tracing/instrumentation/automatic-instrumentation/#app-start-instrumentation) +- [Flutter](/platforms/flutter/tracing/instrumentation/automatic-instrumentation/#app-start-instrumentation) +- [iOS](/platforms/apple/guides/ios/tracing/instrumentation/automatic-instrumentation/#app-start-tracking) +- [React Native](/platforms/react-native/tracing/instrumentation/automatic-instrumentation/#app-start-instrumentation) In the example below, the detail view of a transaction displays the warm start measurement in the right sidebar. @@ -44,10 +44,10 @@ In the example below, the detail view of the transaction displays the slow, froz You can track slow and frozen frames for: -- [Android](/platforms/android/performance/instrumentation/automatic-instrumentation/#slow-and-frozen-frames) -- [Flutter](/platforms/flutter/performance/instrumentation/automatic-instrumentation/#slow-and-frozen-frames) -- [iOS](/platforms/apple/guides/ios/performance/instrumentation/automatic-instrumentation/#slow-and-frozen-frames) -- [React Native](/platforms/react-native/performance/instrumentation/automatic-instrumentation/#slow-and-frozen-frames) +- [Android](/platforms/android/tracing/instrumentation/automatic-instrumentation/#slow-and-frozen-frames) +- [Flutter](/platforms/flutter/tracing/instrumentation/automatic-instrumentation/#slow-and-frozen-frames) +- [iOS](/platforms/apple/guides/ios/tracing/instrumentation/automatic-instrumentation/#slow-and-frozen-frames) +- [React Native](/platforms/react-native/tracing/instrumentation/automatic-instrumentation/#slow-and-frozen-frames) ## Time to Initial Display and Time to Full Display @@ -62,15 +62,15 @@ In the example below, the detail view of the transaction displays the time-to-in You can track time to initial display for: -- [Android](/platforms/android/performance/instrumentation/automatic-instrumentation/#time-to-initial-display) -- [Apple](/platforms/apple/performance/instrumentation/automatic-instrumentation/#time-to-initial-display) +- [Android](/platforms/android/tracing/instrumentation/automatic-instrumentation/#time-to-initial-display) +- [Apple](/platforms/apple/tracing/instrumentation/automatic-instrumentation/#time-to-initial-display) - [Flutter](/platforms/flutter/integrations/routing-instrumentation/#time-to-initial-display) - [React Native](/platforms/react-native/performance/instrumentation/time-to-display/#automatic-time-to-initial-display-for-react-navigation) You can track time to full display for: -- [Android](/platforms/android/performance/instrumentation/automatic-instrumentation/#time-to-full-display) -- [Apple](/platforms/apple/performance/instrumentation/automatic-instrumentation/#time-to-full-display) +- [Android](/platforms/android/tracing/instrumentation/automatic-instrumentation/#time-to-full-display) +- [Apple](/platforms/apple/tracing/instrumentation/automatic-instrumentation/#time-to-full-display) - [Flutter](/platforms/flutter/integrations/routing-instrumentation/#time-to-full-display) - [React Native](/platforms/react-native/performance/instrumentation/time-to-display/#time-to-full-display) diff --git a/docs/product/insights/queue-monitoring/index.mdx b/docs/product/insights/queue-monitoring/index.mdx index 58474e97be2b2..2636e90bf67b2 100644 --- a/docs/product/insights/queue-monitoring/index.mdx +++ b/docs/product/insights/queue-monitoring/index.mdx @@ -36,7 +36,7 @@ Instructions for custom instrumentation in various languages are linked to below - [Python SDK](/platforms/python/tracing/instrumentation/custom-instrumentation/queues-module/) - [JavaScript SDK](/platforms/javascript/guides/node/tracing/instrumentation/custom-instrumentation/queues-module/) -- [PHP SDK](/platforms/php/tracing/instrumentation/custom-instrumentation/queues-module/) +- [PHP SDK](/platforms/php/tracing/instrumentation/queues-module/) - [Java SDK](/platforms/java/tracing/instrumentation/custom-instrumentation/queues-module/) - [Ruby SDK](/platforms/ruby/tracing/instrumentation/custom-instrumentation/queues-module/) - [.NET SDK](/platforms/dotnet/tracing/instrumentation/custom-instrumentation/queues-module/) diff --git a/docs/product/insights/web-vitals/web-vitals-concepts.mdx b/docs/product/insights/web-vitals/web-vitals-concepts.mdx index f38854c9947dd..7c62a8a6cd0df 100644 --- a/docs/product/insights/web-vitals/web-vitals-concepts.mdx +++ b/docs/product/insights/web-vitals/web-vitals-concepts.mdx @@ -21,7 +21,7 @@ Google considers Core Web Vitals to be the most important metrics for measuring ### Interaction to Next Paint (INP) -On March 12, 2024, Interaction to Next Paint (INP) replaced First Input Display (FID) as a Core Web Vital. Prior to this, INP was an experimental metric that Sentry did not collect. To begin collecting INP measurements, make sure your Javascript SDK version is [7.104.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.104.0) or higher and that the option [`enableInp`](/platforms/javascript/performance/instrumentation/automatic-instrumentation/#enableinp) is on. +On March 12, 2024, Interaction to Next Paint (INP) replaced First Input Display (FID) as a Core Web Vital. Prior to this, INP was an experimental metric that Sentry did not collect. To begin collecting INP measurements, make sure your Javascript SDK version is [7.104.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.104.0) or higher and that the option [`enableInp`](/platforms/javascript/tracing/instrumentation/automatic-instrumentation/#enableinp) is on. [Interaction to Next Paint (INP)](https://web.dev/articles/inp) measures the time from when a user interacts with a page (through a click, tap, or keyboard input) to when the next paint (rendering of content on the screen) occurs. INP aims to assess how quickly users see a response from the website after taking an action, which is crucial for providing a smooth and responsive user experience. diff --git a/docs/product/issues/issue-details/performance-issues/n-one-api-calls.mdx b/docs/product/issues/issue-details/performance-issues/n-one-api-calls.mdx index 604e1720f288b..ebe5ed7991d8e 100644 --- a/docs/product/issues/issue-details/performance-issues/n-one-api-calls.mdx +++ b/docs/product/issues/issue-details/performance-issues/n-one-api-calls.mdx @@ -41,7 +41,7 @@ View it by going to the **Issues** page in Sentry, clicking on the N+1 API Call ## Fingerprinting -Sentry computes the issue fingerprint based on the URLs of the repeating network calls. Sentry parameterizes the URLs by stripping integers, UUIDs, SHA1 hashes, and MD5 hashes. If you're finding that Sentry is failing to correctly group N+1 API Call issues, you can parameterize the `http.client` spans in your transactions by using the hook if your platform supports it. +Sentry computes the issue fingerprint based on the URLs of the repeating network calls. Sentry parameterizes the URLs by stripping integers, UUIDs, SHA1 hashes, and MD5 hashes. If you're finding that Sentry is failing to correctly group N+1 API Call issues, you can parameterize the `http.client` spans in your transactions by using the before-send-transaction hook if your platform supports it. ## Example diff --git a/docs/security-legal-pii/security/mobile-privacy.mdx b/docs/security-legal-pii/security/mobile-privacy.mdx index 53f31b47a9e14..753a55d66b538 100644 --- a/docs/security-legal-pii/security/mobile-privacy.mdx +++ b/docs/security-legal-pii/security/mobile-privacy.mdx @@ -39,7 +39,7 @@ Sentry does not use your data to track users. However, if you or your other thir ### Does Sentry use the Advertising Identifier (IDFA)? -No. Sentry doesn't require [`IDFA`](https://developer.apple.com/documentation/appstoreconnectapi/advertising_identifier_idfa_declarations). +No. Sentry doesn't require [`IDFA`](https://en.wikipedia.org/wiki/Identifier_for_Advertisers). ## Google Play diff --git a/includes/migration/javascript-v8/browser-other-changes.mdx b/includes/migration/javascript-v8/browser-other-changes.mdx index d6140512b5725..3fbeabfbe2501 100644 --- a/includes/migration/javascript-v8/browser-other-changes.mdx +++ b/includes/migration/javascript-v8/browser-other-changes.mdx @@ -34,9 +34,11 @@ Sentry.init({ The xhr transport via `makeXHRTransport` transport has been removed. Only `makeFetchTransport` is available now. This means that the Sentry SDK requires the `fetch` API to be available in the environment. + ### Removal of the `Offline` integration The `Offline` integration has been removed in favor of the offline transport wrapper + ### Removal of `wrap` export diff --git a/platform-includes/configuration/integrations/javascript.cordova.mdx b/platform-includes/configuration/integrations/javascript.cordova.mdx new file mode 100644 index 0000000000000..db10b743b406e --- /dev/null +++ b/platform-includes/configuration/integrations/javascript.cordova.mdx @@ -0,0 +1,20 @@ +### Integrations + +| | **Auto Enabled** | **Errors** | **Performance** | **Replay** | **Additional Context** | +| ----------------------------------------------------- | :--------------: | :--------: | :-------------: | :--------: | :--------------------: | +| [`breadcrumbsIntegration`](./breadcrumbs) | ✓ | | | | ✓ | +| [`browserApiErrorsIntegration`](./browserapierrors) | ✓ | ✓ | | | | +| [`dedupeIntegration`](./dedupe) | ✓ | ✓ | | | | +| [`functionToStringIntegration`](./functiontostring) | ✓ | | | | | +| [`globalHandlersIntegration`](./globalhandlers) | ✓ | ✓ | | | | +| [`httpContextIntegration`](./httpcontext) | ✓ | | | | ✓ | +| [`inboundFiltersIntegration`](./inboundfilters) | ✓ | ✓ | | | | +| [`linkedErrorsIntegration`](./linkederrors) | ✓ | ✓ | | | | +| [`captureConsoleIntegration`](./captureconsole) | | | | | ✓ | +| [`debugIntegration`](./debug) | | | | | | +| [`extraErrorDataIntegration`](./extraerrordata) | | | | | ✓ | +| [`httpClientIntegration`](./httpclient) | | ✓ | | | | +| [`moduleMetadataIntegration`](./modulemetadata) | | | | | ✓ | +| [`rewriteFramesIntegration`](./rewriteframes) | | ✓ | | | | +| [`reportingObserverIntegration`](./reportingobserver) | | ✓ | | | | +| [`sessionTimingIntegration`](./sessiontiming) | | | | | ✓ | diff --git a/platform-includes/configuration/integrations/javascript.fastify.mdx b/platform-includes/configuration/integrations/javascript.fastify.mdx new file mode 100644 index 0000000000000..13cd53913221d --- /dev/null +++ b/platform-includes/configuration/integrations/javascript.fastify.mdx @@ -0,0 +1,33 @@ +### Integrations + +| | **Auto Enabled** | **Errors** | **Performance** | **Additional Context** | +| --------------------------------------------------------- | :--------------: | :--------: | :-------------: | :--------------------: | +| [`consoleIntegration`](./console) | ✓ | | | ✓ | +| [`dedupeIntegration`](./dedupe) | ✓ | ✓ | | | +| [`functionToStringIntegration`](./functiontostring) | ✓ | | | | +| [`graphqlIntegration`](./graphql) | ✓ | | ✓ | | +| [`httpIntegration`](./http) | ✓ | ✓ | ✓ | ✓ | +| [`inboundFiltersIntegration`](./inboundfilters) | ✓ | ✓ | | | +| [`linkedErrorsIntegration`](./linkederrors) | ✓ | ✓ | | | +| [`modulesIntegration`](./modules) | ✓ | | | ✓ | +| [`mongoIntegration`](./mongo) | ✓ | | ✓ | | +| [`mongooseIntegration`](./mongoose) | ✓ | | ✓ | | +| [`mysqlIntegration`](./mysql) | ✓ | | ✓ | | +| [`mysql2Integration`](./mysql2) | ✓ | | ✓ | | +| [`nodeContextIntegration`](./nodecontext) | ✓ | | | ✓ | +| [`nativeNodeFetchIntegration`](./nodefetch) | ✓ | | ✓ | ✓ | +| [`onUncaughtExceptionIntegration`](./onuncaughtexception) | ✓ | ✓ | | | +| [`onUnhandledRejectionIntegration`](./unhandledrejection) | ✓ | ✓ | | | +| [`postgresIntegration`](./postgres) | ✓ | | ✓ | | +| [`prismaIntegration`](./prisma) | | | ✓ | | +| [`redisIntegration`](./redis) | ✓ | | ✓ | | +| [`requestDataIntegration`](./requestdata) | ✓ | | ✓ | | +| [`anrIntegration`](./anr) | | ✓ | | | +| [`captureConsoleIntegration`](./captureconsole) | | | | ✓ | +| [`debugIntegration`](./debug) | | | | | +| [`extraErrorDataIntegration`](./extraerrordata) | | | | ✓ | +| [`localVariablesIntegration`](./localvariables) | | ✓ | | | +| [`nodeProfilingIntegration`](./nodeprofiling) | | | ✓ | | +| [`rewriteFramesIntegration`](./rewriteframes) | | ✓ | | | +| [`sessionTimingIntegration`](./sessiontiming) | | | | ✓ | +| [`trpcMiddleware`](./trpc) | | ✓ | ✓ | ✓ | diff --git a/platform-includes/configuration/integrations/javascript.nestjs.mdx b/platform-includes/configuration/integrations/javascript.nestjs.mdx new file mode 100644 index 0000000000000..9d77b34fc2da0 --- /dev/null +++ b/platform-includes/configuration/integrations/javascript.nestjs.mdx @@ -0,0 +1,34 @@ +### Integrations + +| | **Auto Enabled** | **Errors** | **Performance** | **Additional Context** | +| --------------------------------------------------------- | :--------------: | :--------: | :-------------: | :--------------------: | +| [`consoleIntegration`](./console) | ✓ | | | ✓ | +| [`contextLinesIntegration`](./contextlines) | ✓ | ✓ | | | +| [`dedupeIntegration`](./dedupe) | ✓ | ✓ | | | +| [`functionToStringIntegration`](./functiontostring) | ✓ | | | | +| [`graphqlIntegration`](./graphql) | ✓ | | ✓ | | +| [`httpIntegration`](./http) | ✓ | ✓ | ✓ | ✓ | +| [`inboundFiltersIntegration`](./inboundfilters) | ✓ | ✓ | | | +| [`linkedErrorsIntegration`](./linkederrors) | ✓ | ✓ | | | +| [`modulesIntegration`](./modules) | ✓ | | | ✓ | +| [`mongoIntegration`](./mongo) | ✓ | | ✓ | | +| [`mongooseIntegration`](./mongoose) | ✓ | | ✓ | | +| [`mysqlIntegration`](./mysql) | ✓ | | ✓ | | +| [`mysql2Integration`](./mysql2) | ✓ | | ✓ | | +| [`nodeContextIntegration`](./nodecontext) | ✓ | | | ✓ | +| [`nativeNodeFetchIntegration`](./nodefetch) | ✓ | | ✓ | ✓ | +| [`onUncaughtExceptionIntegration`](./onuncaughtexception) | ✓ | ✓ | | | +| [`onUnhandledRejectionIntegration`](./unhandledrejection) | ✓ | ✓ | | | +| [`postgresIntegration`](./postgres) | ✓ | | ✓ | | +| [`prismaIntegration`](./prisma) | | | ✓ | | +| [`redisIntegration`](./redis) | ✓ | | ✓ | | +| [`requestDataIntegration`](./requestdata) | ✓ | | ✓ | | +| [`anrIntegration`](./anr) | | ✓ | | | +| [`captureConsoleIntegration`](./captureconsole) | | | | ✓ | +| [`debugIntegration`](./debug) | | | | | +| [`extraErrorDataIntegration`](./extraerrordata) | | | | ✓ | +| [`localVariablesIntegration`](./localvariables) | | ✓ | | | +| [`nodeProfilingIntegration`](./nodeprofiling) | | | ✓ | | +| [`rewriteFramesIntegration`](./rewriteframes) | | ✓ | | | +| [`sessionTimingIntegration`](./sessiontiming) | | | | ✓ | +| [`trpcMiddleware`](./trpc) | | ✓ | ✓ | ✓ | diff --git a/platform-includes/configuration/integrations/javascript.wasm.mdx b/platform-includes/configuration/integrations/javascript.wasm.mdx new file mode 100644 index 0000000000000..f8d5b5e390dfc --- /dev/null +++ b/platform-includes/configuration/integrations/javascript.wasm.mdx @@ -0,0 +1,23 @@ +### Integrations + +| | **Auto Enabled** | **Errors** | **Performance** | **Replay** | **Additional Context** | +| ----------------------------------------------------- | :--------------: | :--------: | :-------------: | :--------: | :--------------------: | +| [`breadcrumbsIntegration`](./breadcrumbs) | ✓ | | | | ✓ | +| [`browserApiErrorsIntegration`](./browserapierrors) | ✓ | ✓ | | | | +| [`dedupeIntegration`](./dedupe) | ✓ | ✓ | | | | +| [`functionToStringIntegration`](./functiontostring) | ✓ | | | | | +| [`globalHandlersIntegration`](./globalhandlers) | ✓ | ✓ | | | | +| [`httpContextIntegration`](./httpcontext) | ✓ | | | | ✓ | +| [`inboundFiltersIntegration`](./inboundfilters) | ✓ | ✓ | | | | +| [`linkedErrorsIntegration`](./linkederrors) | ✓ | ✓ | | | | +| [`browserProfilingIntegration`](./browserprofiling) | | | ✓ | | | +| [`browserTracingIntegration`](./browsertracing) | | | ✓ | | ✓ | +| [`captureConsoleIntegration`](./captureconsole) | | | | | ✓ | +| [`contextLinesIntegration`](./contextlines) | | ✓ | | | | +| [`debugIntegration`](./debug) | | | | | | +| [`extraErrorDataIntegration`](./extraerrordata) | | | | | ✓ | +| [`httpClientIntegration`](./httpclient) | | ✓ | | | | +| [`moduleMetadataIntegration`](./modulemetadata) | | | | | ✓ | +| [`rewriteFramesIntegration`](./rewriteframes) | | ✓ | | | | +| [`reportingObserverIntegration`](./reportingobserver) | | ✓ | | | | +| [`sessionTimingIntegration`](./sessiontiming) | | | | | ✓ | diff --git a/platform-includes/enriching-events/breadcrumbs/automatic-breadcrumbs/react-native.mdx b/platform-includes/enriching-events/breadcrumbs/automatic-breadcrumbs/react-native.mdx index cf7841fbbd851..42619f12f9a64 100644 --- a/platform-includes/enriching-events/breadcrumbs/automatic-breadcrumbs/react-native.mdx +++ b/platform-includes/enriching-events/breadcrumbs/automatic-breadcrumbs/react-native.mdx @@ -5,7 +5,7 @@ The React Native SDK captures breadcrumbs automatically using the native Android More breadcrumbs can be captured by the React Native SDK: -- For interaction breadcrumbs, wrap your root component using the [`Sentry.wrap`](/platforms/react-native/performance/instrumentation/automatic-instrumentation/#wrap-your-root-component) method. -- For navigation breadcrumbs, use one of the [SDK's navigation integrations](/platforms/react-native/performance/instrumentation/automatic-instrumentation/#enable-routing-instrumentation). +- For interaction breadcrumbs, wrap your root component using the [`Sentry.wrap`](/platforms/react-native/tracing/instrumentation/automatic-instrumentation/#wrap-your-root-component) method. +- For navigation breadcrumbs, use one of the [SDK's navigation integrations](/platforms/react-native/tracing/instrumentation/automatic-instrumentation/#enable-routing-instrumentation). - `HTTP` requests are included in breadcrumbs by default. - To track redux actions and latest store state, use [`Sentry.createReduxEnhancer`](/platforms/javascript/guides/react/configuration/integrations/redux). diff --git a/platform-includes/migration/javascript-v8/other-changes/javascript.nestjs.mdx b/platform-includes/migration/javascript-v8/other-changes/javascript.nestjs.mdx new file mode 100644 index 0000000000000..0c1c7a47c83fe --- /dev/null +++ b/platform-includes/migration/javascript-v8/other-changes/javascript.nestjs.mdx @@ -0,0 +1,9 @@ +### Customizing OpenTelemetry + +If you want to customize the OpenTelemetry setup with your Node SDK in `8.x`, see the docs about using [OpenTelemetry with `8.x`](./v8-opentelemetry) + + + + + + diff --git a/platform-includes/performance/default-sampling-context-platform/dart.mdx b/platform-includes/performance/default-sampling-context-platform/dart.mdx index 380db6457d6b5..e9659c77e30c5 100644 --- a/platform-includes/performance/default-sampling-context-platform/dart.mdx +++ b/platform-includes/performance/default-sampling-context-platform/dart.mdx @@ -1 +1 @@ -For Dart-based SDKs, it includes a [SentryTransactionContext](https://pub.dev/documentation/sentry/6.1.0-alpha.1/sentry_io/SentryTransactionContext-class.html) and a [Map<String, dynamic>](https://api.dart.dev/stable/2.14.1/dart-core/Map-class.html) as method params for [Sentry.startTransactionWithContext](https://pub.dev/documentation/sentry/6.1.0-alpha.1/sentry_io/Sentry/startTransactionWithContext.html). +For Dart-based SDKs, it includes a [SentryTransactionContext](https://pub.dev/documentation/sentry/8.4.0/sentry_io/SentryTransactionContext-class.html) and a [Map<String, dynamic>](https://api.dart.dev/stable/2.14.1/dart-core/Map-class.html) as method params for [Sentry.startTransactionWithContext](https://pub.dev/documentation/sentry/8.4.0/sentry_io/Sentry/startTransactionWithContext.html). diff --git a/platform-includes/performance/enable-tracing/react-native.mdx b/platform-includes/performance/enable-tracing/react-native.mdx index 0ede430f56784..3d13293e47461 100644 --- a/platform-includes/performance/enable-tracing/react-native.mdx +++ b/platform-includes/performance/enable-tracing/react-native.mdx @@ -2,7 +2,7 @@ Tracing is enabled by default in the React Native SDK. -If you use a version of our SDK prior to version `3.0.0`, you will need to include the `ReactNativeTracing` integration to use [automatic instrumentation](/platforms/react-native/performance/instrumentation/automatic-instrumentation/). You do not need to do this in versions `3.0.0` and above. +If you use a version of our SDK prior to version `3.0.0`, you will need to include the `ReactNativeTracing` integration to use [automatic instrumentation](/platforms/react-native/tracing/instrumentation/automatic-instrumentation/). You do not need to do this in versions `3.0.0` and above. ```javascript import * as Sentry from "@sentry/react-native"; diff --git a/platform-includes/sourcemaps/legacy-uploading-methods/javascript.mdx b/platform-includes/sourcemaps/legacy-uploading-methods/javascript.mdx index 8c2775d0b5200..f2c79ff438a79 100644 --- a/platform-includes/sourcemaps/legacy-uploading-methods/javascript.mdx +++ b/platform-includes/sourcemaps/legacy-uploading-methods/javascript.mdx @@ -333,7 +333,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/platform-includes/sourcemaps/troubleshooting/javascript.mdx b/platform-includes/sourcemaps/troubleshooting/javascript.mdx index 0ea95529333c7..9e44e55413939 100644 --- a/platform-includes/sourcemaps/troubleshooting/javascript.mdx +++ b/platform-includes/sourcemaps/troubleshooting/javascript.mdx @@ -151,9 +151,23 @@ If you are using `sentry-cli` to upload your artifacts, starting with version `2 Sometimes build scripts and plugins produce pre-compressed minified files (for example, webpack's [compression plugin](https://github.com/webpack/compression-webpack-plugin)). In these cases, you'll need to disable such plugins and perform the compression **after** the generated source maps/source files have been uploaded to Sentry. + ### Verify Source Fetching is Enabled If you're hosting your source maps publicly, make sure you have the "Enable JavaScript source fetching" option activated under **[Settings] > Projects > Select your project > General Settings**. + + ### Verify Workers Are Sharing Same Volume as Web (if running self-hosted Sentry via Docker) diff --git a/src/middleware.ts b/src/middleware.ts index e5b49b7764661..5deb41b4d49f7 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -640,7 +640,7 @@ const USER_DOCS_REDIRECTS: Redirect[] = [ }, { from: '/platforms/php/guides/symfony/performance/pm-integrations/', - to: '/platforms/php/guides/symfony/performance/instrumentation/automatic-instrumentation/', + to: '/platforms/php/guides/symfony/tracing/instrumentation/automatic-instrumentation/', }, { from: '/clients/php/integrations/laravel/', @@ -3366,6 +3366,10 @@ const USER_DOCS_REDIRECTS: Redirect[] = [ from: '/enriching-error-data/additional-data/', to: '/concepts/key-terms/enrich-data/', }, + { + from: '/performance/instrumentation/automatic-instrumentation/', + to: '/tracing/instrumentation/automatic-instrumentation', + }, ]; const DEVELOPER_DOCS_REDIRECTS: Redirect[] = [