diff --git a/docs/concepts/key-terms/key-terms.mdx b/docs/concepts/key-terms/key-terms.mdx index 081b00317b756..dd2920e4571c0 100644 --- a/docs/concepts/key-terms/key-terms.mdx +++ b/docs/concepts/key-terms/key-terms.mdx @@ -54,7 +54,7 @@ Each of these key features in [sentry.io](https://sentry.io) is represented by a - **Issues** - Displays information about grouped problems in your application. From here, you can go to the **Issue Details** page for a more granular view of any issue. Learn more in the full [Issues documentation](/product/issues/). -- **Performance** - The main view in [sentry.io](http://sentry.io) where you can search or browse for transaction data. The page displays graphs that visualize transactions or trends, as well as a table where you can view relevant transactions and drill down to more information about them. Learn more in the full [Performance documentation](/product/performance/). +- **Performance** - The main view in [sentry.io](http://sentry.io) where you can search or browse for transaction data. The page displays graphs that visualize transactions or trends, as well as a table where you can view relevant transactions and drill down to more information about them. Learn more in the full [Tracing documentation](/product/performance/). - **Projects** - Lists the projects of which you're a member, by team, and provides you with a high-level overview of your projects. From here, you can go to the **Project Details** page of each project for a more granular view. Learn more in the full [Projects documentation](/product/projects/). diff --git a/docs/contributing/approach/product-docs/write-index.mdx b/docs/contributing/approach/product-docs/write-index.mdx index 829370972e65c..2fb4ef571049f 100644 --- a/docs/contributing/approach/product-docs/write-index.mdx +++ b/docs/contributing/approach/product-docs/write-index.mdx @@ -41,7 +41,7 @@ Use this approach for a feature that doesn’t require much explanation and has ## How: Wider-Ranging Features - Benefit Breakdown -Use this approach for a page that requires more explanation to break down and/or has a lot of child pages to explain its different benefits, like [Performance Monitoring](/product/performance/). +Use this approach for a page that requires more explanation to break down and/or has a lot of child pages to explain its different benefits, like [Tracing](/product/performance/). - Describe how each page section/element or child page, helps the customer achieve the WHY of this feature. - Include links to relevant child pages in the text. diff --git a/docs/contributing/approach/sdk-docs/index.mdx b/docs/contributing/approach/sdk-docs/index.mdx index a4386273651e0..8fdbd153d25d9 100644 --- a/docs/contributing/approach/sdk-docs/index.mdx +++ b/docs/contributing/approach/sdk-docs/index.mdx @@ -43,7 +43,7 @@ SDKs provide content that focus on 10 sections (two of which are auto-generated) Provided for customers who need to upgrade from the Raven version of the SDK. Not needed for newer SDKs. -6) **Performance Monitoring** section +6) **Tracing** section Covers how to enable tracing (for customers who previously only used error monitoring) as enabled by each SDK, as well as subpages on Sampling and Transactions. diff --git a/docs/organization/early-adopter-features/index.mdx b/docs/organization/early-adopter-features/index.mdx index 533124c4de805..f295bc2cf5b0f 100644 --- a/docs/organization/early-adopter-features/index.mdx +++ b/docs/organization/early-adopter-features/index.mdx @@ -20,4 +20,4 @@ Limitations: - [Issue Status](/product/issues/states-triage/) tags - [Issue Reprocessing](/product/issues/reprocessing/) - [Span Summary](/product/performance/transaction-summary/#span-summary) -- [Investigation Mode](/product/performance/retention-priorities/#investigation-mode) for retention priorities in Performance Monitoring +- [Investigation Mode](/product/performance/retention-priorities/#investigation-mode) for retention priorities in Tracing diff --git a/docs/platforms/android/configuration/app-not-respond.mdx b/docs/platforms/android/configuration/app-not-respond.mdx index 1a339470df1cb..f00da4975f680 100644 --- a/docs/platforms/android/configuration/app-not-respond.mdx +++ b/docs/platforms/android/configuration/app-not-respond.mdx @@ -4,7 +4,7 @@ sidebar_order: 4 description: "Learn how to turn off or specify ANR." --- -Application Not Responding (ANR) errors are triggered when the main UI thread of an application is blocked for more than five seconds. The Android SDK reports ANR errors as Sentry events. In addition, Sentry calculates [ANR rate](/platforms/android/performance/instrumentation/performance-metrics/#application-not-responding-anr-rate) based on these events and user sessions. +Application Not Responding (ANR) errors are triggered when the main UI thread of an application is blocked for more than five seconds. The Android SDK reports ANR errors as Sentry events. In addition, Sentry calculates [ANR rate](/platforms/android/tracing/instrumentation/performance-metrics/#application-not-responding-anr-rate) based on these events and user sessions. ## ANR implementation details @@ -13,7 +13,7 @@ The Android SDK uses different implementations to detect ANRs, depending on what - Below Android 11: Running a Watchdog thread (v1) - Android 11 and above: Reading [ApplicationExitInfo](https://developer.android.com/reference/android/app/ApplicationExitInfo) (v2) -The new implementation (v2) uses the same data source as Google Play Console. This means the reported ANR events and [ANR rate](/platforms/android/performance/instrumentation/performance-metrics/#application-not-responding-anr-rate) should match with what you see on Sentry. The new implementation also captures a thread dump with additional information, like held locks, to help you resolve ANRs more efficiently. +The new implementation (v2) uses the same data source as Google Play Console. This means the reported ANR events and [ANR rate](/platforms/android/tracing/instrumentation/performance-metrics/#application-not-responding-anr-rate) should match with what you see on Sentry. The new implementation also captures a thread dump with additional information, like held locks, to help you resolve ANRs more efficiently. While the original Watchdog approach (v1) reports many false positives and is based on heuristics, it still has some advantages over v2, like capturing screenshots and transactions with profiles at the time of ANR. diff --git a/docs/platforms/android/configuration/gradle.mdx b/docs/platforms/android/configuration/gradle.mdx index cb47808f33fd0..b5364ae85d35b 100644 --- a/docs/platforms/android/configuration/gradle.mdx +++ b/docs/platforms/android/configuration/gradle.mdx @@ -438,7 +438,7 @@ This way potentially heavy operations are automatically measured without the nee -For this data to be captured, you must enable [performance monitoring](/platforms/android/performance/). +For this data to be captured, you must enable [tracing](/platforms/android/tracing/). diff --git a/docs/platforms/android/configuration/options.mdx b/docs/platforms/android/configuration/options.mdx index a44aac75ad38a..dec6f3b161c26 100644 --- a/docs/platforms/android/configuration/options.mdx +++ b/docs/platforms/android/configuration/options.mdx @@ -172,7 +172,7 @@ _(New in version 6.0.0)_ -This only affects [user interaction transactions](/platforms/android/performance/instrumentation/automatic-instrumentation/#user-interaction-instrumentation). +This only affects [user interaction transactions](/platforms/android/tracing/instrumentation/automatic-instrumentation/#user-interaction-instrumentation). diff --git a/docs/platforms/android/configuration/sampling.mdx b/docs/platforms/android/configuration/sampling.mdx index 6cb83279b7d6a..bc66495c36665 100644 --- a/docs/platforms/android/configuration/sampling.mdx +++ b/docs/platforms/android/configuration/sampling.mdx @@ -72,7 +72,7 @@ When using custom instrumentation to create a transaction, you can add data to t Whatever a transaction's sampling decision, that decision will be passed to its child spans and from there to any transactions they subsequently cause in other services. -(See Distributed Tracing for more about how that propagation is done.) +(See Distributed Tracing for more about how that propagation is done.) If the transaction currently being created is one of those subsequent transactions (in other words, if it has a parent transaction), the upstream (parent) sampling decision will be included in the sampling context data. Your can use this information to choose whether to inherit that decision. In most cases, inheritance is the right choice, to avoid breaking distributed traces. A broken trace will not include all your services. diff --git a/docs/platforms/android/enhance-errors/kotlin-compiler-plugin.mdx b/docs/platforms/android/enhance-errors/kotlin-compiler-plugin.mdx index 40f614a709716..ba4adaa0aa621 100644 --- a/docs/platforms/android/enhance-errors/kotlin-compiler-plugin.mdx +++ b/docs/platforms/android/enhance-errors/kotlin-compiler-plugin.mdx @@ -7,7 +7,7 @@ description: "Learn about using the Sentry Kotlin Compiler Plugin." The [Sentry Kotlin Compiler Plugin](https://github.com/getsentry/sentry-android-gradle-plugin) is an addition to the Sentry Android Gradle plugin and offers improvements to existing SDK features. As of now the main focus of the plugin is to improve apps which utilize Jetpack Compose by automatically tagging `@Composable` functions. - View Hierarchy -- User Interaction Tracing +- User Interaction Tracing @@ -59,4 +59,4 @@ plugins { ### Configuration -As of now no additional steps are necessary. Checkout the docs for View Hierarchy and User Interaction Tracing to see which features the Sentry Kotlin Compiler Plugin improves. +As of now no additional steps are necessary. Checkout the docs for View Hierarchy and User Interaction Tracing to see which features the Sentry Kotlin Compiler Plugin improves. diff --git a/docs/platforms/android/features/index.mdx b/docs/platforms/android/features/index.mdx index 5d9167424693f..363006b08694a 100644 --- a/docs/platforms/android/features/index.mdx +++ b/docs/platforms/android/features/index.mdx @@ -23,7 +23,7 @@ Sentry's Android SDK enables automatic reporting of errors and exceptions, and i - [Release health](/product/releases/health/), tracking crash-free users and sessions. - [Attachments](/platforms/android/enriching-events/attachments/) that can enrich your event by storing additional files, such as config or log files. - [User Feedback](/platforms/android/enriching-events/user-feedback/), providing the ability to collect user information when an event occurs. -- [Performance Monitoring](/product/performance/) that can track: +- [Tracing](/product/performance/) that can track: - Android activity transactions. - User interaction transactions such as: view click, scroll, swipe, and so on. - [Navigation transactions](/platforms/android/configuration/integrations/navigation/). diff --git a/docs/platforms/android/integrations/apollo/index.mdx b/docs/platforms/android/integrations/apollo/index.mdx index 2fff3dd9e0b2a..093322c7258c2 100644 --- a/docs/platforms/android/integrations/apollo/index.mdx +++ b/docs/platforms/android/integrations/apollo/index.mdx @@ -10,7 +10,7 @@ categories: -Capturing transactions requires that you first set up performance monitoring if you haven't already. +Capturing transactions requires that you first set up tracing if you haven't already. diff --git a/docs/platforms/android/integrations/apollo3/index.mdx b/docs/platforms/android/integrations/apollo3/index.mdx index 1fa7f455ca067..bb1e8519adf0b 100644 --- a/docs/platforms/android/integrations/apollo3/index.mdx +++ b/docs/platforms/android/integrations/apollo3/index.mdx @@ -10,7 +10,7 @@ categories: -To be able to capture transactions, you'll need to first set up performance monitoring. +To be able to capture transactions, you'll need to first set up tracing. diff --git a/docs/platforms/android/integrations/file-io/index.mdx b/docs/platforms/android/integrations/file-io/index.mdx index 22420e88ed0dd..77c161bb5abb8 100644 --- a/docs/platforms/android/integrations/file-io/index.mdx +++ b/docs/platforms/android/integrations/file-io/index.mdx @@ -37,7 +37,7 @@ plugins { -Make sure, that [performance monitoring](/platforms/android/performance/#configure-the-sample-rate) is enabled. +Make sure, that [tracing](/platforms/android/tracing/#configure-the-sample-rate) is enabled. diff --git a/docs/platforms/android/integrations/jetpack-compose/index.mdx b/docs/platforms/android/integrations/jetpack-compose/index.mdx index 8ab307cbf171f..aef4c528e5754 100644 --- a/docs/platforms/android/integrations/jetpack-compose/index.mdx +++ b/docs/platforms/android/integrations/jetpack-compose/index.mdx @@ -27,7 +27,7 @@ With Jetpack Compose performance metrics the Sentry Android SDK can automaticall This feature requires an underlying transaction to attach it's spans to. Transactions can be created manually or automatically by configuring -- Activity instrumentation +- Activity instrumentation - [Navigation Instrumentation](#jetpack-compose-navigation) - [User Interactions](#user-interactions) diff --git a/docs/platforms/android/integrations/room-and-sqlite/index.mdx b/docs/platforms/android/integrations/room-and-sqlite/index.mdx index ce3a97350ef42..e385e36b0ad69 100644 --- a/docs/platforms/android/integrations/room-and-sqlite/index.mdx +++ b/docs/platforms/android/integrations/room-and-sqlite/index.mdx @@ -50,7 +50,7 @@ dependencies { -Make sure, that [performance monitoring](/platforms/android/performance/#configure-the-sample-rate) is enabled. +Make sure, that [tracing](/platforms/android/tracing/#configure-the-sample-rate) is enabled. diff --git a/docs/platforms/android/metrics/index.mdx b/docs/platforms/android/metrics/index.mdx index c69fd7494d1f9..df8e808d2890c 100644 --- a/docs/platforms/android/metrics/index.mdx +++ b/docs/platforms/android/metrics/index.mdx @@ -13,7 +13,7 @@ Metrics are supported with Sentry Android SDK version `7.6.0` and above. Sentry metrics help you pinpoint and solve issues that impact user experience and app performance by measuring the data points that are important to you. You can track things like processing time, event size, user signups, and conversion rates, then correlate them back to tracing data in order to get deeper insights and solve issues faster. -## Enabling the Metrics Feature +## Configure Here's how to add Metrics to your application: diff --git a/docs/platforms/android/performance/index.mdx b/docs/platforms/android/performance/index.mdx deleted file mode 100644 index a9d2a5f81e7e9..0000000000000 --- a/docs/platforms/android/performance/index.mdx +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: Set Up Performance -description: "Learn how to enable performance monitoring in your app if it is not already set up." -sidebar_order: 4000 ---- - -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. Learn more about our model in [Distributed Tracing](/product/sentry-basics/tracing/distributed-tracing/). - - - -If you’re adopting Performance in a high-throughput environment, we recommend testing prior to deployment to ensure that your service’s performance characteristics maintain expectations. - - - -## Configure - -First, enable tracing and configure the sampling rate for transactions. Set the sample rate for your transactions by either: - -- Setting a uniform sample rate for all transactions using the option in your SDK config to a number between `0` and `1`. (For example, to send 20% of transactions, set to `0.2`.) -- Controlling the sample rate based on the transaction itself and the context in which it's captured, by providing a function to the config option. - -The two options are meant to be mutually exclusive. If you set both, will take precedence. - - - -Learn more about performance monitoring options, how to use the tracesSampler function, or how to sample transactions. - -## Verify - -Verify that performance monitoring is working correctly by using our automatic instrumentation or by starting and finishing a transaction using custom instrumentation. - -Test out tracing by starting and finishing a transaction, which you _must_ do so transactions can be sent to Sentry. Learn how in our Custom Instrumentation content. - -While you're testing, set to `1.0`, as that ensures that every transaction will be sent to Sentry. - -Once testing is complete, you may want to set a lower value, or switch to using to selectively sample and filter your transactions, based on contextual data. - -## Next Steps - - diff --git a/docs/platforms/android/performance/instrumentation/index.mdx b/docs/platforms/android/performance/instrumentation/index.mdx deleted file mode 100644 index d90ca5418c68b..0000000000000 --- a/docs/platforms/android/performance/instrumentation/index.mdx +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Instrumentation -sidebar_order: 20 -description: "Learn how to instrument performance in your app." ---- - -Instrumenting performance monitoring is specific to your SDK. - - diff --git a/docs/platforms/android/profiling/index.mdx b/docs/platforms/android/profiling/index.mdx index 8b127272d2b19..1412c4b028606 100644 --- a/docs/platforms/android/profiling/index.mdx +++ b/docs/platforms/android/profiling/index.mdx @@ -7,9 +7,9 @@ sidebar_order: 5000 -## Enable Performance Monitoring +## Enable Tracing -Profiling depends on Sentry’s performance monitoring product being enabled beforehand. To enable performance monitoring in the SDK: +Profiling depends on Sentry’s Tracing product being enabled beforehand. To enable tracing in the SDK: In `AndroidManifest.xml`: @@ -20,7 +20,7 @@ In `AndroidManifest.xml`: ``` -Check out the performance setup documentation for more detailed information on how to configure sampling. Setting the sample rate to 1.0 means all transactions will be captured. +Check out the tracing setup documentation for more detailed information on how to configure sampling. Setting the sample rate to 1.0 means all transactions will be captured. By default, some transactions will be created automatically for common operations like loading a view controller/activity and app startup. @@ -54,14 +54,14 @@ The `io.sentry.traces.profiling.sample-rate` setting is _relative_ to the `io.se ## App Start Profiling -When app start profiling is enabled, the whole app start process is profiled. -This includes all methods from any `ContentProvider`, the `Application` class, and the first Activity, until the first automatic Activity transaction is finished. -App start profiling can be enabled with the manifest option `io.sentry.traces.profiling.enable-app-start` as shown above, and it will respect the `io.sentry.traces.sample-rate` and the `io.sentry.traces.profiling.sample-rate`. +When app start profiling is enabled, the whole app start process is profiled. +This includes all methods from any `ContentProvider`, the `Application` class, and the first Activity, until the first automatic Activity transaction is finished. +App start profiling can be enabled with the manifest option `io.sentry.traces.profiling.enable-app-start` as shown above, and it will respect the `io.sentry.traces.sample-rate` and the `io.sentry.traces.profiling.sample-rate`. If you prefer to use a sampling function, the SDK sets the `isForNextAppStart` field on the `TransactionContext` to specify it will be used for the next app start profiling. -The SDK won't run app start profiling the very first time the app runs, as the SDK won't have read the options by the time the profile should run. +The SDK won't run app start profiling the very first time the app runs, as the SDK won't have read the options by the time the profile should run. The SDK will set the `isForNextAppStart` flag in `TransactionContext` if app start profiling is enabled. diff --git a/docs/platforms/android/profiling/troubleshooting/index.mdx b/docs/platforms/android/profiling/troubleshooting/index.mdx index 4d8763caa6863..ee87700b83367 100644 --- a/docs/platforms/android/profiling/troubleshooting/index.mdx +++ b/docs/platforms/android/profiling/troubleshooting/index.mdx @@ -1,12 +1,12 @@ --- title: Troubleshooting description: "Learn how to troubleshoot your profiling setup." -sidebar_order: 5000 +sidebar_order: 9000 --- If you don't see any profiling data in [sentry.io](https://sentry.io), you can try the following: -- Ensure that performance monitoring is enabled. +- Ensure that Tracing is enabled. - Ensure that the automatic instrumentation is sending performance data to Sentry by going to the **Performance** page in [sentry.io](https://sentry.io). -- If the automatic instrumentation is not sending performance data, try using custom instrumentation. +- If the automatic instrumentation is not sending performance data, try using custom instrumentation. - Enable debug mode in the SDK and check the logs. diff --git a/docs/platforms/android/tracing/index.mdx b/docs/platforms/android/tracing/index.mdx new file mode 100644 index 0000000000000..3c8f0ff00637c --- /dev/null +++ b/docs/platforms/android/tracing/index.mdx @@ -0,0 +1,38 @@ +--- +title: Set Up Tracing +description: "Learn how to enable tracing in your app and discover valuable performance insights of your application." +sidebar_order: 4000 +--- + +With [tracing](/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. Learn more about our model in [Distributed Tracing](/product/sentry-basics/tracing/distributed-tracing/). + + + +If you’re adopting Tracing in a high-throughput environment, we recommend testing prior to deployment to ensure that your service’s performance characteristics maintain expectations. + + + +## Configure + +First, enable tracing and configure the sample rate for transactions. Set the sample rate for your transactions by either: + +- Setting a uniform sample rate for all transactions using the option in your SDK config to a number between `0` and `1`. (For example, to send 20% of transactions, set to `0.2`.) +- Controlling the sample rate based on the transaction itself and the context in which it's captured, by providing a function to the config option. + +The two options are meant to be mutually exclusive. If you set both, will take precedence. + + + +Learn more about tracing options, how to use the tracesSampler function, or how to sample transactions. + +## Verify + +Verify that tracing is working correctly by using our automatic instrumentation or by starting and finishing a transaction using custom instrumentation. + +Test out tracing by starting and finishing a transaction, which you _must_ do so transactions can be sent to Sentry. Learn how in our Custom Instrumentation content. + +While you're testing, set to `1.0`, as that ensures that every transaction will be sent to Sentry. Once testing is complete, you may want to set a lower value, or switch to using to selectively sample and filter your transactions, based on contextual data. + +## Next Steps + + diff --git a/docs/platforms/android/performance/instrumentation/automatic-instrumentation.mdx b/docs/platforms/android/tracing/instrumentation/automatic-instrumentation.mdx similarity index 96% rename from docs/platforms/android/performance/instrumentation/automatic-instrumentation.mdx rename to docs/platforms/android/tracing/instrumentation/automatic-instrumentation.mdx index 72441c73f228d..aac6f6f35b3a0 100644 --- a/docs/platforms/android/performance/instrumentation/automatic-instrumentation.mdx +++ b/docs/platforms/android/tracing/instrumentation/automatic-instrumentation.mdx @@ -6,7 +6,7 @@ description: "Learn what transactions are captured after tracing is enabled." -Capturing transactions requires that you first set up performance monitoring if you haven't already. +Capturing transactions requires that you first set up tracing if you haven't already. Supported in Sentry's Android SDK version `4.3.0` and above. @@ -116,7 +116,7 @@ The span starts after each fragment's `onCreate` method is called and before its The span finishes after each fragment's `onResume` method is executed. -Fragment Instrumentation depends on having an active transaction bound to the scope, and ideally it'd be used along with [Activity Instrumentation](/platforms/android/performance/instrumentation/automatic-instrumentation/#activity-instrumentation), which starts a transaction and binds it to the scope automatically. +Fragment Instrumentation depends on having an active transaction bound to the scope, and ideally it'd be used along with [Activity Instrumentation](/platforms/android/tracing/instrumentation/automatic-instrumentation/#activity-instrumentation), which starts a transaction and binds it to the scope automatically. Learn more in our [Fragment documentation](/platforms/android/integrations/fragment/). @@ -157,7 +157,7 @@ Supported on Android OS version `7.0` and above. -Unresponsive UI and animation hitches annoy users and degrade the user experience. Two measurements to track these types of experiences are _slow frames_ and _frozen frames_. If you want your app to run smoothly, you should try to avoid both. The SDK adds these two measurements for the [Activity](/platforms/android/performance/instrumentation/automatic-instrumentation/#activity-instrumentation) transactions. +Unresponsive UI and animation hitches annoy users and degrade the user experience. Two measurements to track these types of experiences are _slow frames_ and _frozen frames_. If you want your app to run smoothly, you should try to avoid both. The SDK adds these two measurements for the [Activity](/platforms/android/tracing/instrumentation/automatic-instrumentation/#activity-instrumentation) transactions. Slow and frozen frames are Mobile Vitals, which you can learn about in the [full documentation](/product/performance/mobile-vitals). @@ -401,7 +401,7 @@ The span starts when each Activity is launched, which is defined as an applicati The span finishes after the Activity draws its first frame. -Time to initial display is dependent on having an active transaction bound to the scope. Ideally, it should be used along with [Activity Instrumentation](/platforms/android/performance/instrumentation/automatic-instrumentation/#activity-instrumentation), which starts a transaction and binds it to the scope automatically. +Time to initial display is dependent on having an active transaction bound to the scope. Ideally, it should be used along with [Activity Instrumentation](/platforms/android/tracing/instrumentation/automatic-instrumentation/#activity-instrumentation), which starts a transaction and binds it to the scope automatically. The following chart shows how time to initial display (TTID) and [time to full display (TTFD)](#time-to-full-display) correlate to transitions between activities: @@ -437,7 +437,7 @@ import io.sentry.Sentry Sentry.reportFullyDisplayed() ``` -Time to full display is dependent on having an active transaction bound to the scope. Ideally, it should be used along with [Activity Instrumentation](/platforms/android/performance/instrumentation/automatic-instrumentation/#activity-instrumentation), which starts a transaction and binds it to the scope automatically. +Time to full display is dependent on having an active transaction bound to the scope. Ideally, it should be used along with [Activity Instrumentation](/platforms/android/tracing/instrumentation/automatic-instrumentation/#activity-instrumentation), which starts a transaction and binds it to the scope automatically. If the span finishes through the API, its `status` is set to `SpanStatus.OK`. If the span doesn't finish after 30 seconds, it is finished by the SDK automatically, and its `status` is set to `SpanStatus.DEADLINE_EXCEEDED`. If the span finishes before the Activity is first drawn and displayed as measured by the `Time to initial display`, the reported time will be shifted to `Time to initial display` measured time. diff --git a/docs/platforms/apple/common/performance/instrumentation/custom-instrumentation.mdx b/docs/platforms/android/tracing/instrumentation/custom-instrumentation.mdx similarity index 82% rename from docs/platforms/apple/common/performance/instrumentation/custom-instrumentation.mdx rename to docs/platforms/android/tracing/instrumentation/custom-instrumentation.mdx index 17d36bf8b4635..3c9fbe7658075 100644 --- a/docs/platforms/apple/common/performance/instrumentation/custom-instrumentation.mdx +++ b/docs/platforms/android/tracing/instrumentation/custom-instrumentation.mdx @@ -1,12 +1,12 @@ --- title: Custom Instrumentation -description: "Learn how to capture performance data on any action in your app." sidebar_order: 20 +description: "Learn how to capture performance data on any action in your app." --- -To capture transactions and spans customized to your organization's needs, you must first set up performance monitoring. +To capture transactions and spans customized to your organization's needs, you must first set up tracing. diff --git a/docs/platforms/android/tracing/instrumentation/img/perf-v2-app-start.png b/docs/platforms/android/tracing/instrumentation/img/perf-v2-app-start.png new file mode 100644 index 0000000000000..c797ae1b2b283 Binary files /dev/null and b/docs/platforms/android/tracing/instrumentation/img/perf-v2-app-start.png differ diff --git a/docs/platforms/android/tracing/instrumentation/img/perf-v2-frame-delay.png b/docs/platforms/android/tracing/instrumentation/img/perf-v2-frame-delay.png new file mode 100644 index 0000000000000..8a759ae211a9a Binary files /dev/null and b/docs/platforms/android/tracing/instrumentation/img/perf-v2-frame-delay.png differ diff --git a/docs/platforms/android/performance/instrumentation/img/ttid-ttfd-concept.png b/docs/platforms/android/tracing/instrumentation/img/ttid-ttfd-concept.png similarity index 100% rename from docs/platforms/android/performance/instrumentation/img/ttid-ttfd-concept.png rename to docs/platforms/android/tracing/instrumentation/img/ttid-ttfd-concept.png diff --git a/docs/platforms/android/tracing/instrumentation/index.mdx b/docs/platforms/android/tracing/instrumentation/index.mdx new file mode 100644 index 0000000000000..3b76a93277090 --- /dev/null +++ b/docs/platforms/android/tracing/instrumentation/index.mdx @@ -0,0 +1,7 @@ +--- +title: Instrumentation +sidebar_order: 20 +description: "Learn how to instrument tracing in your app." +--- + + diff --git a/docs/platforms/android/performance/instrumentation/perf-v2.mdx b/docs/platforms/android/tracing/instrumentation/perf-v2.mdx similarity index 90% rename from docs/platforms/android/performance/instrumentation/perf-v2.mdx rename to docs/platforms/android/tracing/instrumentation/perf-v2.mdx index 15e7a8195a297..b57105ce1f738 100644 --- a/docs/platforms/android/performance/instrumentation/perf-v2.mdx +++ b/docs/platforms/android/tracing/instrumentation/perf-v2.mdx @@ -49,11 +49,11 @@ Once enabled, your App Start transaction will show a detailed span breakdown of * `application.load`: `Application.onCreate()` execution time * `activity.load`: The execution time of your `Activity` lifecycle prior to the first frame being drawn -![Screenshot Performance V2 App Start](/platforms/android/performance/instrumentation/perf-v2-app-start.png) +![Screenshot Performance V2 App Start](./img/perf-v2-app-start.png) ### Frames Delay Frames Delay is the user-perceived delayed duration of rendered frames. The Android SDK automatically attaches this information to every span, giving useful insights and showcasing which spans correlate the most to an impaired user experience. For more technical details about frame delay, head over to our [develop docs](https://develop.sentry.dev/sdk/performance/frames-delay/). -![Screenshot Performance V2 Frame Delay](/platforms/android/performance/instrumentation/perf-v2-frame-delay.png) +![Screenshot Performance V2 Frame Delay](./img/perf-v2-frame-delay.png) diff --git a/docs/platforms/android/performance/instrumentation/performance-metrics.mdx b/docs/platforms/android/tracing/instrumentation/performance-metrics.mdx similarity index 100% rename from docs/platforms/android/performance/instrumentation/performance-metrics.mdx rename to docs/platforms/android/tracing/instrumentation/performance-metrics.mdx diff --git a/docs/platforms/android/distributed-tracing/custom-instrumentation/index.mdx b/docs/platforms/android/tracing/trace-propagation/custom-instrumentation/index.mdx similarity index 100% rename from docs/platforms/android/distributed-tracing/custom-instrumentation/index.mdx rename to docs/platforms/android/tracing/trace-propagation/custom-instrumentation/index.mdx diff --git a/docs/platforms/android/distributed-tracing/dealing-with-cors-issues/index.mdx b/docs/platforms/android/tracing/trace-propagation/dealing-with-cors-issues/index.mdx similarity index 100% rename from docs/platforms/android/distributed-tracing/dealing-with-cors-issues/index.mdx rename to docs/platforms/android/tracing/trace-propagation/dealing-with-cors-issues/index.mdx diff --git a/docs/platforms/android/distributed-tracing/index.mdx b/docs/platforms/android/tracing/trace-propagation/index.mdx similarity index 98% rename from docs/platforms/android/distributed-tracing/index.mdx rename to docs/platforms/android/tracing/trace-propagation/index.mdx index 2fa131dd15253..fb41f4dd98c48 100644 --- a/docs/platforms/android/distributed-tracing/index.mdx +++ b/docs/platforms/android/tracing/trace-propagation/index.mdx @@ -1,5 +1,5 @@ --- -title: Set Up Distributed Tracing +title: Trace Propagation description: "Learn how to connect events across applications/services." sidebar_order: 3000 --- diff --git a/docs/platforms/apple/common/configuration/sampling.mdx b/docs/platforms/apple/common/configuration/sampling.mdx index 6cb83279b7d6a..bc66495c36665 100644 --- a/docs/platforms/apple/common/configuration/sampling.mdx +++ b/docs/platforms/apple/common/configuration/sampling.mdx @@ -72,7 +72,7 @@ When using custom instrumentation to create a transaction, you can add data to t Whatever a transaction's sampling decision, that decision will be passed to its child spans and from there to any transactions they subsequently cause in other services. -(See Distributed Tracing for more about how that propagation is done.) +(See Distributed Tracing for more about how that propagation is done.) If the transaction currently being created is one of those subsequent transactions (in other words, if it has a parent transaction), the upstream (parent) sampling decision will be included in the sampling context data. Your can use this information to choose whether to inherit that decision. In most cases, inheritance is the right choice, to avoid breaking distributed traces. A broken trace will not include all your services. diff --git a/docs/platforms/apple/common/configuration/swizzling.mdx b/docs/platforms/apple/common/configuration/swizzling.mdx index 9bd94b530a3aa..45d3b298d399e 100644 --- a/docs/platforms/apple/common/configuration/swizzling.mdx +++ b/docs/platforms/apple/common/configuration/swizzling.mdx @@ -9,21 +9,21 @@ The Cocoa SDK uses [swizzling](https://nshipster.com/method-swizzling/) to provi **macOS** - Breadcrumbs for touch events -- Auto instrumentation for HTTP requests -- Auto instrumentation for File I/O operations -- Auto instrumentation for Core Data operations -- Automatically added sentry-trace header to HTTP requests for distributed tracing +- Auto instrumentation for HTTP requests +- Auto instrumentation for File I/O operations +- Auto instrumentation for Core Data operations +- Automatically added sentry-trace header to HTTP requests for distributed tracing - HTTP Client Errors **iOS, tvOS and Catalyst** - Breadcrumbs for touch events and navigation with UIViewControllers -- Auto instrumentation for UIViewControllers -- Auto instrumentation for HTTP requests -- Auto instrumentation for File I/O operations -- Auto instrumentation for Core Data operations -- Automatically added sentry-trace header to HTTP requests for distributed tracing -- User interaction transactions for UI clicks +- Auto instrumentation for UIViewControllers +- Auto instrumentation for HTTP requests +- Auto instrumentation for File I/O operations +- Auto instrumentation for Core Data operations +- Automatically added sentry-trace header to HTTP requests for distributed tracing +- User interaction transactions for UI clicks - HTTP Client Errors Since Cocoa 7.5.0, you can opt out of swizzling using options. When you disable swizzling, the SDK disables the features above: diff --git a/docs/platforms/apple/common/data-management/apple-privacy-manifest.mdx b/docs/platforms/apple/common/data-management/apple-privacy-manifest.mdx index 3662bd90efd7f..dbd9209cde7e8 100644 --- a/docs/platforms/apple/common/data-management/apple-privacy-manifest.mdx +++ b/docs/platforms/apple/common/data-management/apple-privacy-manifest.mdx @@ -8,7 +8,7 @@ sidebar_order: 50 This guide requires [sentry-cocoa@8.25.0](https://github.com/getsentry/sentry-cocoa/releases/tag/8.25.0) or newer. -Sentry's SDKs provide error and performance monitoring for mobile applications running on Apple devices. To do this, the SDK needs to access certain information about the device and the application. Some of the APIs required for this are considered privacy-relevant by Apple. In order to submit apps to the App Store, Apple requires all apps - and libraries used within these apps - to provide privacy manifest files stating which APIs are used under which allowed reasons. For more details, read Apple's guidelines on [Describing use of required reason API](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api). +Sentry's SDKs provide error and tracing for mobile applications running on Apple devices. To do this, the SDK needs to access certain information about the device and the application. Some of the APIs required for this are considered privacy-relevant by Apple. In order to submit apps to the App Store, Apple requires all apps - and libraries used within these apps - to provide privacy manifest files stating which APIs are used under which allowed reasons. For more details, read Apple's guidelines on [Describing use of required reason API](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api). The information and steps in this guide are still being worked on and might change because of new tools or updated [Apple requirements](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files). diff --git a/docs/platforms/apple/common/install/swift-package-manager.mdx b/docs/platforms/apple/common/install/swift-package-manager.mdx index 3b68d90b289a0..6d9e346878220 100644 --- a/docs/platforms/apple/common/install/swift-package-manager.mdx +++ b/docs/platforms/apple/common/install/swift-package-manager.mdx @@ -14,7 +14,7 @@ You will then be prompted to choose one of the options `Sentry`, `Sentry-Dynamic - `Sentry` is the static framework, which is the recommended option if you prefer a fast app start time. - `Sentry-Dynamic` is the dynamic framework. -- `SentrySwiftUI` is used to track performance of SwiftUI views, see more information in the [docs](https://docs.sentry.io/platforms/apple/guides/ios/performance/instrumentation/swiftui-instrumentation/). +- `SentrySwiftUI` is used to track performance of SwiftUI views, see more information in the [docs](https://docs.sentry.io/platforms/apple/guides/ios/tracing/instrumentation/swiftui-instrumentation/). Xcode allows you to choose many options, but you should choose only one of the diff --git a/docs/platforms/apple/common/metrics/index.mdx b/docs/platforms/apple/common/metrics/index.mdx index 2403855d2fd69..a0cc209c2c467 100644 --- a/docs/platforms/apple/common/metrics/index.mdx +++ b/docs/platforms/apple/common/metrics/index.mdx @@ -13,7 +13,7 @@ Metrics are supported with Sentry Cocoa SDK version `8.23.0` and above. Sentry metrics help you pinpoint and solve issues that impact user experience and app performance by measuring the data points that are important to you. You can track things like processing time, event size, user signups, and conversion rates, then correlate them back to tracing data in order to get deeper insights and solve issues faster. -## Enabling the Metrics Feature +## Configure Here's how to add Metrics to your application: diff --git a/docs/platforms/apple/common/migration/index.mdx b/docs/platforms/apple/common/migration/index.mdx index 2d3d9f34c3098..0cfeb42113abd 100644 --- a/docs/platforms/apple/common/migration/index.mdx +++ b/docs/platforms/apple/common/migration/index.mdx @@ -17,9 +17,9 @@ The minimum supported OS versions have been bumped to macOS 10.13, iOS 11, tvOS The following features are now enabled by default: -- The user interaction tracing integration -- The File I/O tracing integration -- Core Data tracing integration +- The user interaction tracing integration +- The File I/O tracing integration +- Core Data tracing integration - Capture failed requests - App Hangs (not available for watchOS) @@ -104,7 +104,7 @@ SentrySDK.start { options in -We recommend updating to at least [7.5.3](https://github.com/getsentry/sentry-cocoa/releases/tag/7.5.3), because the HTTP instrumentation can lead to crashes. Alternatively, you can also disable the feature. +We recommend updating to at least [7.5.3](https://github.com/getsentry/sentry-cocoa/releases/tag/7.5.3), because the HTTP instrumentation can lead to crashes. Alternatively, you can also disable the feature. diff --git a/docs/platforms/apple/common/performance/index.mdx b/docs/platforms/apple/common/performance/index.mdx deleted file mode 100644 index 91bf4b421b2ad..0000000000000 --- a/docs/platforms/apple/common/performance/index.mdx +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Set Up Performance -description: "Learn how to enable performance monitoring in your app if it is not already set up." -sidebar_order: 4000 ---- - -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. Learn more about our model in [Distributed Tracing](/product/sentry-basics/tracing/distributed-tracing/). - -Automatic instrumentation for monitoring the performance of your application is currently in preview. You can also use custom instrumentation to capture transactions. - -## Configure - -First, enable tracing and configure the sampling rate for transactions. Set the sample rate for your transactions by either: - -- Setting a uniform sample rate for all transactions using the option in your SDK config to a number between `0` and `1`. (For example, to send 20% of transactions, set to `0.2`.) -- Controlling the sample rate based on the transaction itself and the context in which it's captured, by providing a function to the config option. - -The two options are meant to be mutually exclusive. If you set both, will take precedence. - - - -Learn more about performance monitoring options, how to use the tracesSampler function, or how to sample transactions. - -## Verify - -Verify that performance monitoring is working correctly by using our automatic instrumentation or by starting and finishing a transaction using custom instrumentation. - -Test out tracing by starting and finishing a transaction, which you _must_ do so transactions can be sent to Sentry. Learn how in our Custom Instrumentation content. - -While you're testing, set to `1.0`, as that ensures that every transaction will be sent to Sentry. - -Once testing is complete, you may want to set a lower value, or switch to using to selectively sample and filter your transactions, based on contextual data. - -## Next Steps - - diff --git a/docs/platforms/apple/common/performance/instrumentation/index.mdx b/docs/platforms/apple/common/performance/instrumentation/index.mdx deleted file mode 100644 index 31b4b4f67612f..0000000000000 --- a/docs/platforms/apple/common/performance/instrumentation/index.mdx +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Instrumentation -description: "Learn how to instrument performance in your app." -sidebar_order: 20 ---- - -Instrumenting performance monitoring is specific to your SDK. - - diff --git a/docs/platforms/apple/common/profiling/index.mdx b/docs/platforms/apple/common/profiling/index.mdx index edd4e6acdf488..f803db06b2872 100644 --- a/docs/platforms/apple/common/profiling/index.mdx +++ b/docs/platforms/apple/common/profiling/index.mdx @@ -7,9 +7,9 @@ sidebar_order: 5000 -## Enable Performance Monitoring +## Enable Tracing -Profiling depends on Sentry’s performance monitoring product being enabled beforehand. To enable performance monitoring in the SDK: +Profiling depends on Sentry’s Tracing product being enabled beforehand. To enable tracing in the SDK: @@ -31,7 +31,7 @@ SentrySDK.start { options in }]; ``` -Check out the performance setup documentation for more detailed information on how to configure sampling. Setting the sample rate to 1.0 means all transactions will be captured. +Check out the tracing setup documentation for more detailed information on how to configure sampling. Setting the sample rate to 1.0 means all transactions will be captured. By default, some transactions will be created automatically for common operations like loading a view controller/activity and app startup. diff --git a/docs/platforms/apple/common/profiling/troubleshooting/index.mdx b/docs/platforms/apple/common/profiling/troubleshooting/index.mdx index 4d8763caa6863..ee87700b83367 100644 --- a/docs/platforms/apple/common/profiling/troubleshooting/index.mdx +++ b/docs/platforms/apple/common/profiling/troubleshooting/index.mdx @@ -1,12 +1,12 @@ --- title: Troubleshooting description: "Learn how to troubleshoot your profiling setup." -sidebar_order: 5000 +sidebar_order: 9000 --- If you don't see any profiling data in [sentry.io](https://sentry.io), you can try the following: -- Ensure that performance monitoring is enabled. +- Ensure that Tracing is enabled. - Ensure that the automatic instrumentation is sending performance data to Sentry by going to the **Performance** page in [sentry.io](https://sentry.io). -- If the automatic instrumentation is not sending performance data, try using custom instrumentation. +- If the automatic instrumentation is not sending performance data, try using custom instrumentation. - Enable debug mode in the SDK and check the logs. diff --git a/docs/platforms/apple/common/tracing/index.mdx b/docs/platforms/apple/common/tracing/index.mdx new file mode 100644 index 0000000000000..292b56de05d9f --- /dev/null +++ b/docs/platforms/apple/common/tracing/index.mdx @@ -0,0 +1,34 @@ +--- +title: Set Up Tracing +description: "Learn how to enable tracing in your app and discover valuable performance insights of your application." +sidebar_order: 4000 +--- + +With [tracing](/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. Learn more about our model in [Distributed Tracing](/product/sentry-basics/tracing/distributed-tracing/). + +Automatic instrumentation for monitoring the performance of your application is currently in preview. You can also use custom instrumentation to capture transactions. + +## Configure + +First, enable tracing and configure the sample rate for transactions. Set the sample rate for your transactions by either: + +- Setting a uniform sample rate for all transactions using the option in your SDK config to a number between `0` and `1`. (For example, to send 20% of transactions, set to `0.2`.) +- Controlling the sample rate based on the transaction itself and the context in which it's captured, by providing a function to the config option. + +The two options are meant to be mutually exclusive. If you set both, will take precedence. + + + +Learn more about tracing options, how to use the tracesSampler function, or how to sample transactions. + +## Verify + +Verify that tracing is working correctly by using our automatic instrumentation or by starting and finishing a transaction using custom instrumentation. + +Test out tracing by starting and finishing a transaction, which you _must_ do so transactions can be sent to Sentry. Learn how in our Custom Instrumentation content. + +While you're testing, set to `1.0`, as that ensures that every transaction will be sent to Sentry. Once testing is complete, you may want to set a lower value, or switch to using to selectively sample and filter your transactions, based on contextual data. + +## Next Steps + + diff --git a/docs/platforms/apple/common/performance/instrumentation/automatic-instrumentation.mdx b/docs/platforms/apple/common/tracing/instrumentation/automatic-instrumentation.mdx similarity index 92% rename from docs/platforms/apple/common/performance/instrumentation/automatic-instrumentation.mdx rename to docs/platforms/apple/common/tracing/instrumentation/automatic-instrumentation.mdx index bd72203d2fa24..b425738d0615d 100644 --- a/docs/platforms/apple/common/performance/instrumentation/automatic-instrumentation.mdx +++ b/docs/platforms/apple/common/tracing/instrumentation/automatic-instrumentation.mdx @@ -6,7 +6,7 @@ description: "Learn what transactions are captured after tracing is enabled." -Once you set up performance monitoring, the SDK enables the following features by default: +Once you set up tracing, the SDK enables the following features by default: - UIViewController Tracing - App Start Tracing @@ -22,7 +22,7 @@ Once you set up performance monitoringset up performance monitoring. This feature captures transactions when your app loads an in-app [UIViewController][UIViewController]. However, the SDK doesn't capture transactions for UIViewControllers of third-party libraries or SwiftUI. +UIViewController Tracing is enabled by default once you set up tracing. This feature captures transactions when your app loads an in-app [UIViewController][UIViewController]. However, the SDK doesn't capture transactions for UIViewControllers of third-party libraries or SwiftUI. The SDK sets the transaction name to the name of the ViewController, including the module — for example, `Your_App.MainViewController` — and the transaction operation to `ui.load`. The SDK creates spans to provide insight into the time consumed by each of the methods shown in the screenshot below. Due to implementation limitations, the SDK only adds a span for loadView if the instrumented view controller implements it. The SDK adds spans for all other methods, whether you implement them in your view controller or not. @@ -64,7 +64,7 @@ SentrySDK.start { options in This feature is available for iOS, tvOS, and Mac Catalyst. -App Start Tracing is enabled by default once you set up performance monitoring. This feature provides insight into how long your application takes to launch. It adds spans for different phases, from the application launch to the first auto-generated UI transaction. +App Start Tracing is enabled by default once you set up tracing. This feature provides insight into how long your application takes to launch. It adds spans for different phases, from the application launch to the first auto-generated UI transaction. The SDK adds these spans to the first transaction that starts during the app launch with the operation `ui.load`. This is what UIViewController tracing uses. If the duration between the transaction start time and the end timestamp of the app start is more than 5 seconds, the SDK doesn't attach the spans from the app start. This helps prevent attaching spans to unrelated transactions. To enable this feature, enable `enableAutoPerformanceTracing`. @@ -133,7 +133,7 @@ SentrySDK.start { options in This feature is available for iOS, tvOS, and Mac Catalyst. -Slow and Frozen Frames are enabled by default once you set up performance monitoring. Unresponsive UI and animation hitches annoy users and degrade the user experience. Two measurements to track these types of experiences are _slow frames_ and _frozen frames_. If you want your app to run smoothly, you should try to avoid both. The SDK adds these two measurements for the transactions you capture. +Slow and Frozen Frames are enabled by default once you set up tracing. Unresponsive UI and animation hitches annoy users and degrade the user experience. Two measurements to track these types of experiences are _slow frames_ and _frozen frames_. If you want your app to run smoothly, you should try to avoid both. The SDK adds these two measurements for the transactions you capture. The detail view of the transaction displays the slow, frozen, and total frames: @@ -143,7 +143,7 @@ Slow and frozen frames are Mobile Vitals, which you can learn about in the [full ## Network Tracking -Network Tracking is enabled by default once you set up performance monitoring. The Sentry SDK adds spans for outgoing HTTP requests to ongoing transactions bound to the Scope. Currently, the SDK supports requests with [NSURLSession][NSURLSession], but not the legacy [NSURLConnection][NSURLConnection]. +Network Tracking is enabled by default once you set up tracing. The Sentry SDK adds spans for outgoing HTTP requests to ongoing transactions bound to the Scope. Currently, the SDK supports requests with [NSURLSession][NSURLSession], but not the legacy [NSURLConnection][NSURLConnection]. To disable the HTTP instrumentation: diff --git a/docs/platforms/java/common/performance/instrumentation/custom-instrumentation.mdx b/docs/platforms/apple/common/tracing/instrumentation/custom-instrumentation.mdx similarity index 82% rename from docs/platforms/java/common/performance/instrumentation/custom-instrumentation.mdx rename to docs/platforms/apple/common/tracing/instrumentation/custom-instrumentation.mdx index 17d36bf8b4635..2d9a41622d610 100644 --- a/docs/platforms/java/common/performance/instrumentation/custom-instrumentation.mdx +++ b/docs/platforms/apple/common/tracing/instrumentation/custom-instrumentation.mdx @@ -6,7 +6,7 @@ sidebar_order: 20 -To capture transactions and spans customized to your organization's needs, you must first set up performance monitoring. +To capture transactions and spans customized to your organization's needs, you must first set up tracing. diff --git a/docs/platforms/apple/common/performance/instrumentation/img/app-start-transaction.png b/docs/platforms/apple/common/tracing/instrumentation/img/app-start-transaction.png similarity index 100% rename from docs/platforms/apple/common/performance/instrumentation/img/app-start-transaction.png rename to docs/platforms/apple/common/tracing/instrumentation/img/app-start-transaction.png diff --git a/docs/platforms/apple/common/performance/instrumentation/img/nested-view-transaction.png b/docs/platforms/apple/common/tracing/instrumentation/img/nested-view-transaction.png similarity index 100% rename from docs/platforms/apple/common/performance/instrumentation/img/nested-view-transaction.png rename to docs/platforms/apple/common/tracing/instrumentation/img/nested-view-transaction.png diff --git a/docs/platforms/apple/common/performance/instrumentation/img/slow-frozen-frames.png b/docs/platforms/apple/common/tracing/instrumentation/img/slow-frozen-frames.png similarity index 100% rename from docs/platforms/apple/common/performance/instrumentation/img/slow-frozen-frames.png rename to docs/platforms/apple/common/tracing/instrumentation/img/slow-frozen-frames.png diff --git a/docs/platforms/apple/common/performance/instrumentation/img/ttid-ttfd-concept.png b/docs/platforms/apple/common/tracing/instrumentation/img/ttid-ttfd-concept.png similarity index 100% rename from docs/platforms/apple/common/performance/instrumentation/img/ttid-ttfd-concept.png rename to docs/platforms/apple/common/tracing/instrumentation/img/ttid-ttfd-concept.png diff --git a/docs/platforms/apple/common/performance/instrumentation/img/ui-view-controller-transaction.png b/docs/platforms/apple/common/tracing/instrumentation/img/ui-view-controller-transaction.png similarity index 100% rename from docs/platforms/apple/common/performance/instrumentation/img/ui-view-controller-transaction.png rename to docs/platforms/apple/common/tracing/instrumentation/img/ui-view-controller-transaction.png diff --git a/docs/platforms/apple/common/tracing/instrumentation/index.mdx b/docs/platforms/apple/common/tracing/instrumentation/index.mdx new file mode 100644 index 0000000000000..eaac9e016be4c --- /dev/null +++ b/docs/platforms/apple/common/tracing/instrumentation/index.mdx @@ -0,0 +1,7 @@ +--- +title: Instrumentation +description: "Learn how to instrument tracing in your app." +sidebar_order: 20 +--- + + diff --git a/docs/platforms/apple/common/performance/instrumentation/performance-metrics.mdx b/docs/platforms/apple/common/tracing/instrumentation/performance-metrics.mdx similarity index 100% rename from docs/platforms/apple/common/performance/instrumentation/performance-metrics.mdx rename to docs/platforms/apple/common/tracing/instrumentation/performance-metrics.mdx diff --git a/docs/platforms/apple/common/performance/instrumentation/swiftui-instrumentation.mdx b/docs/platforms/apple/common/tracing/instrumentation/swiftui-instrumentation.mdx similarity index 100% rename from docs/platforms/apple/common/performance/instrumentation/swiftui-instrumentation.mdx rename to docs/platforms/apple/common/tracing/instrumentation/swiftui-instrumentation.mdx diff --git a/docs/platforms/apple/common/distributed-tracing/dealing-with-cors-issues/index.mdx b/docs/platforms/apple/common/tracing/trace-propagation/dealing-with-cors-issues/index.mdx similarity index 100% rename from docs/platforms/apple/common/distributed-tracing/dealing-with-cors-issues/index.mdx rename to docs/platforms/apple/common/tracing/trace-propagation/dealing-with-cors-issues/index.mdx diff --git a/docs/platforms/apple/common/distributed-tracing/index.mdx b/docs/platforms/apple/common/tracing/trace-propagation/index.mdx similarity index 99% rename from docs/platforms/apple/common/distributed-tracing/index.mdx rename to docs/platforms/apple/common/tracing/trace-propagation/index.mdx index e3e93816ee0ba..4584f4b688ddf 100644 --- a/docs/platforms/apple/common/distributed-tracing/index.mdx +++ b/docs/platforms/apple/common/tracing/trace-propagation/index.mdx @@ -1,5 +1,5 @@ --- -title: Set Up Distributed Tracing +title: Trace Propagation description: "Learn how to connect events across applications/services." sidebar_order: 3000 --- diff --git a/docs/platforms/apple/common/troubleshooting/index.mdx b/docs/platforms/apple/common/troubleshooting/index.mdx index 9bd663610f056..5ce53178683f2 100644 --- a/docs/platforms/apple/common/troubleshooting/index.mdx +++ b/docs/platforms/apple/common/troubleshooting/index.mdx @@ -22,7 +22,7 @@ We recommend updating to at least [7.11.0](https://github.com/getsentry/sentry-c ## Crashes with HTTP Auto Performance Instrumentation -We recommend updating to at least [7.5.3](https://github.com/getsentry/sentry-cocoa/releases/tag/7.5.3), because the HTTP instrumentation can lead to crashes. Alternatively, you can also disable the feature. +We recommend updating to at least [7.5.3](https://github.com/getsentry/sentry-cocoa/releases/tag/7.5.3), because the HTTP instrumentation can lead to crashes. Alternatively, you can also disable the feature. ## Duplicated Crashes Event With Screenshots @@ -98,7 +98,7 @@ SentrySDK.start { options in ``` If you can't upgrade the Sentry Cocoa SDK to version `8.23.0`, you can also disable swizzling, as shown below. -However, this would also disable some useful features, such as automatic performance monitoring and network breadcrumbs. +However, this would also disable some useful features, such as automatic tracing and network breadcrumbs. ```swift {tabTitle:Swift} import Sentry diff --git a/docs/platforms/apple/guides/ios/manual-setup.mdx b/docs/platforms/apple/guides/ios/manual-setup.mdx index 0734e245ebf50..fbfb928364a1c 100644 --- a/docs/platforms/apple/guides/ios/manual-setup.mdx +++ b/docs/platforms/apple/guides/ios/manual-setup.mdx @@ -55,7 +55,7 @@ func application(_ application: UIApplication, options.dsn = @"___PUBLIC_DSN___"; options.debug = YES; // Enabled debug when first installing is always helpful - // Enable tracing to capture 100% of transactions for performance monitoring. + // Enable tracing to capture 100% of transactions for tracing. // Use 'options.tracesSampleRate' to set the sampling rate. // We recommend setting a sample rate in production. options.enableTracing = YES; @@ -79,7 +79,7 @@ struct SwiftUIApp: App { options.dsn = "___PUBLIC_DSN___" options.debug = true // Enabled debug when first installing is always helpful - // Enable tracing to capture 100% of transactions for performance monitoring. + // Enable tracing to capture 100% of transactions for tracing. // Use 'options.tracesSampleRate' to set the sampling rate. // We recommend setting a sample rate in production. options.enableTracing = true diff --git a/docs/platforms/dart/configuration/sampling.mdx b/docs/platforms/dart/configuration/sampling.mdx index 6cb83279b7d6a..bc66495c36665 100644 --- a/docs/platforms/dart/configuration/sampling.mdx +++ b/docs/platforms/dart/configuration/sampling.mdx @@ -72,7 +72,7 @@ When using custom instrumentation to create a transaction, you can add data to t Whatever a transaction's sampling decision, that decision will be passed to its child spans and from there to any transactions they subsequently cause in other services. -(See Distributed Tracing for more about how that propagation is done.) +(See Distributed Tracing for more about how that propagation is done.) If the transaction currently being created is one of those subsequent transactions (in other words, if it has a parent transaction), the upstream (parent) sampling decision will be included in the sampling context data. Your can use this information to choose whether to inherit that decision. In most cases, inheritance is the right choice, to avoid breaking distributed traces. A broken trace will not include all your services. diff --git a/docs/platforms/dart/features/index.mdx b/docs/platforms/dart/features/index.mdx index c8f15f446c77a..df27a6be01578 100644 --- a/docs/platforms/dart/features/index.mdx +++ b/docs/platforms/dart/features/index.mdx @@ -14,7 +14,7 @@ Sentry's Dart SDK enables automatic reporting of errors and exceptions, and iden - [Dio Integration](/platforms/dart/integrations/dio/). - [Attachments](/platforms/dart/enriching-events/attachments/) enrich your event by storing additional files, such as config or log files. - [User Feedback](/platforms/dart/user-feedback/) provides the ability to collect user information when an event occurs. -- [Performance Monitoring](/product/performance/) creates transactions for: +- [Tracing](/product/performance/) creates transactions for: - [HTTP requests](/platforms/dart/integrations/http-integration/#performance-monitoring-for-http-requests). - [Dio HTTP library](/platforms/dart/integrations/dio/#performance-monitoring-for-http-requests). - [File I/O Integration](/platforms/dart/integrations/file/). diff --git a/docs/platforms/dart/index.mdx b/docs/platforms/dart/index.mdx index f14db9ec186c1..6d42ba2c15a3a 100644 --- a/docs/platforms/dart/index.mdx +++ b/docs/platforms/dart/index.mdx @@ -45,7 +45,7 @@ import 'package:sentry/sentry.dart'; Future main() async { await Sentry.init((options) { options.dsn = '___PUBLIC_DSN___'; - // Set tracesSampleRate to 1.0 to capture 100% of transactions for performance monitoring. + // Set tracesSampleRate to 1.0 to capture 100% of transactions for tracing. // We recommend adjusting this value in production. options.tracesSampleRate = 1.0; }); @@ -75,4 +75,4 @@ try { ## Next Steps - Learn about the features of Sentry's Dart SDK -- Add performance instrumentation to your app +- Add performance instrumentation to your app diff --git a/docs/platforms/dart/integrations/dio.mdx b/docs/platforms/dart/integrations/dio.mdx index 3985b61024d7f..f25623fda860a 100644 --- a/docs/platforms/dart/integrations/dio.mdx +++ b/docs/platforms/dart/integrations/dio.mdx @@ -4,7 +4,7 @@ description: "Learn more about the Sentry Dio integration for the Dart SDK." sidebar_order: 4 --- -The `sentry_dio` library provides [Dio](https://pub.dev/packages/dio) support for Sentry using the [HttpClientAdapter](https://pub.dev/documentation/dio/latest/dio/HttpClientAdapter-class.html). It is able to collect breadcrumbs, run performance monitoring for HTTP requests, and capture events for failed requests. +The `sentry_dio` library provides [Dio](https://pub.dev/packages/dio) support for Sentry using the [HttpClientAdapter](https://pub.dev/documentation/dio/latest/dio/HttpClientAdapter-class.html). It is able to collect breadcrumbs, run tracing for HTTP requests, and capture events for failed requests. ## Install @@ -74,9 +74,9 @@ Future main() async { } ``` -## Performance Monitoring for HTTP Requests +## Tracing for HTTP Requests -The Dio integration also provides insight into performance monitoring for your HTTP requests done with Dio. +The Dio integration also provides insight into tracing for your HTTP requests done with Dio. ### Instrumentation Behaviour @@ -91,7 +91,7 @@ The Dio integration also provides insight into performance monitoring for your H Before starting, ensure: 1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/flutter/#configure). -2. Performance Monitoring is set up. Learn more [here](/platforms/flutter/performance/). +2. Tracing is set up. Learn more [here](/platforms/flutter/tracing/). ### Configure diff --git a/docs/platforms/dart/integrations/file.mdx b/docs/platforms/dart/integrations/file.mdx index b4ba965caadda..5e98241bea931 100644 --- a/docs/platforms/dart/integrations/file.mdx +++ b/docs/platforms/dart/integrations/file.mdx @@ -5,7 +5,7 @@ sidebar_order: 5 --- File I/O operations are fundamental for reading from and writing to files within an application. -The `sentry_file` integration provides [File](https://api.dart.dev/stable/2.18.5/dart-io/File-class.html) support for Sentry thus providing insight into performance monitoring of file operations. +The `sentry_file` integration provides [File](https://api.dart.dev/stable/2.18.5/dart-io/File-class.html) support for Sentry thus providing insight into tracing of file operations. ## Behavior @@ -18,7 +18,7 @@ The `sentry_file` integration provides [File](https://api.dart.dev/stable/2.18.5 ## Prerequisites 1. The Sentry [Dart](/platforms/dart/#configure) SDK is initialized. -2. Performance Monitoring is set up. Learn more [here](/platforms/dart/performance/). +2. Tracing is set up. Learn more [here](/platforms/dart/tracing/). ## Install diff --git a/docs/platforms/dart/integrations/http-integration.mdx b/docs/platforms/dart/integrations/http-integration.mdx index 09413f9c568ac..50001dce4548f 100644 --- a/docs/platforms/dart/integrations/http-integration.mdx +++ b/docs/platforms/dart/integrations/http-integration.mdx @@ -62,11 +62,11 @@ var uriResponse = await client.post('https://example.com/whatsit/create', } ``` -## Performance Monitoring for HTTP Requests +## Tracing for HTTP Requests -Capturing transactions requires that you first set up performance monitoring if you haven't already. +Capturing transactions requires that you first set up tracing if you haven't already. diff --git a/docs/platforms/dart/metrics/index.mdx b/docs/platforms/dart/metrics/index.mdx index 15b62f4eb2fef..e74a0abaf9065 100644 --- a/docs/platforms/dart/metrics/index.mdx +++ b/docs/platforms/dart/metrics/index.mdx @@ -1,6 +1,7 @@ --- title: Set Up Metrics description: "Learn how to measure the data points you care about by configuring Metrics in your Dart app." +sidebar_order: 6000 --- @@ -12,7 +13,7 @@ Metrics are supported with Sentry Dart SDK version `7.19.0` and above. Sentry metrics help you pinpoint and solve issues that impact user experience and app performance by measuring the data points that are important to you. You can track things like processing time, event size, user signups, and conversion rates, then correlate them back to tracing data in order to get deeper insights and solve issues faster. -## Enabling the Metrics Feature +## Configure Here's how to add Metrics to your application: diff --git a/docs/platforms/dart/performance/index.mdx b/docs/platforms/dart/performance/index.mdx deleted file mode 100644 index a9d2a5f81e7e9..0000000000000 --- a/docs/platforms/dart/performance/index.mdx +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: Set Up Performance -description: "Learn how to enable performance monitoring in your app if it is not already set up." -sidebar_order: 4000 ---- - -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. Learn more about our model in [Distributed Tracing](/product/sentry-basics/tracing/distributed-tracing/). - - - -If you’re adopting Performance in a high-throughput environment, we recommend testing prior to deployment to ensure that your service’s performance characteristics maintain expectations. - - - -## Configure - -First, enable tracing and configure the sampling rate for transactions. Set the sample rate for your transactions by either: - -- Setting a uniform sample rate for all transactions using the option in your SDK config to a number between `0` and `1`. (For example, to send 20% of transactions, set to `0.2`.) -- Controlling the sample rate based on the transaction itself and the context in which it's captured, by providing a function to the config option. - -The two options are meant to be mutually exclusive. If you set both, will take precedence. - - - -Learn more about performance monitoring options, how to use the tracesSampler function, or how to sample transactions. - -## Verify - -Verify that performance monitoring is working correctly by using our automatic instrumentation or by starting and finishing a transaction using custom instrumentation. - -Test out tracing by starting and finishing a transaction, which you _must_ do so transactions can be sent to Sentry. Learn how in our Custom Instrumentation content. - -While you're testing, set to `1.0`, as that ensures that every transaction will be sent to Sentry. - -Once testing is complete, you may want to set a lower value, or switch to using to selectively sample and filter your transactions, based on contextual data. - -## Next Steps - - diff --git a/docs/platforms/dart/performance/instrumentation/index.mdx b/docs/platforms/dart/performance/instrumentation/index.mdx deleted file mode 100644 index 31b4b4f67612f..0000000000000 --- a/docs/platforms/dart/performance/instrumentation/index.mdx +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Instrumentation -description: "Learn how to instrument performance in your app." -sidebar_order: 20 ---- - -Instrumenting performance monitoring is specific to your SDK. - - diff --git a/docs/platforms/dart/tracing/index.mdx b/docs/platforms/dart/tracing/index.mdx new file mode 100644 index 0000000000000..3c8f0ff00637c --- /dev/null +++ b/docs/platforms/dart/tracing/index.mdx @@ -0,0 +1,38 @@ +--- +title: Set Up Tracing +description: "Learn how to enable tracing in your app and discover valuable performance insights of your application." +sidebar_order: 4000 +--- + +With [tracing](/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. Learn more about our model in [Distributed Tracing](/product/sentry-basics/tracing/distributed-tracing/). + + + +If you’re adopting Tracing in a high-throughput environment, we recommend testing prior to deployment to ensure that your service’s performance characteristics maintain expectations. + + + +## Configure + +First, enable tracing and configure the sample rate for transactions. Set the sample rate for your transactions by either: + +- Setting a uniform sample rate for all transactions using the option in your SDK config to a number between `0` and `1`. (For example, to send 20% of transactions, set to `0.2`.) +- Controlling the sample rate based on the transaction itself and the context in which it's captured, by providing a function to the config option. + +The two options are meant to be mutually exclusive. If you set both, will take precedence. + + + +Learn more about tracing options, how to use the tracesSampler function, or how to sample transactions. + +## Verify + +Verify that tracing is working correctly by using our automatic instrumentation or by starting and finishing a transaction using custom instrumentation. + +Test out tracing by starting and finishing a transaction, which you _must_ do so transactions can be sent to Sentry. Learn how in our Custom Instrumentation content. + +While you're testing, set to `1.0`, as that ensures that every transaction will be sent to Sentry. Once testing is complete, you may want to set a lower value, or switch to using to selectively sample and filter your transactions, based on contextual data. + +## Next Steps + + diff --git a/docs/platforms/dart/performance/instrumentation/automatic-instrumentation.mdx b/docs/platforms/dart/tracing/instrumentation/automatic-instrumentation.mdx similarity index 89% rename from docs/platforms/dart/performance/instrumentation/automatic-instrumentation.mdx rename to docs/platforms/dart/tracing/instrumentation/automatic-instrumentation.mdx index 837ca534dd7d4..3931d7911e1b0 100644 --- a/docs/platforms/dart/performance/instrumentation/automatic-instrumentation.mdx +++ b/docs/platforms/dart/tracing/instrumentation/automatic-instrumentation.mdx @@ -6,13 +6,13 @@ sidebar_order: 10 -Capturing transactions requires that you first set up performance monitoring if you haven't already. +Capturing transactions requires that you first set up tracing if you haven't already. ### http.Client Library Instrumentation -The `http.Client` instrumentation, once added the `SentryHttpClient` and enabled the [performance](/platforms/dart/performance/) feature, starts a span out of the active span bound to the scope for each HTTP Request. The SDK sets the span `operation` to `http.client` and `description` to request `$METHOD $url`; for example, `GET https://sentry.io`. +The `http.Client` instrumentation, once added the `SentryHttpClient` and enabled the [performance](/platforms/dart/tracing/) feature, starts a span out of the active span bound to the scope for each HTTP Request. The SDK sets the span `operation` to `http.client` and `description` to request `$METHOD $url`; for example, `GET https://sentry.io`. The span finishes once the request has been executed. The span `status` depends on either the HTTP Response `code` or `SpanStatus.internalError()` if the `code` does not match any of Sentry's `SpanStatus`. diff --git a/docs/platforms/flutter/performance/instrumentation/custom-instrumentation.mdx b/docs/platforms/dart/tracing/instrumentation/custom-instrumentation.mdx similarity index 82% rename from docs/platforms/flutter/performance/instrumentation/custom-instrumentation.mdx rename to docs/platforms/dart/tracing/instrumentation/custom-instrumentation.mdx index f1d1d5bb6bccf..c34b1e38fe92f 100644 --- a/docs/platforms/flutter/performance/instrumentation/custom-instrumentation.mdx +++ b/docs/platforms/dart/tracing/instrumentation/custom-instrumentation.mdx @@ -6,7 +6,7 @@ sidebar_order: 20 -To capture transactions and spans customized to your organization's needs, you must first set up performance monitoring. +To capture transactions and spans customized to your organization's needs, you must first set up tracing. diff --git a/docs/platforms/dart/tracing/instrumentation/index.mdx b/docs/platforms/dart/tracing/instrumentation/index.mdx new file mode 100644 index 0000000000000..eaac9e016be4c --- /dev/null +++ b/docs/platforms/dart/tracing/instrumentation/index.mdx @@ -0,0 +1,7 @@ +--- +title: Instrumentation +description: "Learn how to instrument tracing in your app." +sidebar_order: 20 +--- + + diff --git a/docs/platforms/dart/performance/instrumentation/performance-metrics.mdx b/docs/platforms/dart/tracing/instrumentation/performance-metrics.mdx similarity index 100% rename from docs/platforms/dart/performance/instrumentation/performance-metrics.mdx rename to docs/platforms/dart/tracing/instrumentation/performance-metrics.mdx diff --git a/docs/platforms/dart/distributed-tracing/custom-instrumentation/index.mdx b/docs/platforms/dart/tracing/trace-propagation/custom-instrumentation/index.mdx similarity index 100% rename from docs/platforms/dart/distributed-tracing/custom-instrumentation/index.mdx rename to docs/platforms/dart/tracing/trace-propagation/custom-instrumentation/index.mdx diff --git a/docs/platforms/dart/distributed-tracing/dealing-with-cors-issues/index.mdx b/docs/platforms/dart/tracing/trace-propagation/dealing-with-cors-issues/index.mdx similarity index 100% rename from docs/platforms/dart/distributed-tracing/dealing-with-cors-issues/index.mdx rename to docs/platforms/dart/tracing/trace-propagation/dealing-with-cors-issues/index.mdx diff --git a/docs/platforms/dart/distributed-tracing/index.mdx b/docs/platforms/dart/tracing/trace-propagation/index.mdx similarity index 98% rename from docs/platforms/dart/distributed-tracing/index.mdx rename to docs/platforms/dart/tracing/trace-propagation/index.mdx index 2fa131dd15253..fb41f4dd98c48 100644 --- a/docs/platforms/dart/distributed-tracing/index.mdx +++ b/docs/platforms/dart/tracing/trace-propagation/index.mdx @@ -1,5 +1,5 @@ --- -title: Set Up Distributed Tracing +title: Trace Propagation description: "Learn how to connect events across applications/services." sidebar_order: 3000 --- diff --git a/docs/platforms/dotnet/common/configuration/sampling.mdx b/docs/platforms/dotnet/common/configuration/sampling.mdx index 6cb83279b7d6a..bc66495c36665 100644 --- a/docs/platforms/dotnet/common/configuration/sampling.mdx +++ b/docs/platforms/dotnet/common/configuration/sampling.mdx @@ -72,7 +72,7 @@ When using custom instrumentation to create a transaction, you can add data to t Whatever a transaction's sampling decision, that decision will be passed to its child spans and from there to any transactions they subsequently cause in other services. -(See Distributed Tracing for more about how that propagation is done.) +(See Distributed Tracing for more about how that propagation is done.) If the transaction currently being created is one of those subsequent transactions (in other words, if it has a parent transaction), the upstream (parent) sampling decision will be included in the sampling context data. Your can use this information to choose whether to inherit that decision. In most cases, inheritance is the right choice, to avoid breaking distributed traces. A broken trace will not include all your services. diff --git a/docs/platforms/dotnet/common/metrics/index.mdx b/docs/platforms/dotnet/common/metrics/index.mdx index 00617570a35cd..ae6a90a3cab42 100644 --- a/docs/platforms/dotnet/common/metrics/index.mdx +++ b/docs/platforms/dotnet/common/metrics/index.mdx @@ -36,7 +36,8 @@ To emit a counter, do the following: ```csharp // Incrementing a counter by one for each button click. SentrySdk.Metrics.Increment("ButtonClicked", - tags: new Dictionary {{ "region", "us-west-1" }}); + tags: new Dictionary {{ "region", "us-west-1" }} +); ``` ## Emit a Distribution @@ -50,7 +51,8 @@ To emit a distribution, do the following: SentrySdk.Metrics.Distribution("LoadingTime", 15, unit: MeasurementUnit.Duration.Millisecond, - tags: new Dictionary {{ "region", "us-west-1" }}); + tags: new Dictionary {{ "region", "us-west-1" }} +); ``` ## Emit a Set @@ -63,7 +65,8 @@ To emit a set, do the following: // Adding a set of unique occurrences. SentrySdk.Metrics.Set("UserView", "Rufus", unit: MeasurementUnit.Custom("username"), - tags: new Dictionary {{ "region", "us-west-1" }}); + tags: new Dictionary {{ "region", "us-west-1" }} +); ``` ## Emit a Gauge @@ -77,7 +80,8 @@ To emit a gauge, do the following: SentrySdk.Metrics.Gauge("LoadingTime", 15, unit: MeasurementUnit.Duration.Millisecond, - tags: new Dictionary {{ "region", "us-west-1" }}); + tags: new Dictionary {{ "region", "us-west-1" }} +); ``` ## Emit a Timer diff --git a/docs/platforms/dotnet/common/migration/index.mdx b/docs/platforms/dotnet/common/migration/index.mdx index f9490656dc6b4..a81de33b54695 100644 --- a/docs/platforms/dotnet/common/migration/index.mdx +++ b/docs/platforms/dotnet/common/migration/index.mdx @@ -23,7 +23,7 @@ We're dropping support for some of the old target frameworks. See this [GitHub D ### Sentry Self-Hosted Compatibility If you're using `sentry.io` this change does not affect you. -This SDK version is compatible with a self-hosted version of Sentry `22.12.0` or higher. If you are using an older version of [self-hosted Sentry](https://develop.sentry.dev/self-hosted/) (aka on-premise), you will need to [upgrade](https://develop.sentry.dev/self-hosted/releases/). +This SDK version is compatible with a self-hosted version of Sentry `22.12.0` or higher. If you are using an older version of [self-hosted Sentry](https://develop.sentry.dev/self-hosted/) (aka on-premise), you will need to [upgrade](https://develop.sentry.dev/self-hosted/releases/). ### Significant Changes in Behavior @@ -36,7 +36,7 @@ This SDK version is compatible with a self-hosted version of Sentry `22.12.0` or false ``` -- Transactions' spans are no longer automatically finished with the status `deadline_exceeded` by the transaction. This is now handled by [Relay](https://github.com/getsentry/relay). +- Transactions' spans are no longer automatically finished with the status `deadline_exceeded` by the transaction. This is now handled by [Relay](https://github.com/getsentry/relay). - Customers self hosting Sentry must use version `22.12.0` or later - The `User.IpAddress` is now set to `{{auto}}` by default, even when `sendDefaultPII` is disabled. - To prevent sending IP addresses, use the "Prevent Storing of IP Addresses" option in the "Security & Privacy" project settings on sentry.io. @@ -121,7 +121,7 @@ This SDK version is compatible with a self-hosted version of Sentry `22.12.0` or - `Runtime.Clone()` - this shouldn't have been public in the past and has no replacement. - `AssemblyExtensions` - this shouldn't have been public in the past and has no replacement. - `SentryDatabaseLogging.UseBreadcrumbs()` - it is called automatically and has no replacement. -- A number of interfaces have removed: +- A number of interfaces have removed: - `IHasMeasurements` - use `ISpanData` instead. - `IHasBreadcrumbs` - use `IEventLike` instead. - `ISpanContext` - use `ITraceContext` instead. @@ -248,7 +248,7 @@ The replacement is the option `MaxRequestBodySize`. #### New Methods on `IHub` and `ISentryClient` -Sentry's performance monitoring capabilities requires additive API changes to interfaces such as `IHub` and `ISentryClient`. If you implement your own `IHub`, you'll need to implement two new methods: +Sentry's tracing capabilities requires additive API changes to interfaces such as `IHub` and `ISentryClient`. If you implement your own `IHub`, you'll need to implement two new methods: `ISentryClient` received: `CaptureTransaction`. `IHub` received: `StartTransaction` and `GetTraceHeader`. diff --git a/docs/platforms/dotnet/common/performance/index.mdx b/docs/platforms/dotnet/common/performance/index.mdx deleted file mode 100644 index 92192c7757b6e..0000000000000 --- a/docs/platforms/dotnet/common/performance/index.mdx +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: Set Up Performance -description: "Learn how to enable performance monitoring in your app if it is not already set up." -sidebar_order: 4000 ---- - -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. Learn more about our model in [Distributed Tracing](/product/sentry-basics/tracing/distributed-tracing/). - - - -If you’re adopting Performance in a high-throughput environment, we recommend testing prior to deployment to ensure that your service’s performance characteristics maintain expectations. - - - -## Configure - -First, enable tracing and configure the sampling rate for transactions. Set the sample rate for your transactions by either: - -- Setting a uniform sample rate for all transactions using the option in your SDK config to a number between `0` and `1`. (For example, to send 20% of transactions, set to `0.2`.) -- Controlling the sample rate based on the transaction itself and the context in which it's captured, by providing a function to the config option. - -The two options are meant to be mutually exclusive. If you set both, will take precedence. - - - -Learn more about performance monitoring options, how to use the TracesSampler function, or how to sample transactions. - -## Verify - -Test out tracing by starting and finishing a transaction, which you _must_ do so transactions can be sent to Sentry. Learn how in our Custom Instrumentation content. - -While you're testing, set to `1.0`, as that ensures that every transaction will be sent to Sentry. - -Once testing is complete, you may want to set a lower value, or switch to using to selectively sample and filter your transactions, based on contextual data. - -## Next Steps - - diff --git a/docs/platforms/dotnet/common/performance/instrumentation/index.mdx b/docs/platforms/dotnet/common/performance/instrumentation/index.mdx deleted file mode 100644 index 31b4b4f67612f..0000000000000 --- a/docs/platforms/dotnet/common/performance/instrumentation/index.mdx +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Instrumentation -description: "Learn how to instrument performance in your app." -sidebar_order: 20 ---- - -Instrumenting performance monitoring is specific to your SDK. - - diff --git a/docs/platforms/dotnet/common/profiling/index.mdx b/docs/platforms/dotnet/common/profiling/index.mdx index 3690ae2a714af..8b3f31ccbfdc0 100644 --- a/docs/platforms/dotnet/common/profiling/index.mdx +++ b/docs/platforms/dotnet/common/profiling/index.mdx @@ -29,7 +29,7 @@ Additionally, for all platforms except iOS/Mac Catalyst, you need to add a depen dotnet add package Sentry.Profiling ``` -Profiling depends on Sentry’s performance monitoring product being enabled beforehand. To enable performance monitoring in the SDK, set the `TracesSampleRate` option to the desired value. +Profiling depends on Sentry’s tracing product being enabled beforehand. To enable tracing in the SDK, set the `TracesSampleRate` option to the desired value. ```csharp {tabTitle:Windows/Linux/macOS} SentrySdk.Init(options => @@ -74,6 +74,6 @@ SentrySdk.Init(options => ### -Check out the performance setup documentation for more detailed information on how to configure sampling. +Check out the tracing setup documentation for more detailed information on how to configure sampling. Setting the traces sample rate to 1.0 means all transactions will be captured. Setting the profiles sample rate to 1.0 means all captured transactions will be profiled. diff --git a/docs/platforms/dotnet/common/profiling/troubleshooting/index.mdx b/docs/platforms/dotnet/common/profiling/troubleshooting/index.mdx index 688a978e4232a..a74bdea9dc748 100644 --- a/docs/platforms/dotnet/common/profiling/troubleshooting/index.mdx +++ b/docs/platforms/dotnet/common/profiling/troubleshooting/index.mdx @@ -1,16 +1,16 @@ --- title: Troubleshooting description: "Learn how to troubleshoot your profiling setup." -sidebar_order: 5000 +sidebar_order: 9000 --- ### Profiles are not showing up If you don't see any profiling data in [sentry.io](https://sentry.io), you can try the following: -- Ensure that performance monitoring is enabled. +- Ensure that Tracing is enabled. - Ensure that the automatic instrumentation is sending performance data to Sentry by going to the **Performance** page in [sentry.io](https://sentry.io). -- If the automatic instrumentation is not sending performance data, try using custom instrumentation. +- If the automatic instrumentation is not sending performance data, try using custom instrumentation. - Enable debug mode in the SDK and check the logs. - If the transactions happen too soon after `Sentry.Init()`, they may not be captured yet. This is because the `ProfilingIntegration()` from `Sentry.Profiling` NuGet package initializes asynchronously by default. diff --git a/docs/platforms/dotnet/common/tracing/index.mdx b/docs/platforms/dotnet/common/tracing/index.mdx new file mode 100644 index 0000000000000..5c67d66942f9a --- /dev/null +++ b/docs/platforms/dotnet/common/tracing/index.mdx @@ -0,0 +1,42 @@ +--- +title: Set Up Tracing +description: "Learn how to enable tracing in your app and discover valuable performance insights of your application." +sidebar_order: 4000 +--- + +With [tracing](/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. Learn more about our model in [Distributed Tracing](/product/sentry-basics/tracing/distributed-tracing/). + + + +If you’re adopting Tracing in a high-throughput environment, we recommend testing prior to deployment to ensure that your service’s performance characteristics maintain expectations. + + + +## Configure + +First, enable tracing and configure the sample rate for transactions. Set the sample rate for your transactions by either: + +- Setting a uniform sample rate for all transactions using the option in your SDK config to a number between `0` and `1`. (For example, to send 20% of transactions, set to `0.2`.) +- Controlling the sample rate based on the transaction itself and the context in which it's captured, by providing a function to the config option. + +The two options are meant to be mutually exclusive. If you set both, will take precedence. + +```csharp {diff} +using Sentry; + ++ // Add this to the SDK initialization callback ++ // Example uniform sample rate: capture 100% of transactions ++ options.TracesSampleRate = 1.0; +``` + +Learn more about tracing options, how to use the TracesSampler function, or how to sample transactions. + +## Verify + +Test out tracing by starting and finishing a transaction, which you _must_ do so transactions can be sent to Sentry. Learn how in our Custom Instrumentation content. + +While you're testing, set to `1.0`, as that ensures that every transaction will be sent to Sentry. Once testing is complete, you may want to set a lower value, or switch to using to selectively sample and filter your transactions, based on contextual data. + +## Next Steps + + diff --git a/docs/platforms/dotnet/common/performance/instrumentation/automatic-instrumentation.mdx b/docs/platforms/dotnet/common/tracing/instrumentation/automatic-instrumentation.mdx similarity index 96% rename from docs/platforms/dotnet/common/performance/instrumentation/automatic-instrumentation.mdx rename to docs/platforms/dotnet/common/tracing/instrumentation/automatic-instrumentation.mdx index e7312e9e46dfd..1a82c3110ad05 100644 --- a/docs/platforms/dotnet/common/performance/instrumentation/automatic-instrumentation.mdx +++ b/docs/platforms/dotnet/common/tracing/instrumentation/automatic-instrumentation.mdx @@ -8,7 +8,7 @@ sidebar_order: 20 -If you are using Sentry's ASP.NET Core integration, trace propagation is enabled automatically on all clients created by an HTTP client factory. Read more about it here. +If you are using Sentry's ASP.NET Core integration, trace propagation is enabled automatically on all clients created by an HTTP client factory. Read more about it here. @@ -33,10 +33,10 @@ To avoid depleting performance quota, Sentry will only create request spans if t ```csharp var transaction = SentrySdk.StartTransaction("tutorial", "example"); SentrySdk.ConfigureScope(scope => scope.Transaction = transaction); - + // The SentryHttpMessageHandler will automatically create a span for the request var response = await httpClient.GetStringAsync("https://example.com"); - + transaction.Finish(); ``` diff --git a/docs/platforms/php/common/performance/instrumentation/custom-instrumentation.mdx b/docs/platforms/dotnet/common/tracing/instrumentation/custom-instrumentation.mdx similarity index 80% rename from docs/platforms/php/common/performance/instrumentation/custom-instrumentation.mdx rename to docs/platforms/dotnet/common/tracing/instrumentation/custom-instrumentation.mdx index add6773ee1f09..a9e53aaa98de7 100644 --- a/docs/platforms/php/common/performance/instrumentation/custom-instrumentation.mdx +++ b/docs/platforms/dotnet/common/tracing/instrumentation/custom-instrumentation.mdx @@ -6,7 +6,7 @@ sidebar_order: 20 -To capture transactions and spans customized to your organization's needs, you must first set up performance monitoring. +To capture transactions and spans customized to your organization's needs, you must first set up tracing. diff --git a/docs/platforms/dotnet/common/tracing/instrumentation/index.mdx b/docs/platforms/dotnet/common/tracing/instrumentation/index.mdx new file mode 100644 index 0000000000000..eaac9e016be4c --- /dev/null +++ b/docs/platforms/dotnet/common/tracing/instrumentation/index.mdx @@ -0,0 +1,7 @@ +--- +title: Instrumentation +description: "Learn how to instrument tracing in your app." +sidebar_order: 20 +--- + + diff --git a/docs/platforms/dotnet/common/performance/instrumentation/opentelemetry.mdx b/docs/platforms/dotnet/common/tracing/instrumentation/opentelemetry.mdx similarity index 100% rename from docs/platforms/dotnet/common/performance/instrumentation/opentelemetry.mdx rename to docs/platforms/dotnet/common/tracing/instrumentation/opentelemetry.mdx diff --git a/docs/platforms/dotnet/common/performance/instrumentation/performance-metrics.mdx b/docs/platforms/dotnet/common/tracing/instrumentation/performance-metrics.mdx similarity index 100% rename from docs/platforms/dotnet/common/performance/instrumentation/performance-metrics.mdx rename to docs/platforms/dotnet/common/tracing/instrumentation/performance-metrics.mdx diff --git a/docs/platforms/dotnet/common/distributed-tracing/custom-instrumentation/index.mdx b/docs/platforms/dotnet/common/tracing/trace-propagation/custom-instrumentation/index.mdx similarity index 100% rename from docs/platforms/dotnet/common/distributed-tracing/custom-instrumentation/index.mdx rename to docs/platforms/dotnet/common/tracing/trace-propagation/custom-instrumentation/index.mdx diff --git a/docs/platforms/dotnet/common/distributed-tracing/dealing-with-cors-issues/index.mdx b/docs/platforms/dotnet/common/tracing/trace-propagation/dealing-with-cors-issues/index.mdx similarity index 100% rename from docs/platforms/dotnet/common/distributed-tracing/dealing-with-cors-issues/index.mdx rename to docs/platforms/dotnet/common/tracing/trace-propagation/dealing-with-cors-issues/index.mdx diff --git a/docs/platforms/dotnet/common/tracing/trace-propagation/index.mdx b/docs/platforms/dotnet/common/tracing/trace-propagation/index.mdx new file mode 100644 index 0000000000000..73523e4c8c435 --- /dev/null +++ b/docs/platforms/dotnet/common/tracing/trace-propagation/index.mdx @@ -0,0 +1,34 @@ +--- +title: Trace Propagation +description: "Learn how to connect events across applications/services." +sidebar_order: 30 +--- + +If the overall application landscape that you want to observe with Sentry consists of more than just a single service or application, distributed tracing can add a lot of value. + +## What is Distributed Tracing? + +In the context of tracing events across a distributed system, distributed tracing acts as a powerful debugging tool. Imagine your application as a vast network of interconnected parts. For example, your system might be spread across different servers or your application might split into different backend and frontend services, each potentially having their own technology stack. + +When an error or performance issue occurs, it can be challenging to pinpoint the root cause due to the complexity of such a system. Distributed tracing helps you follow the path of an event as it travels through this intricate web, recording every step it takes. By examining these traces, you can reconstruct the sequence of events leading up to the event of interest, identify the specific components involved, and understand their interactions. This detailed visibility enables you to diagnose and resolve issues more effectively, ultimately improving the reliability and performance of your distributed system. + +## Basic Example + +Here's an example showing a distributed trace in Sentry: + + + +This distributed trace shows a Vue app's `pageload` making a request to a Python backend, which then calls the `/api` endpoint of a Ruby microservice. + +What happens in the background is that Sentry uses reads and further propagates two HTTP headers between your applications: + +- `sentry-trace` +- `baggage` + +If you run any JavaScript applications in your distributed system, make sure that those two headers are added to your CORS allowlist and won't be blocked or stripped by your proxy servers, gateways, or firewalls. + +## How to Use Distributed Tracing? + + + +Remember that in order to propagate trace information through your whole distributed system, you have to use Sentry in all of the involved services and applications. Take a look at the respective SDK documentation to learn how distributed tracing can be enabled for each platform. diff --git a/docs/platforms/go/common/performance/troubleshooting/index.mdx b/docs/platforms/dotnet/common/tracing/troubleshooting/index.mdx similarity index 92% rename from docs/platforms/go/common/performance/troubleshooting/index.mdx rename to docs/platforms/dotnet/common/tracing/troubleshooting/index.mdx index ae3f809c8df2c..91680e839de3e 100644 --- a/docs/platforms/go/common/performance/troubleshooting/index.mdx +++ b/docs/platforms/dotnet/common/tracing/troubleshooting/index.mdx @@ -1,7 +1,7 @@ --- title: Troubleshooting -description: "Learn how to troubleshoot your performance monitoring setup." -sidebar_order: 40 +description: "Learn how to troubleshoot your tracing setup." +sidebar_order: 9000 --- If you need help managing transactions, you can read more here. If you need additional help, you can ask on GitHub. Customers on a paid plan may also contact support. diff --git a/docs/platforms/dotnet/guides/aspnet/performance/included-instrumentation.mdx b/docs/platforms/dotnet/guides/aspnet/tracing/included-instrumentation.mdx similarity index 94% rename from docs/platforms/dotnet/guides/aspnet/performance/included-instrumentation.mdx rename to docs/platforms/dotnet/guides/aspnet/tracing/included-instrumentation.mdx index eb6916e885827..f81637aa9fede 100644 --- a/docs/platforms/dotnet/guides/aspnet/performance/included-instrumentation.mdx +++ b/docs/platforms/dotnet/guides/aspnet/tracing/included-instrumentation.mdx @@ -6,7 +6,7 @@ description: "Learn what transactions are captured after tracing is enabled." -Capturing transactions requires that you first set up performance monitoring if you haven't already. You'll also need to enable the base Sentry integration. +Capturing transactions requires that you first set up tracing if you haven't already. You'll also need to enable the base Sentry integration. diff --git a/docs/platforms/dotnet/guides/aspnet/performance/troubleshooting.mdx b/docs/platforms/dotnet/guides/aspnet/tracing/troubleshooting.mdx similarity index 98% rename from docs/platforms/dotnet/guides/aspnet/performance/troubleshooting.mdx rename to docs/platforms/dotnet/guides/aspnet/tracing/troubleshooting.mdx index 44681c186bbce..1762c45c8ce55 100644 --- a/docs/platforms/dotnet/guides/aspnet/performance/troubleshooting.mdx +++ b/docs/platforms/dotnet/guides/aspnet/tracing/troubleshooting.mdx @@ -1,6 +1,6 @@ --- title: Troubleshooting -sidebar_order: 100 +sidebar_order: 9000 description: "Learn more about how to troubleshoot performance issues with the ASP.NET SDK." --- diff --git a/docs/platforms/dotnet/guides/aspnet/troubleshooting.mdx b/docs/platforms/dotnet/guides/aspnet/troubleshooting.mdx index 041193959991f..b35de2a282666 100644 --- a/docs/platforms/dotnet/guides/aspnet/troubleshooting.mdx +++ b/docs/platforms/dotnet/guides/aspnet/troubleshooting.mdx @@ -1,6 +1,6 @@ --- title: Troubleshooting -sidebar_order: 100 +sidebar_order: 9000 description: "Learn more about how to troubleshoot common issues with the ASP.NET SDK." --- diff --git a/docs/platforms/dotnet/guides/aspnetcore/index.mdx b/docs/platforms/dotnet/guides/aspnetcore/index.mdx index f75aeb78a6397..d86847489713b 100644 --- a/docs/platforms/dotnet/guides/aspnetcore/index.mdx +++ b/docs/platforms/dotnet/guides/aspnetcore/index.mdx @@ -8,7 +8,7 @@ Sentry provides an integration with ASP.NET Core through the [Sentry.AspNetCore -To enable tracing integration for ASP.NET Core, refer to this guide. +To enable tracing integration for ASP.NET Core, refer to this guide. @@ -132,7 +132,7 @@ An example of some of the options that can be configured via `appsettings.json`: }, ``` -Setting `TracesSampleRate` to `1.0` in this example configures Sentry to capture 100% of transactions for performance monitoring. We recommend adjusting this value in production. See Automatic Instrumentation for further information. +Setting `TracesSampleRate` to `1.0` in this example configures Sentry to capture 100% of transactions for tracing. We recommend adjusting this value in production. See Automatic Instrumentation for further information. ### Environment variables diff --git a/docs/platforms/dotnet/guides/aspnetcore/performance/instrumentation/automatic-instrumentation.mdx b/docs/platforms/dotnet/guides/aspnetcore/tracing/instrumentation/automatic-instrumentation.mdx similarity index 93% rename from docs/platforms/dotnet/guides/aspnetcore/performance/instrumentation/automatic-instrumentation.mdx rename to docs/platforms/dotnet/guides/aspnetcore/tracing/instrumentation/automatic-instrumentation.mdx index e29e8e9f06380..d20538d4508a3 100644 --- a/docs/platforms/dotnet/guides/aspnetcore/performance/instrumentation/automatic-instrumentation.mdx +++ b/docs/platforms/dotnet/guides/aspnetcore/tracing/instrumentation/automatic-instrumentation.mdx @@ -6,7 +6,7 @@ description: "Learn what transactions are captured after tracing is enabled." -Capturing transactions requires that you first set up performance monitoring if you haven't already. You'll also need to enable the base Sentry integration for ASP.NET Core. +Capturing transactions requires that you first set up tracing if you haven't already. You'll also need to enable the base Sentry integration for ASP.NET Core. diff --git a/docs/platforms/dotnet/guides/aws-lambda/index.mdx b/docs/platforms/dotnet/guides/aws-lambda/index.mdx index 6ad63b7a64131..cf56686935050 100644 --- a/docs/platforms/dotnet/guides/aws-lambda/index.mdx +++ b/docs/platforms/dotnet/guides/aws-lambda/index.mdx @@ -41,7 +41,7 @@ public class LambdaEntryPoint : Amazon.Lambda.AspNetCoreServer.APIGatewayProxyFu // When configuring for the first time, to see what the SDK is doing: o.Debug = true; // Set TracesSampleRate to 1.0 to capture 100% - // of transactions for performance monitoring. + // of transactions for tracing. // We recommend adjusting this value in production o.TracesSampleRate = 1.0; // Required in Serverless environments diff --git a/docs/platforms/dotnet/guides/entityframework/index.mdx b/docs/platforms/dotnet/guides/entityframework/index.mdx index 6f27da2342ed9..106d340536e22 100644 --- a/docs/platforms/dotnet/guides/entityframework/index.mdx +++ b/docs/platforms/dotnet/guides/entityframework/index.mdx @@ -6,7 +6,7 @@ description: "Learn about Sentry's .NET integration with Entity Framework." Sentry provides an integration with `EntityFramework` through the of the [Sentry.EntityFramework NuGet package](https://www.nuget.org/packages/Sentry.EntityFramework). -> Looking for `EntityFramework Core`? If you're targeting .NET Core 3.1 or newer, that's already built in to the main Sentry .NET SDK. It's also enabled by default for our ASP.NET or ASP.NET Core integrations, even for older targets. For other scenarios, you may need to add the `Sentry.DiagnosticSource` package and call `AddDiagnosticSourceIntegration`, [as described here](/platforms/dotnet/performance/instrumentation/automatic-instrumentation/#diagnosticsource-integration). (The rest of this page describes our EF6 integration, not EFCore.) +> Looking for `EntityFramework Core`? If you're targeting .NET Core 3.1 or newer, that's already built in to the main Sentry .NET SDK. It's also enabled by default for our ASP.NET or ASP.NET Core integrations, even for older targets. For other scenarios, you may need to add the `Sentry.DiagnosticSource` package and call `AddDiagnosticSourceIntegration`, [as described here](/platforms/dotnet/tracing/instrumentation/automatic-instrumentation/#diagnosticsource-integration). (The rest of this page describes our EF6 integration, not EFCore.) ## Installation diff --git a/docs/platforms/dotnet/guides/maui/index.mdx b/docs/platforms/dotnet/guides/maui/index.mdx index f91037a7d6198..b01b37eb1ed32 100644 --- a/docs/platforms/dotnet/guides/maui/index.mdx +++ b/docs/platforms/dotnet/guides/maui/index.mdx @@ -57,7 +57,7 @@ public static MauiApp CreateMauiApp() // This option is not recommended when deploying your application. options.Debug = true; - // Set TracesSampleRate to 1.0 to capture 100% of transactions for performance monitoring. + // Set TracesSampleRate to 1.0 to capture 100% of transactions for tracing. // We recommend adjusting this value in production. options.TracesSampleRate = 1.0; diff --git a/docs/platforms/dotnet/guides/uwp/index.mdx b/docs/platforms/dotnet/guides/uwp/index.mdx index ca536a61fd74e..4d5b97ce5bd4a 100644 --- a/docs/platforms/dotnet/guides/uwp/index.mdx +++ b/docs/platforms/dotnet/guides/uwp/index.mdx @@ -36,7 +36,7 @@ sealed partial class App : Application // When configuring for the first time, to see what the SDK is doing: o.Debug = true; - // Set traces_sample_rate to 1.0 to capture 100% of transactions for performance monitoring. + // Set traces_sample_rate to 1.0 to capture 100% of transactions for tracing. // We recommend adjusting this value in production. o.TracesSampleRate = 1.0; diff --git a/docs/platforms/dotnet/guides/winforms/index.mdx b/docs/platforms/dotnet/guides/winforms/index.mdx index 5032ead31b117..6dee633d0b110 100644 --- a/docs/platforms/dotnet/guides/winforms/index.mdx +++ b/docs/platforms/dotnet/guides/winforms/index.mdx @@ -51,7 +51,7 @@ namespace WindowsFormsApp1 // When configuring for the first time, to see what the SDK is doing: Debug = true, - // Set traces_sample_rate to 1.0 to capture 100% of transactions for performance monitoring. + // Set traces_sample_rate to 1.0 to capture 100% of transactions for tracing. // We recommend adjusting this value in production. TracesSampleRate = 1.0, diff --git a/docs/platforms/dotnet/guides/winui/index.mdx b/docs/platforms/dotnet/guides/winui/index.mdx index c1667b6f913f5..e5b6bd30aa9df 100644 --- a/docs/platforms/dotnet/guides/winui/index.mdx +++ b/docs/platforms/dotnet/guides/winui/index.mdx @@ -35,7 +35,7 @@ sealed partial class App : Application // When configuring for the first time, to see what the SDK is doing: o.Debug = true; - // Set traces_sample_rate to 1.0 to capture 100% of transactions for performance monitoring. + // Set traces_sample_rate to 1.0 to capture 100% of transactions for tracing. // We recommend adjusting this value in production. o.TracesSampleRate = 1.0; @@ -84,7 +84,7 @@ sealed partial class App : Application // When configuring for the first time, to see what the SDK is doing: o.Debug = true; - // Set traces_sample_rate to 1.0 to capture 100% of transactions for performance monitoring. + // Set traces_sample_rate to 1.0 to capture 100% of transactions for tracing. // We recommend adjusting this value in production. o.TracesSampleRate = 1.0; diff --git a/docs/platforms/dotnet/guides/wpf/index.mdx b/docs/platforms/dotnet/guides/wpf/index.mdx index e73a9692c5ca1..749dcfd8e7fbf 100644 --- a/docs/platforms/dotnet/guides/wpf/index.mdx +++ b/docs/platforms/dotnet/guides/wpf/index.mdx @@ -34,7 +34,7 @@ public partial class App : Application // When configuring for the first time, to see what the SDK is doing: o.Debug = true; - // Set traces_sample_rate to 1.0 to capture 100% of transactions for performance monitoring. + // Set traces_sample_rate to 1.0 to capture 100% of transactions for tracing. // We recommend adjusting this value in production. o.TracesSampleRate = 1.0; diff --git a/docs/platforms/dotnet/guides/xamarin/data-management/apple-privacy-manifest.mdx b/docs/platforms/dotnet/guides/xamarin/data-management/apple-privacy-manifest.mdx index 8dbd59a6c29a5..19f96a5451089 100644 --- a/docs/platforms/dotnet/guides/xamarin/data-management/apple-privacy-manifest.mdx +++ b/docs/platforms/dotnet/guides/xamarin/data-management/apple-privacy-manifest.mdx @@ -8,7 +8,7 @@ sidebar_order: 50 This guide requires [@sentry/xamarin@2.1.0](https://github.com/getsentry/sentry-xamarin/releases/tag/2.1.0) or newer. -Sentry's SDKs provide error and performance monitoring for mobile applications running on Apple devices. To do this, the SDK needs to access certain information about the device and the application. Some of the APIs required for this are considered privacy-relevant by Apple. In order to submit apps to the App Store, Apple requires all apps - and libraries used within these apps - to provide privacy manifest files stating which APIs are used under which allowed reasons. For more details, read Apple's guidelines on [Describing use of required reason API](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api). +Sentry's SDKs provide error and tracing for mobile applications running on Apple devices. To do this, the SDK needs to access certain information about the device and the application. Some of the APIs required for this are considered privacy-relevant by Apple. In order to submit apps to the App Store, Apple requires all apps - and libraries used within these apps - to provide privacy manifest files stating which APIs are used under which allowed reasons. For more details, read Apple's guidelines on [Describing use of required reason API](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api). The information and steps in this guide are still being worked on and might change because of new tools or updated [Apple requirements](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files). diff --git a/docs/platforms/dotnet/guides/xamarin/troubleshooting.mdx b/docs/platforms/dotnet/guides/xamarin/troubleshooting.mdx index 7875ea84f55f8..df4a25607bd99 100644 --- a/docs/platforms/dotnet/guides/xamarin/troubleshooting.mdx +++ b/docs/platforms/dotnet/guides/xamarin/troubleshooting.mdx @@ -1,6 +1,6 @@ --- title: Troubleshooting -sidebar_order: 100 +sidebar_order: 9000 description: "Learn more about how to troubleshoot common issues with the Xamarin SDK." --- diff --git a/docs/platforms/elixir/crons/troubleshooting.mdx b/docs/platforms/elixir/crons/troubleshooting.mdx index a55c71575ba8a..9d92124e718c5 100644 --- a/docs/platforms/elixir/crons/troubleshooting.mdx +++ b/docs/platforms/elixir/crons/troubleshooting.mdx @@ -1,7 +1,7 @@ --- title: Troubleshooting description: "Learn how to troubleshoot your Cron Monitoring setup." -sidebar_order: 500 +sidebar_order: 9000 --- diff --git a/docs/platforms/flutter/configuration/options.mdx b/docs/platforms/flutter/configuration/options.mdx index a548fe0d5589c..ab883b4166bd0 100644 --- a/docs/platforms/flutter/configuration/options.mdx +++ b/docs/platforms/flutter/configuration/options.mdx @@ -281,7 +281,7 @@ Set this boolean to `true` to automatically attach all threads to all logged eve -Set this boolean to `false` to disable auto [performance monitoring](/product/performance/) tracking. +Set this boolean to `false` to disable auto [tracing](/product/performance/) tracking. diff --git a/docs/platforms/flutter/configuration/sampling.mdx b/docs/platforms/flutter/configuration/sampling.mdx index 8090006ae9c86..322d5ba1034f7 100644 --- a/docs/platforms/flutter/configuration/sampling.mdx +++ b/docs/platforms/flutter/configuration/sampling.mdx @@ -72,7 +72,7 @@ When using custom instrumentation to create a transaction, you can add data to t Whatever a transaction's sampling decision, that decision will be passed to its child spans and from there to any transactions they subsequently cause in other services. -(See Distributed Tracing for more about how that propagation is done.) +(See Distributed Tracing for more about how that propagation is done.) If the transaction currently being created is one of those subsequent transactions (in other words, if it has a parent transaction), the upstream (parent) sampling decision will be included in the sampling context data. Your can use this information to choose whether to inherit that decision. In most cases, inheritance is the right choice, to avoid breaking distributed traces. A broken trace will not include all your services. diff --git a/docs/platforms/flutter/data-management/apple-privacy-manifest.mdx b/docs/platforms/flutter/data-management/apple-privacy-manifest.mdx index 0dacaa4c6bf62..98e5d58a3ffca 100644 --- a/docs/platforms/flutter/data-management/apple-privacy-manifest.mdx +++ b/docs/platforms/flutter/data-management/apple-privacy-manifest.mdx @@ -8,7 +8,7 @@ sidebar_order: 50 This guide requires [@sentry/dart@7.20.1](https://github.com/getsentry/sentry-dart/releases/tag/7.20.1) or newer. -Sentry's SDKs provide error and performance monitoring for mobile applications running on Apple devices. To do this, the SDK needs to access certain information about the device and the application. Some of the APIs required for this are considered privacy-relevant by Apple. In order to submit apps to the App Store, Apple requires all apps - and libraries used within these apps - to provide privacy manifest files stating which APIs are used under which allowed reasons. For more details, read Apple's guidelines on [Describing use of required reason API](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api). +Sentry's SDKs provide error and tracing for mobile applications running on Apple devices. To do this, the SDK needs to access certain information about the device and the application. Some of the APIs required for this are considered privacy-relevant by Apple. In order to submit apps to the App Store, Apple requires all apps - and libraries used within these apps - to provide privacy manifest files stating which APIs are used under which allowed reasons. For more details, read Apple's guidelines on [Describing use of required reason API](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api). The information and steps in this guide are still being worked on and might change because of new tools or updated [Apple requirements](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files). diff --git a/docs/platforms/flutter/index.mdx b/docs/platforms/flutter/index.mdx index 0e87ec70fa2e8..07911ca946a02 100644 --- a/docs/platforms/flutter/index.mdx +++ b/docs/platforms/flutter/index.mdx @@ -50,7 +50,7 @@ Future main() async { await SentryFlutter.init( (options) { options.dsn = '___PUBLIC_DSN___'; - // Set tracesSampleRate to 1.0 to capture 100% of transactions for performance monitoring. + // Set tracesSampleRate to 1.0 to capture 100% of transactions for tracing. // We recommend adjusting this value in production. options.tracesSampleRate = 1.0; // The sampling rate for profiling is relative to tracesSampleRate @@ -87,4 +87,4 @@ try { - Learn about the features of Sentry's Flutter SDK - Add readable stack traces to errors -- Add performance instrumentation to your app +- Add performance instrumentation to your app diff --git a/docs/platforms/flutter/integrations/app-start-instrumentation.mdx b/docs/platforms/flutter/integrations/app-start-instrumentation.mdx index 1ea3281cca175..4c413a81656ea 100644 --- a/docs/platforms/flutter/integrations/app-start-instrumentation.mdx +++ b/docs/platforms/flutter/integrations/app-start-instrumentation.mdx @@ -22,8 +22,8 @@ Before diving into the configuration, it's important to understand how app start Before starting, ensure: -1. The Sentry Flutter SDK is nitialized. Learn more [here](/platforms/flutter/#configure) -2. Performance Monitoring is set up. Learn more [here](/platforms/flutter/performance/). +1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/flutter/#configure) +2. Tracing is set up. Learn more [here](/platforms/flutter/tracing/). ## Configure diff --git a/docs/platforms/flutter/integrations/asset-bundle-instrumentation.mdx b/docs/platforms/flutter/integrations/asset-bundle-instrumentation.mdx index 051b6807a02fe..2a0a7cad75eb6 100644 --- a/docs/platforms/flutter/integrations/asset-bundle-instrumentation.mdx +++ b/docs/platforms/flutter/integrations/asset-bundle-instrumentation.mdx @@ -22,7 +22,7 @@ The instrumentation starts a span from an active transaction that's bound to the Before starting, ensure: 1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/flutter/#configure). -2. Performance Monitoring is set up. Learn more [here](/platforms/flutter/performance/). +2. Tracing is set up. Learn more [here](/platforms/flutter/tracing/). ## Configure diff --git a/docs/platforms/flutter/integrations/drift-instrumentation.mdx b/docs/platforms/flutter/integrations/drift-instrumentation.mdx index 763ba2235c70b..768a80ad49e2a 100644 --- a/docs/platforms/flutter/integrations/drift-instrumentation.mdx +++ b/docs/platforms/flutter/integrations/drift-instrumentation.mdx @@ -24,7 +24,7 @@ The created spans will be attached to the transaction on the scope - if no trans Before starting, ensure: 1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/flutter/#configure). -2. Performance Monitoring is set up. Learn more [here](/platforms/flutter/performance/). +2. Tracing is set up. Learn more [here](/platforms/flutter/tracing/). ## Install diff --git a/docs/platforms/flutter/integrations/hive-instrumentation.mdx b/docs/platforms/flutter/integrations/hive-instrumentation.mdx index 8a665388c0a00..af5f70d65be2e 100644 --- a/docs/platforms/flutter/integrations/hive-instrumentation.mdx +++ b/docs/platforms/flutter/integrations/hive-instrumentation.mdx @@ -24,7 +24,7 @@ The created spans will be attached to the transaction on the scope - if no trans Before starting, ensure: 1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/flutter/#configure). -2. Performance Monitoring is set up. Learn more [here](/platforms/flutter/performance/). +2. Tracing is set up. Learn more [here](/platforms/flutter/tracing/). ## Install diff --git a/docs/platforms/flutter/integrations/isar-instrumentation.mdx b/docs/platforms/flutter/integrations/isar-instrumentation.mdx index 5d750a6042aad..617ecb2b5debd 100644 --- a/docs/platforms/flutter/integrations/isar-instrumentation.mdx +++ b/docs/platforms/flutter/integrations/isar-instrumentation.mdx @@ -24,7 +24,7 @@ The created spans will be attached to the transaction on the scope. If no transa Before starting, ensure: 1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/flutter/#configure). -2. Performance Monitoring is set up. Learn more [here](/platforms/flutter/performance/). +2. Tracing is set up. Learn more [here](/platforms/flutter/tracing/). ## Install diff --git a/docs/platforms/flutter/integrations/routing-instrumentation.mdx b/docs/platforms/flutter/integrations/routing-instrumentation.mdx index 081cb3085aed1..3c6da6530d29c 100644 --- a/docs/platforms/flutter/integrations/routing-instrumentation.mdx +++ b/docs/platforms/flutter/integrations/routing-instrumentation.mdx @@ -22,7 +22,7 @@ The routing instrumentation feature is shipped with Sentry's Flutter SDK automat Before starting, ensure: 1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/flutter/#configure). -2. Performance Monitoring is set up. Learn more [here](/platforms/flutter/performance/). +2. Tracing is set up. Learn more [here](/platforms/flutter/tracing/). ## Configure diff --git a/docs/platforms/flutter/integrations/slow-and-frozen-frames-instrumentation.mdx b/docs/platforms/flutter/integrations/slow-and-frozen-frames-instrumentation.mdx index 08edfa80c1172..f53d0f71cb7a2 100644 --- a/docs/platforms/flutter/integrations/slow-and-frozen-frames-instrumentation.mdx +++ b/docs/platforms/flutter/integrations/slow-and-frozen-frames-instrumentation.mdx @@ -21,7 +21,7 @@ Slow and frozen frames are retrieved directly from the native layer, not the Flu Before starting, ensure: 1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/flutter/#configure). -2. Performance Monitoring is set up. Learn more [here](/platforms/flutter/performance/). +2. Tracing is set up. Learn more [here](/platforms/flutter/tracing/). 3. Routing Instrumentation is set up. Learn more [here](/platforms/flutter/integrations/routing-instrumentation/). ## Configure diff --git a/docs/platforms/flutter/integrations/sqflite-instrumentation.mdx b/docs/platforms/flutter/integrations/sqflite-instrumentation.mdx index e13bfc8ab4c51..e3379ed53aec1 100644 --- a/docs/platforms/flutter/integrations/sqflite-instrumentation.mdx +++ b/docs/platforms/flutter/integrations/sqflite-instrumentation.mdx @@ -24,7 +24,7 @@ The [sentry_sqflite](https://pub.dev/packages/sentry_sqflite) package provides ` Before starting, ensure: 1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/flutter/#configure). -2. Performance Monitoring is set up. Learn more [here](/platforms/flutter/performance/). +2. Tracing is set up. Learn more [here](/platforms/flutter/tracing/). ## Install diff --git a/docs/platforms/flutter/integrations/user-interaction-instrumentation.mdx b/docs/platforms/flutter/integrations/user-interaction-instrumentation.mdx index bd52ebefae183..b10dd01c3e4f6 100644 --- a/docs/platforms/flutter/integrations/user-interaction-instrumentation.mdx +++ b/docs/platforms/flutter/integrations/user-interaction-instrumentation.mdx @@ -25,7 +25,7 @@ Before diving into the configuration, it's important to understand how user inte Before starting, ensure: 1. The Sentry Flutter SDK is initialized. Learn more [here](/platforms/flutter/#configure). -2. Performance Monitoring is set up. Learn more [here](/platforms/flutter/performance/). +2. Tracing is set up. Learn more [here](/platforms/flutter/tracing/). ## Configure diff --git a/docs/platforms/flutter/metrics/index.mdx b/docs/platforms/flutter/metrics/index.mdx index 918993432a451..601cb62a0a351 100644 --- a/docs/platforms/flutter/metrics/index.mdx +++ b/docs/platforms/flutter/metrics/index.mdx @@ -1,6 +1,7 @@ --- title: Set Up Metrics description: "Learn how to measure the data points you care about by configuring Metrics in your Flutter app." +sidebar_order: 6000 --- @@ -12,7 +13,7 @@ Metrics are supported with Sentry Flutter SDK version `7.19.0` and above. Sentry metrics help you pinpoint and solve issues that impact user experience and app performance by measuring the data points that are important to you. You can track things like processing time, event size, user signups, and conversion rates, then correlate them back to tracing data in order to get deeper insights and solve issues faster. -## Enabling the Metrics Feature +## Configure Here's how to add Metrics to your application: diff --git a/docs/platforms/flutter/performance/index.mdx b/docs/platforms/flutter/performance/index.mdx deleted file mode 100644 index a9d2a5f81e7e9..0000000000000 --- a/docs/platforms/flutter/performance/index.mdx +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: Set Up Performance -description: "Learn how to enable performance monitoring in your app if it is not already set up." -sidebar_order: 4000 ---- - -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. Learn more about our model in [Distributed Tracing](/product/sentry-basics/tracing/distributed-tracing/). - - - -If you’re adopting Performance in a high-throughput environment, we recommend testing prior to deployment to ensure that your service’s performance characteristics maintain expectations. - - - -## Configure - -First, enable tracing and configure the sampling rate for transactions. Set the sample rate for your transactions by either: - -- Setting a uniform sample rate for all transactions using the option in your SDK config to a number between `0` and `1`. (For example, to send 20% of transactions, set to `0.2`.) -- Controlling the sample rate based on the transaction itself and the context in which it's captured, by providing a function to the config option. - -The two options are meant to be mutually exclusive. If you set both, will take precedence. - - - -Learn more about performance monitoring options, how to use the tracesSampler function, or how to sample transactions. - -## Verify - -Verify that performance monitoring is working correctly by using our automatic instrumentation or by starting and finishing a transaction using custom instrumentation. - -Test out tracing by starting and finishing a transaction, which you _must_ do so transactions can be sent to Sentry. Learn how in our Custom Instrumentation content. - -While you're testing, set to `1.0`, as that ensures that every transaction will be sent to Sentry. - -Once testing is complete, you may want to set a lower value, or switch to using to selectively sample and filter your transactions, based on contextual data. - -## Next Steps - - diff --git a/docs/platforms/flutter/performance/instrumentation/index.mdx b/docs/platforms/flutter/performance/instrumentation/index.mdx deleted file mode 100644 index 31b4b4f67612f..0000000000000 --- a/docs/platforms/flutter/performance/instrumentation/index.mdx +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Instrumentation -description: "Learn how to instrument performance in your app." -sidebar_order: 20 ---- - -Instrumenting performance monitoring is specific to your SDK. - - diff --git a/docs/platforms/flutter/profiling/index.mdx b/docs/platforms/flutter/profiling/index.mdx index 1c5ff73fd16fb..00df85f5fb693 100644 --- a/docs/platforms/flutter/profiling/index.mdx +++ b/docs/platforms/flutter/profiling/index.mdx @@ -7,24 +7,24 @@ sidebar_order: 5000 -## Enable Performance Monitoring +## Enable Tracing -Profiling depends on Sentry’s performance monitoring product being enabled beforehand. To enable performance monitoring in the SDK: +Profiling depends on Sentry’s Tracing product being enabled beforehand. To enable tracing in the SDK: -```dart +```dart {diff} SentryFlutter.init( (options) => { options.dsn = '___PUBLIC_DSN___'; - // We recommend adjusting this value in production: - options.tracesSampleRate = 1.0; ++ // We recommend adjusting this value in production: ++ options.tracesSampleRate = 1.0; }, appRunner: () => runApp(MyApp()), ); ``` -Check out the performance setup documentation for more detailed information on how to configure sampling. Setting the sample rate to 1.0 means all transactions will be captured. +Check out the tracing setup documentation for more detailed information on how to configure sampling. Setting the sample rate to 1.0 means all transactions will be captured. ## Enable Profiling @@ -38,15 +38,15 @@ To enable profiling, set the `profilesSampleRate`: -```dart +```dart {diff} SentryFlutter.init( (options) => { options.dsn = '___PUBLIC_DSN___'; // We recommend adjusting this value in production: options.tracesSampleRate = 1.0; - // The sampling rate for profiling is relative to tracesSampleRate - // Setting to 1.0 will profile 100% of sampled transactions: - options.profilesSampleRate = 1.0; ++ // The sampling rate for profiling is relative to tracesSampleRate ++ // Setting to 1.0 will profile 100% of sampled transactions: ++ options.profilesSampleRate = 1.0; }, appRunner: () => runApp(MyApp()), ); diff --git a/docs/platforms/flutter/profiling/troubleshooting/index.mdx b/docs/platforms/flutter/profiling/troubleshooting/index.mdx index e8fc2b10e6dc0..e8d61cdf3461e 100644 --- a/docs/platforms/flutter/profiling/troubleshooting/index.mdx +++ b/docs/platforms/flutter/profiling/troubleshooting/index.mdx @@ -1,14 +1,14 @@ --- title: Troubleshooting description: "Learn how to troubleshoot your profiling setup." -sidebar_order: 5000 +sidebar_order: 9000 --- If you don't see any profiling data in [sentry.io](https://sentry.io), you can try the following: -- Ensure that performance monitoring is enabled. +- Ensure that Tracing is enabled. - Ensure that the automatic instrumentation is sending performance data to Sentry by going to the **Performance** page in [sentry.io](https://sentry.io). -- If the automatic instrumentation is not sending performance data, try using custom instrumentation. +- If the automatic instrumentation is not sending performance data, try using custom instrumentation. - Enable debug mode in the SDK and check the logs. ### Limitations diff --git a/docs/platforms/flutter/tracing/index.mdx b/docs/platforms/flutter/tracing/index.mdx new file mode 100644 index 0000000000000..3c8f0ff00637c --- /dev/null +++ b/docs/platforms/flutter/tracing/index.mdx @@ -0,0 +1,38 @@ +--- +title: Set Up Tracing +description: "Learn how to enable tracing in your app and discover valuable performance insights of your application." +sidebar_order: 4000 +--- + +With [tracing](/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. Learn more about our model in [Distributed Tracing](/product/sentry-basics/tracing/distributed-tracing/). + + + +If you’re adopting Tracing in a high-throughput environment, we recommend testing prior to deployment to ensure that your service’s performance characteristics maintain expectations. + + + +## Configure + +First, enable tracing and configure the sample rate for transactions. Set the sample rate for your transactions by either: + +- Setting a uniform sample rate for all transactions using the option in your SDK config to a number between `0` and `1`. (For example, to send 20% of transactions, set to `0.2`.) +- Controlling the sample rate based on the transaction itself and the context in which it's captured, by providing a function to the config option. + +The two options are meant to be mutually exclusive. If you set both, will take precedence. + + + +Learn more about tracing options, how to use the tracesSampler function, or how to sample transactions. + +## Verify + +Verify that tracing is working correctly by using our automatic instrumentation or by starting and finishing a transaction using custom instrumentation. + +Test out tracing by starting and finishing a transaction, which you _must_ do so transactions can be sent to Sentry. Learn how in our Custom Instrumentation content. + +While you're testing, set to `1.0`, as that ensures that every transaction will be sent to Sentry. Once testing is complete, you may want to set a lower value, or switch to using to selectively sample and filter your transactions, based on contextual data. + +## Next Steps + + diff --git a/docs/platforms/flutter/performance/instrumentation/automatic-instrumentation.mdx b/docs/platforms/flutter/tracing/instrumentation/automatic-instrumentation.mdx similarity index 97% rename from docs/platforms/flutter/performance/instrumentation/automatic-instrumentation.mdx rename to docs/platforms/flutter/tracing/instrumentation/automatic-instrumentation.mdx index 93c843056e903..1e930779696f1 100644 --- a/docs/platforms/flutter/performance/instrumentation/automatic-instrumentation.mdx +++ b/docs/platforms/flutter/tracing/instrumentation/automatic-instrumentation.mdx @@ -6,7 +6,7 @@ sidebar_order: 10 -Capturing transactions requires that you first set up performance monitoring if you haven't already. +Capturing transactions requires that you first set up tracing if you haven't already. diff --git a/docs/platforms/dart/performance/instrumentation/custom-instrumentation.mdx b/docs/platforms/flutter/tracing/instrumentation/custom-instrumentation.mdx similarity index 82% rename from docs/platforms/dart/performance/instrumentation/custom-instrumentation.mdx rename to docs/platforms/flutter/tracing/instrumentation/custom-instrumentation.mdx index f1d1d5bb6bccf..c34b1e38fe92f 100644 --- a/docs/platforms/dart/performance/instrumentation/custom-instrumentation.mdx +++ b/docs/platforms/flutter/tracing/instrumentation/custom-instrumentation.mdx @@ -6,7 +6,7 @@ sidebar_order: 20 -To capture transactions and spans customized to your organization's needs, you must first set up performance monitoring. +To capture transactions and spans customized to your organization's needs, you must first set up tracing. diff --git a/docs/platforms/flutter/tracing/instrumentation/index.mdx b/docs/platforms/flutter/tracing/instrumentation/index.mdx new file mode 100644 index 0000000000000..eaac9e016be4c --- /dev/null +++ b/docs/platforms/flutter/tracing/instrumentation/index.mdx @@ -0,0 +1,7 @@ +--- +title: Instrumentation +description: "Learn how to instrument tracing in your app." +sidebar_order: 20 +--- + + diff --git a/docs/platforms/flutter/performance/instrumentation/performance-metrics.mdx b/docs/platforms/flutter/tracing/instrumentation/performance-metrics.mdx similarity index 100% rename from docs/platforms/flutter/performance/instrumentation/performance-metrics.mdx rename to docs/platforms/flutter/tracing/instrumentation/performance-metrics.mdx diff --git a/docs/platforms/flutter/distributed-tracing/dealing-with-cors-issues/index.mdx b/docs/platforms/flutter/tracing/trace-propagation/dealing-with-cors-issues/index.mdx similarity index 100% rename from docs/platforms/flutter/distributed-tracing/dealing-with-cors-issues/index.mdx rename to docs/platforms/flutter/tracing/trace-propagation/dealing-with-cors-issues/index.mdx diff --git a/docs/platforms/dotnet/common/distributed-tracing/index.mdx b/docs/platforms/flutter/tracing/trace-propagation/index.mdx similarity index 98% rename from docs/platforms/dotnet/common/distributed-tracing/index.mdx rename to docs/platforms/flutter/tracing/trace-propagation/index.mdx index 2fa131dd15253..fb41f4dd98c48 100644 --- a/docs/platforms/dotnet/common/distributed-tracing/index.mdx +++ b/docs/platforms/flutter/tracing/trace-propagation/index.mdx @@ -1,5 +1,5 @@ --- -title: Set Up Distributed Tracing +title: Trace Propagation description: "Learn how to connect events across applications/services." sidebar_order: 3000 --- diff --git a/docs/platforms/flutter/distributed-tracing/limiting-trace-propagation/index.mdx b/docs/platforms/flutter/tracing/trace-propagation/limiting-trace-propagation/index.mdx similarity index 100% rename from docs/platforms/flutter/distributed-tracing/limiting-trace-propagation/index.mdx rename to docs/platforms/flutter/tracing/trace-propagation/limiting-trace-propagation/index.mdx diff --git a/docs/platforms/go/common/configuration/sampling.mdx b/docs/platforms/go/common/configuration/sampling.mdx index 6cb83279b7d6a..bc66495c36665 100644 --- a/docs/platforms/go/common/configuration/sampling.mdx +++ b/docs/platforms/go/common/configuration/sampling.mdx @@ -72,7 +72,7 @@ When using custom instrumentation to create a transaction, you can add data to t Whatever a transaction's sampling decision, that decision will be passed to its child spans and from there to any transactions they subsequently cause in other services. -(See Distributed Tracing for more about how that propagation is done.) +(See Distributed Tracing for more about how that propagation is done.) If the transaction currently being created is one of those subsequent transactions (in other words, if it has a parent transaction), the upstream (parent) sampling decision will be included in the sampling context data. Your can use this information to choose whether to inherit that decision. In most cases, inheritance is the right choice, to avoid breaking distributed traces. A broken trace will not include all your services. diff --git a/docs/platforms/go/common/distributed-tracing/index.mdx b/docs/platforms/go/common/distributed-tracing/index.mdx deleted file mode 100644 index 2fa131dd15253..0000000000000 --- a/docs/platforms/go/common/distributed-tracing/index.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: Set Up Distributed Tracing -description: "Learn how to connect events across applications/services." -sidebar_order: 3000 ---- - -If the overall application landscape that you want to observe with Sentry consists of more than just a single service or application, distributed tracing can add a lot of value. - -## What is Distributed Tracing? - -In the context of tracing events across a distributed system, distributed tracing acts as a powerful debugging tool. Imagine your application as a vast network of interconnected parts. For example, your system might be spread across different servers or your application might split into different backend and frontend services, each potentially having their own technology stack. - -When an error or performance issue occurs, it can be challenging to pinpoint the root cause due to the complexity of such a system. Distributed tracing helps you follow the path of an event as it travels through this intricate web, recording every step it takes. By examining these traces, you can reconstruct the sequence of events leading up to the event of interest, identify the specific components involved, and understand their interactions. This detailed visibility enables you to diagnose and resolve issues more effectively, ultimately improving the reliability and performance of your distributed system. - -## Basic Example - -Here's an example showing a distributed trace in Sentry: - - - -This distributed trace shows a Vue app's `pageload` making a request to a Python backend, which then calls the `/api` endpoint of a Ruby microservice. - -What happens in the background is that Sentry uses reads and further propagates two HTTP headers between your applications: - -- `sentry-trace` -- `baggage` - -If you run any JavaScript applications in your distributed system, make sure that those two headers are added to your CORS allowlist and won't be blocked or stripped by your proxy servers, gateways, or firewalls. - -## How to Use Distributed Tracing? - - - -Remember that in order to propagate trace information through your whole distributed system, you have to use Sentry in all of the involved services and applications. Take a look at the respective SDK documentation to learn how distributed tracing can be enabled for each platform. diff --git a/docs/platforms/go/common/enriching-events/transaction-name/index.mdx b/docs/platforms/go/common/enriching-events/transaction-name/index.mdx index fc959724579a8..2e202ccb1a9a1 100644 --- a/docs/platforms/go/common/enriching-events/transaction-name/index.mdx +++ b/docs/platforms/go/common/enriching-events/transaction-name/index.mdx @@ -24,4 +24,4 @@ To override the name of the currently running transaction: -Please refer to [the tracing documentation](../../performance/) for how to start and stop transactions. +Please refer to [the tracing documentation](../../tracing/) for how to start and stop transactions. diff --git a/docs/platforms/go/common/performance/index.mdx b/docs/platforms/go/common/performance/index.mdx deleted file mode 100644 index ac99794fc3278..0000000000000 --- a/docs/platforms/go/common/performance/index.mdx +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: Set Up Performance -description: "Learn how to set up performance monitoring in your app." -sidebar_order: 4000 ---- - -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. Learn more about our model in [Distributed Tracing](/product/sentry-basics/tracing/distributed-tracing/). - - - -If you’re adopting Performance in a high-throughput environment, we recommend testing prior to deployment to ensure that your service’s performance characteristics maintain expectations. - - - - - -## Configure - -First, enable tracing and configure the sampling rate for transactions. Set the sample rate for your transactions by either: - -- Setting a uniform sample rate for all transactions using the option in your SDK config to a number between `0` and `1`. (For example, to send 20% of transactions, set to `0.2`.) -- Controlling the sample rate based on the transaction itself and the context in which it's captured, by providing a function to the config option. - -The two options are meant to be mutually exclusive. If you set both, will take precedence. - - - -Learn more about performance monitoring options, how to use the TracesSampler function, or how to sample transactions. - -## Verify - -Test out tracing by starting and finishing a transaction, which you _must_ do so transactions can be sent to Sentry. Learn how in our Custom Instrumentation content. - -While you're testing, set to `1.0`, as that ensures that every transaction will be sent to Sentry. - -Once testing is complete, you may want to set a lower value, or switch to using to selectively sample and filter your transactions, based on contextual data. - -## Next Steps - - diff --git a/docs/platforms/go/common/performance/instrumentation/index.mdx b/docs/platforms/go/common/performance/instrumentation/index.mdx deleted file mode 100644 index 31b4b4f67612f..0000000000000 --- a/docs/platforms/go/common/performance/instrumentation/index.mdx +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Instrumentation -description: "Learn how to instrument performance in your app." -sidebar_order: 20 ---- - -Instrumenting performance monitoring is specific to your SDK. - - diff --git a/docs/platforms/go/common/profiling/index.mdx b/docs/platforms/go/common/profiling/index.mdx index 1001706c08dc8..e79ae1654915f 100644 --- a/docs/platforms/go/common/profiling/index.mdx +++ b/docs/platforms/go/common/profiling/index.mdx @@ -9,29 +9,24 @@ sidebar_order: 5000 ## Enable Profiling - - -Go Profiling alpha is available since SDK version `0.22.0`. - - To enable profiling, set the `ProfilesSampleRate`: -```go +```go {diff} err := sentry.Init(sentry.ClientOptions{ - Dsn: "___PUBLIC_DSN___", - EnableTracing: true, - TracesSampleRate: 1.0, - ProfilesSampleRate: 1.0, + Dsn: "___PUBLIC_DSN___", + EnableTracing: true, + TracesSampleRate: 1.0, ++ ProfilesSampleRate: 1.0, }) ``` -The setting is _relative_ to the setting. +The `ProfilesSampleRate` setting is _relative_ to the `TracesSampleRate` setting. -For Profiling to work, you have to first enable Sentry’s performance monitoring via `traces_sample_rate` (like in the example above). Read our performance setup documentation to learn how to configure sampling. If you set your sample rate to 1.0, all transactions will be captured. +For Profiling to work, you have to first enable Sentry’s tracing via `TracesSampleRate` (like in the example above). Read our tracing setup documentation to learn how to configure sampling. If you set your sample rate to 1.0, all transactions will be captured. - \ No newline at end of file + diff --git a/docs/platforms/go/common/profiling/troubleshooting/index.mdx b/docs/platforms/go/common/profiling/troubleshooting/index.mdx index d9ed25c1789ab..22851bdcb132f 100644 --- a/docs/platforms/go/common/profiling/troubleshooting/index.mdx +++ b/docs/platforms/go/common/profiling/troubleshooting/index.mdx @@ -1,14 +1,14 @@ --- title: Troubleshooting description: "Learn how to troubleshoot your profiling setup." -sidebar_order: 5000 +sidebar_order: 9000 --- If you don't see any profiling data in [sentry.io](https://sentry.io), you can try the following: -- Ensure that performance monitoring is enabled. +- Ensure that Tracing is enabled. - Ensure that the automatic instrumentation is sending performance data to Sentry by going to the **Performance** page in [sentry.io](https://sentry.io). -- If the automatic instrumentation is not sending performance data, try using custom instrumentation. +- If the automatic instrumentation is not sending performance data, try using custom instrumentation. - Enable debug mode in the SDK and check the logs. ### Limitations diff --git a/docs/platforms/go/common/tracing/index.mdx b/docs/platforms/go/common/tracing/index.mdx new file mode 100644 index 0000000000000..b8dac419bd1ec --- /dev/null +++ b/docs/platforms/go/common/tracing/index.mdx @@ -0,0 +1,41 @@ +--- +title: Set Up Tracing +description: "Learn how to enable tracing in your app and discover valuable performance insights of your application." +sidebar_order: 4000 +--- + +With [tracing](/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. Learn more about our model in [Distributed Tracing](/product/sentry-basics/tracing/distributed-tracing/). + + + +If you’re adopting Tracing in a high-throughput environment, we recommend testing prior to deployment to ensure that your service’s performance characteristics maintain expectations. + + + + + +## Requirements +- Tracing is available for the Sentry's Go SDK version ≥ 0.9.0. + +## Configure + +First, enable tracing and configure the sample rate for transactions. Set the sample rate for your transactions by either: + +- Setting a uniform sample rate for all transactions using the option in your SDK config to a number between `0` and `1`. (For example, to send 20% of transactions, set to `0.2`.) +- Controlling the sample rate based on the transaction itself and the context in which it's captured, by providing a function to the config option. + +The two options are meant to be mutually exclusive. If you set both, will take precedence. + + + +Learn more about tracing options, how to use the TracesSampler function, or how to sample transactions. + +## Verify + +Test out tracing by starting and finishing a transaction, which you _must_ do so transactions can be sent to Sentry. Learn how in our Custom Instrumentation content. + +While you're testing, set to `1.0`, as that ensures that every transaction will be sent to Sentry. Once testing is complete, you may want to set a lower value, or switch to using to selectively sample and filter your transactions, based on contextual data. + +## Next Steps + + diff --git a/docs/platforms/powershell/performance/instrumentation/custom-instrumentation.mdx b/docs/platforms/go/common/tracing/instrumentation/custom-instrumentation.mdx similarity index 80% rename from docs/platforms/powershell/performance/instrumentation/custom-instrumentation.mdx rename to docs/platforms/go/common/tracing/instrumentation/custom-instrumentation.mdx index add6773ee1f09..a9e53aaa98de7 100644 --- a/docs/platforms/powershell/performance/instrumentation/custom-instrumentation.mdx +++ b/docs/platforms/go/common/tracing/instrumentation/custom-instrumentation.mdx @@ -6,7 +6,7 @@ sidebar_order: 20 -To capture transactions and spans customized to your organization's needs, you must first set up performance monitoring. +To capture transactions and spans customized to your organization's needs, you must first set up tracing. diff --git a/docs/platforms/go/common/tracing/instrumentation/index.mdx b/docs/platforms/go/common/tracing/instrumentation/index.mdx new file mode 100644 index 0000000000000..eaac9e016be4c --- /dev/null +++ b/docs/platforms/go/common/tracing/instrumentation/index.mdx @@ -0,0 +1,7 @@ +--- +title: Instrumentation +description: "Learn how to instrument tracing in your app." +sidebar_order: 20 +--- + + diff --git a/docs/platforms/go/common/performance/instrumentation/opentelemetry.mdx b/docs/platforms/go/common/tracing/instrumentation/opentelemetry.mdx similarity index 100% rename from docs/platforms/go/common/performance/instrumentation/opentelemetry.mdx rename to docs/platforms/go/common/tracing/instrumentation/opentelemetry.mdx diff --git a/docs/platforms/go/common/distributed-tracing/dealing-with-cors-issues/index.mdx b/docs/platforms/go/common/tracing/trace-propagation/dealing-with-cors-issues/index.mdx similarity index 100% rename from docs/platforms/go/common/distributed-tracing/dealing-with-cors-issues/index.mdx rename to docs/platforms/go/common/tracing/trace-propagation/dealing-with-cors-issues/index.mdx diff --git a/docs/platforms/flutter/distributed-tracing/index.mdx b/docs/platforms/go/common/tracing/trace-propagation/index.mdx similarity index 98% rename from docs/platforms/flutter/distributed-tracing/index.mdx rename to docs/platforms/go/common/tracing/trace-propagation/index.mdx index 2fa131dd15253..fb41f4dd98c48 100644 --- a/docs/platforms/flutter/distributed-tracing/index.mdx +++ b/docs/platforms/go/common/tracing/trace-propagation/index.mdx @@ -1,5 +1,5 @@ --- -title: Set Up Distributed Tracing +title: Trace Propagation description: "Learn how to connect events across applications/services." sidebar_order: 3000 --- diff --git a/docs/platforms/java/common/performance/troubleshooting/index.mdx b/docs/platforms/go/common/tracing/troubleshooting/index.mdx similarity index 92% rename from docs/platforms/java/common/performance/troubleshooting/index.mdx rename to docs/platforms/go/common/tracing/troubleshooting/index.mdx index ae3f809c8df2c..91680e839de3e 100644 --- a/docs/platforms/java/common/performance/troubleshooting/index.mdx +++ b/docs/platforms/go/common/tracing/troubleshooting/index.mdx @@ -1,7 +1,7 @@ --- title: Troubleshooting -description: "Learn how to troubleshoot your performance monitoring setup." -sidebar_order: 40 +description: "Learn how to troubleshoot your tracing setup." +sidebar_order: 9000 --- If you need help managing transactions, you can read more here. If you need additional help, you can ask on GitHub. Customers on a paid plan may also contact support. diff --git a/docs/platforms/go/guides/echo/index.mdx b/docs/platforms/go/guides/echo/index.mdx index cddf361ccc944..6c8e9f1281461 100644 --- a/docs/platforms/go/guides/echo/index.mdx +++ b/docs/platforms/go/guides/echo/index.mdx @@ -32,7 +32,7 @@ import ( if err := sentry.Init(sentry.ClientOptions{ Dsn: "___PUBLIC_DSN___", // Set TracesSampleRate to 1.0 to capture 100% - // of transactions for performance monitoring. + // of transactions for tracing. // We recommend adjusting this value in production, TracesSampleRate: 1.0, }); err != nil { diff --git a/docs/platforms/go/guides/fasthttp/index.mdx b/docs/platforms/go/guides/fasthttp/index.mdx index 08f00fc21d5ee..0d2009d179f05 100644 --- a/docs/platforms/go/guides/fasthttp/index.mdx +++ b/docs/platforms/go/guides/fasthttp/index.mdx @@ -31,7 +31,7 @@ if err := sentry.Init(sentry.ClientOptions{ Dsn: "___PUBLIC_DSN___", EnableTracing: true, // Set TracesSampleRate to 1.0 to capture 100% - // of transactions for performance monitoring. + // of transactions for tracing. // We recommend adjusting this value in production, TracesSampleRate: 1.0, }); err != nil { diff --git a/docs/platforms/go/guides/gin/index.mdx b/docs/platforms/go/guides/gin/index.mdx index e81fd93f5c6e5..3e966a778038e 100644 --- a/docs/platforms/go/guides/gin/index.mdx +++ b/docs/platforms/go/guides/gin/index.mdx @@ -39,7 +39,7 @@ if err := sentry.Init(sentry.ClientOptions{ Dsn: "___PUBLIC_DSN___", EnableTracing: true, // Set TracesSampleRate to 1.0 to capture 100% - // of transactions for performance monitoring. + // of transactions for tracing. // We recommend adjusting this value in production, TracesSampleRate: 1.0, }); err != nil { diff --git a/docs/platforms/go/guides/http/index.mdx b/docs/platforms/go/guides/http/index.mdx index ee7959bf9a59f..01fcf0fbfd9d8 100644 --- a/docs/platforms/go/guides/http/index.mdx +++ b/docs/platforms/go/guides/http/index.mdx @@ -31,7 +31,7 @@ if err := sentry.Init(sentry.ClientOptions{ Dsn: "___PUBLIC_DSN___", EnableTracing: true, // Set TracesSampleRate to 1.0 to capture 100% - // of transactions for performance monitoring. + // of transactions for tracing. // We recommend adjusting this value in production, TracesSampleRate: 1.0, }); err != nil { diff --git a/docs/platforms/go/guides/iris/index.mdx b/docs/platforms/go/guides/iris/index.mdx index 3c5a81ea73e55..a13110b8b3d3c 100644 --- a/docs/platforms/go/guides/iris/index.mdx +++ b/docs/platforms/go/guides/iris/index.mdx @@ -31,7 +31,7 @@ if err := sentry.Init(sentry.ClientOptions{ Dsn: "___PUBLIC_DSN___", EnableTracing: true, // Set TracesSampleRate to 1.0 to capture 100% - // of transactions for performance monitoring. + // of transactions for tracing. // We recommend adjusting this value in production, TracesSampleRate: 1.0, }); err != nil { diff --git a/docs/platforms/go/guides/martini/index.mdx b/docs/platforms/go/guides/martini/index.mdx index 9056abb527657..070d77791ea2b 100644 --- a/docs/platforms/go/guides/martini/index.mdx +++ b/docs/platforms/go/guides/martini/index.mdx @@ -31,7 +31,7 @@ if err := sentry.Init(sentry.ClientOptions{ Dsn: "___PUBLIC_DSN___", EnableTracing: true, // Set TracesSampleRate to 1.0 to capture 100% - // of transactions for performance monitoring. + // of transactions for tracing. // We recommend adjusting this value in production, TracesSampleRate: 1.0, }); err != nil { diff --git a/docs/platforms/go/guides/negroni/index.mdx b/docs/platforms/go/guides/negroni/index.mdx index fd443ff91f804..588e6e8b872c0 100644 --- a/docs/platforms/go/guides/negroni/index.mdx +++ b/docs/platforms/go/guides/negroni/index.mdx @@ -32,7 +32,7 @@ if err := sentry.Init(sentry.ClientOptions{ Dsn: "___PUBLIC_DSN___", EnableTracing: true, // Set TracesSampleRate to 1.0 to capture 100% - // of transactions for performance monitoring. + // of transactions for tracing. // We recommend adjusting this value in production, TracesSampleRate: 1.0, }); err != nil { diff --git a/docs/platforms/java/common/configuration/sampling.mdx b/docs/platforms/java/common/configuration/sampling.mdx index 6cb83279b7d6a..bc66495c36665 100644 --- a/docs/platforms/java/common/configuration/sampling.mdx +++ b/docs/platforms/java/common/configuration/sampling.mdx @@ -72,7 +72,7 @@ When using custom instrumentation to create a transaction, you can add data to t Whatever a transaction's sampling decision, that decision will be passed to its child spans and from there to any transactions they subsequently cause in other services. -(See Distributed Tracing for more about how that propagation is done.) +(See Distributed Tracing for more about how that propagation is done.) If the transaction currently being created is one of those subsequent transactions (in other words, if it has a parent transaction), the upstream (parent) sampling decision will be included in the sampling context data. Your can use this information to choose whether to inherit that decision. In most cases, inheritance is the right choice, to avoid breaking distributed traces. A broken trace will not include all your services. diff --git a/docs/platforms/java/common/crons/troubleshooting.mdx b/docs/platforms/java/common/crons/troubleshooting.mdx index 697a484c30fdf..ba79cba0ba2d8 100644 --- a/docs/platforms/java/common/crons/troubleshooting.mdx +++ b/docs/platforms/java/common/crons/troubleshooting.mdx @@ -1,7 +1,7 @@ --- title: Troubleshooting description: "Learn how to troubleshoot your Cron Monitoring setup." -sidebar_order: 500 +sidebar_order: 9000 --- diff --git a/docs/platforms/java/common/distributed-tracing/index.mdx b/docs/platforms/java/common/distributed-tracing/index.mdx deleted file mode 100644 index 2fa131dd15253..0000000000000 --- a/docs/platforms/java/common/distributed-tracing/index.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: Set Up Distributed Tracing -description: "Learn how to connect events across applications/services." -sidebar_order: 3000 ---- - -If the overall application landscape that you want to observe with Sentry consists of more than just a single service or application, distributed tracing can add a lot of value. - -## What is Distributed Tracing? - -In the context of tracing events across a distributed system, distributed tracing acts as a powerful debugging tool. Imagine your application as a vast network of interconnected parts. For example, your system might be spread across different servers or your application might split into different backend and frontend services, each potentially having their own technology stack. - -When an error or performance issue occurs, it can be challenging to pinpoint the root cause due to the complexity of such a system. Distributed tracing helps you follow the path of an event as it travels through this intricate web, recording every step it takes. By examining these traces, you can reconstruct the sequence of events leading up to the event of interest, identify the specific components involved, and understand their interactions. This detailed visibility enables you to diagnose and resolve issues more effectively, ultimately improving the reliability and performance of your distributed system. - -## Basic Example - -Here's an example showing a distributed trace in Sentry: - - - -This distributed trace shows a Vue app's `pageload` making a request to a Python backend, which then calls the `/api` endpoint of a Ruby microservice. - -What happens in the background is that Sentry uses reads and further propagates two HTTP headers between your applications: - -- `sentry-trace` -- `baggage` - -If you run any JavaScript applications in your distributed system, make sure that those two headers are added to your CORS allowlist and won't be blocked or stripped by your proxy servers, gateways, or firewalls. - -## How to Use Distributed Tracing? - - - -Remember that in order to propagate trace information through your whole distributed system, you have to use Sentry in all of the involved services and applications. Take a look at the respective SDK documentation to learn how distributed tracing can be enabled for each platform. diff --git a/docs/platforms/java/common/integrations/graphql.mdx b/docs/platforms/java/common/integrations/graphql.mdx index 8bcdb6e10dda0..8989070b61bcc 100644 --- a/docs/platforms/java/common/integrations/graphql.mdx +++ b/docs/platforms/java/common/integrations/graphql.mdx @@ -98,9 +98,9 @@ The `SentryDataFetcherExceptionHandler` has been deprecated. Please upgrade to ` -## Capture Performance +## Capture Tracing Information -To be able to capture transactions, you have to first set up performance monitoring. +To be able to capture transactions, you have to first set up tracing. ### Modify or Drop Spans diff --git a/docs/platforms/java/common/metrics/index.mdx b/docs/platforms/java/common/metrics/index.mdx index 9a9b8ecba1d73..c3c11e6865611 100644 --- a/docs/platforms/java/common/metrics/index.mdx +++ b/docs/platforms/java/common/metrics/index.mdx @@ -5,15 +5,14 @@ sidebar_order: 5500 --- - -Metrics are supported with Sentry Java SDK version `7.6.0` and above. +Sentry metrics help you pinpoint and solve issues that impact user experience and app performance by measuring the data points that are important to you. You can track things like processing time, event size, user signups, and conversion rates, then correlate them back to tracing data in order to get deeper insights and solve issues faster. - +## Requirements -Sentry metrics help you pinpoint and solve issues that impact user experience and app performance by measuring the data points that are important to you. You can track things like processing time, event size, user signups, and conversion rates, then correlate them back to tracing data in order to get deeper insights and solve issues faster. +Metrics are supported with Sentry Java SDK version `7.6.0` and above. -## Enabling the Metrics Feature +## Configure Here's how to add Metrics to your application: diff --git a/docs/platforms/java/common/performance/index.mdx b/docs/platforms/java/common/performance/index.mdx deleted file mode 100644 index 924157594dc65..0000000000000 --- a/docs/platforms/java/common/performance/index.mdx +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: Set Up Performance -description: "Learn how to enable performance monitoring in your app if it is not already set up." -sidebar_order: 4000 -supported: - - java - - java.spring-boot - - java.spring ---- - -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. Learn more about our model in [Distributed Tracing](/product/sentry-basics/tracing/distributed-tracing/). - - - -If you’re adopting Performance in a high-throughput environment, we recommend testing prior to deployment to ensure that your service’s performance characteristics maintain expectations. - - - - - - - -## Enable Tracing - - - - - -## Configure - -First, enable tracing and configure the sampling rate for transactions. Set the sample rate for your transactions by either: - -- Setting a uniform sample rate for all transactions using the option in your SDK config to a number between `0` and `1`. (For example, to send 20% of transactions, set to `0.2`.) -- Controlling the sample rate based on the transaction itself and the context in which it's captured, by providing a function to the config option. - -The two options are meant to be mutually exclusive. If you set both, will take precedence. - - - -Learn more about performance monitoring options, how to use the tracesSampler function, or how to sample transactions. - -## Verify - - - -Verify that performance monitoring is working correctly by using our automatic instrumentation or by starting and finishing a transaction using custom instrumentation. - - - - - -Test out tracing by starting and finishing a transaction, which you _must_ do so transactions can be sent to Sentry. Learn how in our Custom Instrumentation content. - - - -While you're testing, set to `1.0`, as that ensures that every transaction will be sent to Sentry. - -Once testing is complete, you may want to set a lower value, or switch to using to selectively sample and filter your transactions, based on contextual data. - -## Next Steps - - diff --git a/docs/platforms/java/common/performance/instrumentation/index.mdx b/docs/platforms/java/common/performance/instrumentation/index.mdx deleted file mode 100644 index 31b4b4f67612f..0000000000000 --- a/docs/platforms/java/common/performance/instrumentation/index.mdx +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Instrumentation -description: "Learn how to instrument performance in your app." -sidebar_order: 20 ---- - -Instrumenting performance monitoring is specific to your SDK. - - diff --git a/docs/platforms/java/common/tracing/index.mdx b/docs/platforms/java/common/tracing/index.mdx new file mode 100644 index 0000000000000..24288935b2429 --- /dev/null +++ b/docs/platforms/java/common/tracing/index.mdx @@ -0,0 +1,64 @@ +--- +title: Set Up Tracing +description: "Learn how to enable tracing in your app and discover valuable performance insights of your application." +sidebar_order: 4000 +supported: + - java + - java.spring-boot + - java.spring +--- + +With [tracing](/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. Learn more about our model in [Distributed Tracing](/product/sentry-basics/tracing/distributed-tracing/). + + + +If you’re adopting Tracing in a high-throughput environment, we recommend testing prior to deployment to ensure that your service’s performance characteristics maintain expectations. + + + + + +## Requirements + +Tracing is available for the Sentry Java SDK version ≥ 4.0. + + + +## Enable Tracing + + + + + +## Configure + +First, enable tracing and configure the sample rate for transactions. Set the sample rate for your transactions by either: + +- Setting a uniform sample rate for all transactions using the option in your SDK config to a number between `0` and `1`. (For example, to send 20% of transactions, set to `0.2`.) +- Controlling the sample rate based on the transaction itself and the context in which it's captured, by providing a function to the config option. + +The two options are meant to be mutually exclusive. If you set both, will take precedence. + + + +Learn more about tracing options, how to use the tracesSampler function, or how to sample transactions. + +## Verify + + + +Verify that tracing is working correctly by using our automatic instrumentation or by starting and finishing a transaction using custom instrumentation. + + + + + +Test out tracing by starting and finishing a transaction, which you _must_ do so transactions can be sent to Sentry. Learn how in our Custom Instrumentation content. + + + +While you're testing, set to `1.0`, as that ensures that every transaction will be sent to Sentry. Once testing is complete, you may want to set a lower value, or switch to using to selectively sample and filter your transactions, based on contextual data. + +## Next Steps + + diff --git a/docs/platforms/java/common/performance/instrumentation/apollo.mdx b/docs/platforms/java/common/tracing/instrumentation/apollo.mdx similarity index 96% rename from docs/platforms/java/common/performance/instrumentation/apollo.mdx rename to docs/platforms/java/common/tracing/instrumentation/apollo.mdx index 0c5918283625c..b06c690e95372 100644 --- a/docs/platforms/java/common/performance/instrumentation/apollo.mdx +++ b/docs/platforms/java/common/tracing/instrumentation/apollo.mdx @@ -2,7 +2,7 @@ title: Apollo Integration sidebar_order: 30 sdk: sentry.java.apollo -description: "Learn how to capture the performance of Apollo GraphQL client." +description: "Learn how to capture tracing information of the Apollo GraphQL client." notSupported: - java.logback - java.log4j2 @@ -11,7 +11,7 @@ notSupported: -Capturing transactions requires that you first set up performance monitoring if you haven't already. +Capturing transactions requires that you first set up tracing if you haven't already. diff --git a/docs/platforms/java/common/performance/instrumentation/apollo3.mdx b/docs/platforms/java/common/tracing/instrumentation/apollo3.mdx similarity index 98% rename from docs/platforms/java/common/performance/instrumentation/apollo3.mdx rename to docs/platforms/java/common/tracing/instrumentation/apollo3.mdx index f39aea0878f7c..21945880f7b2f 100644 --- a/docs/platforms/java/common/performance/instrumentation/apollo3.mdx +++ b/docs/platforms/java/common/tracing/instrumentation/apollo3.mdx @@ -2,7 +2,7 @@ title: Apollo3 Integration sidebar_order: 31 sdk: sentry.java.apollo-3 -description: "Learn how to capture the performance of Apollo GraphQL client." +description: "Learn how to capture tracing information of the Apollo GraphQL client." notSupported: - java.logback - java.log4j2 @@ -11,7 +11,7 @@ notSupported: -To be able to capture transactions, you'll need to first set up performance monitoring. +To be able to capture transactions, you'll need to first set up tracing. diff --git a/docs/platforms/android/performance/instrumentation/custom-instrumentation.mdx b/docs/platforms/java/common/tracing/instrumentation/custom-instrumentation.mdx similarity index 82% rename from docs/platforms/android/performance/instrumentation/custom-instrumentation.mdx rename to docs/platforms/java/common/tracing/instrumentation/custom-instrumentation.mdx index 959714a579e3c..2d9a41622d610 100644 --- a/docs/platforms/android/performance/instrumentation/custom-instrumentation.mdx +++ b/docs/platforms/java/common/tracing/instrumentation/custom-instrumentation.mdx @@ -1,12 +1,12 @@ --- title: Custom Instrumentation -sidebar_order: 20 description: "Learn how to capture performance data on any action in your app." +sidebar_order: 20 --- -To capture transactions and spans customized to your organization's needs, you must first set up performance monitoring. +To capture transactions and spans customized to your organization's needs, you must first set up tracing. diff --git a/docs/platforms/java/common/performance/instrumentation/file-io.mdx b/docs/platforms/java/common/tracing/instrumentation/file-io.mdx similarity index 87% rename from docs/platforms/java/common/performance/instrumentation/file-io.mdx rename to docs/platforms/java/common/tracing/instrumentation/file-io.mdx index be4147310f611..e5d020f5da6d0 100644 --- a/docs/platforms/java/common/performance/instrumentation/file-io.mdx +++ b/docs/platforms/java/common/tracing/instrumentation/file-io.mdx @@ -1,7 +1,7 @@ --- title: File I/O Integration sidebar_order: 60 -description: "Learn how to capture the performance of file I/O operations." +description: "Learn how to capture tracing information for file I/O operations." notSupported: - java.logback - java.log4j2 @@ -10,7 +10,7 @@ notSupported: -Capturing transactions requires that you first set up performance monitoring if you haven't already. +Capturing transactions requires that you first set up tracing if you haven't already. diff --git a/docs/platforms/java/common/tracing/instrumentation/index.mdx b/docs/platforms/java/common/tracing/instrumentation/index.mdx new file mode 100644 index 0000000000000..eaac9e016be4c --- /dev/null +++ b/docs/platforms/java/common/tracing/instrumentation/index.mdx @@ -0,0 +1,7 @@ +--- +title: Instrumentation +description: "Learn how to instrument tracing in your app." +sidebar_order: 20 +--- + + diff --git a/docs/platforms/java/common/performance/instrumentation/jdbc.mdx b/docs/platforms/java/common/tracing/instrumentation/jdbc.mdx similarity index 93% rename from docs/platforms/java/common/performance/instrumentation/jdbc.mdx rename to docs/platforms/java/common/tracing/instrumentation/jdbc.mdx index 7e7d4fd7fbeb5..7d382d36428b3 100644 --- a/docs/platforms/java/common/performance/instrumentation/jdbc.mdx +++ b/docs/platforms/java/common/tracing/instrumentation/jdbc.mdx @@ -2,7 +2,7 @@ title: JDBC Instrumentation sidebar_order: 40 sdk: sentry.java.jdbc -description: "Learn how to capture the performance of database queries executed with JDBC." +description: "Learn how to capture tracing information for database queries executed with JDBC." notSupported: - java.logback - java.log4j2 @@ -11,7 +11,7 @@ notSupported: -Capturing transactions requires that you first set up performance monitoring if you haven't already. +Capturing transactions requires that you first set up tracing if you haven't already. diff --git a/docs/platforms/java/common/performance/instrumentation/okhttp.mdx b/docs/platforms/java/common/tracing/instrumentation/okhttp.mdx similarity index 98% rename from docs/platforms/java/common/performance/instrumentation/okhttp.mdx rename to docs/platforms/java/common/tracing/instrumentation/okhttp.mdx index e6d3fb33ff443..7bab85432ecdd 100644 --- a/docs/platforms/java/common/performance/instrumentation/okhttp.mdx +++ b/docs/platforms/java/common/tracing/instrumentation/okhttp.mdx @@ -2,7 +2,7 @@ title: OkHttp Integration sidebar_order: 35 sdk: sentry.java.okhttp -description: "Learn how to capture the performance of OkHttp client." +description: "Learn how to capture tracing information of the OkHttp client." notSupported: - java.logback - java.log4j2 @@ -11,7 +11,7 @@ notSupported: -To be able to capture transactions, you'll need to first set up performance monitoring. +To be able to capture transactions, you'll need to first set up tracing. diff --git a/docs/platforms/java/common/performance/instrumentation/open-feign.mdx b/docs/platforms/java/common/tracing/instrumentation/open-feign.mdx similarity index 94% rename from docs/platforms/java/common/performance/instrumentation/open-feign.mdx rename to docs/platforms/java/common/tracing/instrumentation/open-feign.mdx index fee8426c0fa54..4480b247668d7 100644 --- a/docs/platforms/java/common/performance/instrumentation/open-feign.mdx +++ b/docs/platforms/java/common/tracing/instrumentation/open-feign.mdx @@ -2,7 +2,7 @@ title: OpenFeign Integration sidebar_order: 50 sdk: sentry.java.openfeign -description: "Learn how to capture the performance of OpenFeign-based HTTP clients." +description: "Learn how to capture tracing information of OpenFeign-based HTTP clients." notSupported: - java.logback - java.log4j2 @@ -11,7 +11,7 @@ notSupported: -Capturing transactions requires that you first set up performance monitoring if you haven't already. +Capturing transactions requires that you first set up tracing if you haven't already. diff --git a/docs/platforms/java/common/performance/instrumentation/opentelemetry.mdx b/docs/platforms/java/common/tracing/instrumentation/opentelemetry.mdx similarity index 100% rename from docs/platforms/java/common/performance/instrumentation/opentelemetry.mdx rename to docs/platforms/java/common/tracing/instrumentation/opentelemetry.mdx diff --git a/docs/platforms/java/common/performance/instrumentation/performance-metrics.mdx b/docs/platforms/java/common/tracing/instrumentation/performance-metrics.mdx similarity index 100% rename from docs/platforms/java/common/performance/instrumentation/performance-metrics.mdx rename to docs/platforms/java/common/tracing/instrumentation/performance-metrics.mdx diff --git a/docs/platforms/java/common/distributed-tracing/custom-instrumentation/index.mdx b/docs/platforms/java/common/tracing/trace-propagation/custom-instrumentation/index.mdx similarity index 100% rename from docs/platforms/java/common/distributed-tracing/custom-instrumentation/index.mdx rename to docs/platforms/java/common/tracing/trace-propagation/custom-instrumentation/index.mdx diff --git a/docs/platforms/java/common/distributed-tracing/dealing-with-cors-issues/index.mdx b/docs/platforms/java/common/tracing/trace-propagation/dealing-with-cors-issues/index.mdx similarity index 100% rename from docs/platforms/java/common/distributed-tracing/dealing-with-cors-issues/index.mdx rename to docs/platforms/java/common/tracing/trace-propagation/dealing-with-cors-issues/index.mdx diff --git a/docs/platforms/java/common/tracing/trace-propagation/index.mdx b/docs/platforms/java/common/tracing/trace-propagation/index.mdx new file mode 100644 index 0000000000000..fb41f4dd98c48 --- /dev/null +++ b/docs/platforms/java/common/tracing/trace-propagation/index.mdx @@ -0,0 +1,34 @@ +--- +title: Trace Propagation +description: "Learn how to connect events across applications/services." +sidebar_order: 3000 +--- + +If the overall application landscape that you want to observe with Sentry consists of more than just a single service or application, distributed tracing can add a lot of value. + +## What is Distributed Tracing? + +In the context of tracing events across a distributed system, distributed tracing acts as a powerful debugging tool. Imagine your application as a vast network of interconnected parts. For example, your system might be spread across different servers or your application might split into different backend and frontend services, each potentially having their own technology stack. + +When an error or performance issue occurs, it can be challenging to pinpoint the root cause due to the complexity of such a system. Distributed tracing helps you follow the path of an event as it travels through this intricate web, recording every step it takes. By examining these traces, you can reconstruct the sequence of events leading up to the event of interest, identify the specific components involved, and understand their interactions. This detailed visibility enables you to diagnose and resolve issues more effectively, ultimately improving the reliability and performance of your distributed system. + +## Basic Example + +Here's an example showing a distributed trace in Sentry: + + + +This distributed trace shows a Vue app's `pageload` making a request to a Python backend, which then calls the `/api` endpoint of a Ruby microservice. + +What happens in the background is that Sentry uses reads and further propagates two HTTP headers between your applications: + +- `sentry-trace` +- `baggage` + +If you run any JavaScript applications in your distributed system, make sure that those two headers are added to your CORS allowlist and won't be blocked or stripped by your proxy servers, gateways, or firewalls. + +## How to Use Distributed Tracing? + + + +Remember that in order to propagate trace information through your whole distributed system, you have to use Sentry in all of the involved services and applications. Take a look at the respective SDK documentation to learn how distributed tracing can be enabled for each platform. diff --git a/docs/platforms/dotnet/common/performance/troubleshooting/index.mdx b/docs/platforms/java/common/tracing/troubleshooting/index.mdx similarity index 92% rename from docs/platforms/dotnet/common/performance/troubleshooting/index.mdx rename to docs/platforms/java/common/tracing/troubleshooting/index.mdx index ae3f809c8df2c..91680e839de3e 100644 --- a/docs/platforms/dotnet/common/performance/troubleshooting/index.mdx +++ b/docs/platforms/java/common/tracing/troubleshooting/index.mdx @@ -1,7 +1,7 @@ --- title: Troubleshooting -description: "Learn how to troubleshoot your performance monitoring setup." -sidebar_order: 40 +description: "Learn how to troubleshoot your tracing setup." +sidebar_order: 9000 --- If you need help managing transactions, you can read more here. If you need additional help, you can ask on GitHub. Customers on a paid plan may also contact support. diff --git a/docs/platforms/java/guides/spring-boot/performance/instrumentation/automatic-instrumentation.mdx b/docs/platforms/java/guides/spring-boot/tracing/instrumentation/automatic-instrumentation.mdx similarity index 98% rename from docs/platforms/java/guides/spring-boot/performance/instrumentation/automatic-instrumentation.mdx rename to docs/platforms/java/guides/spring-boot/tracing/instrumentation/automatic-instrumentation.mdx index 73e09b8e7761a..c09767b03044d 100644 --- a/docs/platforms/java/guides/spring-boot/performance/instrumentation/automatic-instrumentation.mdx +++ b/docs/platforms/java/guides/spring-boot/tracing/instrumentation/automatic-instrumentation.mdx @@ -6,7 +6,7 @@ description: "Learn what transactions are captured after tracing is enabled." -Capturing transactions requires that you first set up performance monitoring if you haven't already. +Capturing transactions requires that you first set up tracing if you haven't already. diff --git a/docs/platforms/java/guides/spring/performance/instrumentation/automatic-instrumentation.mdx b/docs/platforms/java/guides/spring/tracing/instrumentation/automatic-instrumentation.mdx similarity index 98% rename from docs/platforms/java/guides/spring/performance/instrumentation/automatic-instrumentation.mdx rename to docs/platforms/java/guides/spring/tracing/instrumentation/automatic-instrumentation.mdx index 4f5857c81bc53..cee7fd1feb5c2 100644 --- a/docs/platforms/java/guides/spring/performance/instrumentation/automatic-instrumentation.mdx +++ b/docs/platforms/java/guides/spring/tracing/instrumentation/automatic-instrumentation.mdx @@ -6,7 +6,7 @@ description: "Learn what transactions we capture after tracing is enabled." -Capturing transactions requires that you first set up performance monitoring if you haven't already. +Capturing transactions requires that you first set up tracing if you haven't already. diff --git a/docs/platforms/java/migration/6.x-to-7.0.mdx b/docs/platforms/java/migration/6.x-to-7.0.mdx index 33e2f8543eea5..4b9561c1af75c 100644 --- a/docs/platforms/java/migration/6.x-to-7.0.mdx +++ b/docs/platforms/java/migration/6.x-to-7.0.mdx @@ -8,7 +8,7 @@ description: "Learn about migrating from version 6.x to 7.0.0" ### Breaking Changes -- The `sentry-android-okhttp` classes were deprecated in favor of `sentry-okhttp`, which is a pure Java module and can be used in non-Android projects. Check the [OkHttp Integration](/platforms/java/performance/instrumentation/okhttp) documentation to see how to use it. +- The `sentry-android-okhttp` classes were deprecated in favor of `sentry-okhttp`, which is a pure Java module and can be used in non-Android projects. Check the [OkHttp Integration](/platforms/java/tracing/instrumentation/okhttp) documentation to see how to use it. - The `SentryOkHttpUtils` class was removed from the public API. If you were using it, consider filing a [feature request](https://github.com/getsentry/sentry-java/issues). - If you're using `sentry-kotlin-extensions`, it now requires `kotlinx-coroutines-core` version `1.6.1` or higher. - Changed the return type of `SentryApolloInterceptor.BeforeSpanCallback` from `ISpan` to `ISpan?`. @@ -27,7 +27,7 @@ val transaction = Sentry.startTransaction("name", "op", TransactionOptions().app ### Behavioral Changes - The SDK now captures failed HTTP and GraphQL (Apollo) requests by default. - - This can increase your event consumption and may affect your quota, because the SDK will report failed network requests as Sentry events if you're using the `sentry-okhttp` or `sentry-apollo-3` integrations by default. You can customize what errors you want/don't want to have reported for [OkHttp](/platforms/java/performance/instrumentation/okhttp/#http-client-errors) and [Apollo3](/platforms/java/performance/instrumentation/apollo3/#graphql-client-errors) respectively. + - This can increase your event consumption and may affect your quota, because the SDK will report failed network requests as Sentry events if you're using the `sentry-okhttp` or `sentry-apollo-3` integrations by default. You can customize what errors you want/don't want to have reported for [OkHttp](/platforms/java/tracing/instrumentation/okhttp/#http-client-errors) and [Apollo3](/platforms/java/tracing/instrumentation/apollo3/#graphql-client-errors) respectively. - The SDK now sets `ip_address` to \{\{auto}} by default, even if sendDefaultPII is disabled. - We recommend you instead use the "Prevent Storing of IP Addresses" option in the "Security & Privacy" project settings on [sentry.io](https://sentry.io/). - The `maxSpans` setting (defaults to 1000) is now enforced for nested child spans. This means a single transaction can have `maxSpans` number of children (nested or not) at most. diff --git a/docs/platforms/javascript/common/configuration/integrations/browsertracing.mdx b/docs/platforms/javascript/common/configuration/integrations/browsertracing.mdx index 310de86c2f9b3..16094f02b77c3 100644 --- a/docs/platforms/javascript/common/configuration/integrations/browsertracing.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/browsertracing.mdx @@ -21,8 +21,8 @@ notSupported: _Import name: `Sentry.browserTracingIntegration`_ -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. +With [tracing](/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. +The BrowserTracing integration sets up automatic tracing for your frontend applications. It captures transactions and spans from the browser and sends them to Sentry. -Read more about [setting up BrowserTracing](./../../../performance/). +Read more about [setting up BrowserTracing](./../../../tracing/). diff --git a/docs/platforms/javascript/common/configuration/sampling.mdx b/docs/platforms/javascript/common/configuration/sampling.mdx index fe7c18735e07c..10390b4e898b2 100644 --- a/docs/platforms/javascript/common/configuration/sampling.mdx +++ b/docs/platforms/javascript/common/configuration/sampling.mdx @@ -78,7 +78,7 @@ Whatever a transaction's sampling decision, that decision will be passed to its -(See Distributed Tracing for more about how that propagation is done.) +(See Distributed Tracing for more about how that propagation is done.) diff --git a/docs/platforms/javascript/common/configuration/tree-shaking/index.mdx b/docs/platforms/javascript/common/configuration/tree-shaking/index.mdx index a889439310e3f..6bd69636d24a5 100644 --- a/docs/platforms/javascript/common/configuration/tree-shaking/index.mdx +++ b/docs/platforms/javascript/common/configuration/tree-shaking/index.mdx @@ -22,7 +22,7 @@ If you want to minimize the bundle size of the Sentry SDK, we recommend reading ## Tree Shaking Optional Code -The Sentry SDK ships with code that is not strictly required for it to collect your errors. This includes code to debug your Sentry configuration or code to enable performance monitoring, for example. While debug code can be very useful in development environments, it's not typically necessary to include it in your production bundles where it takes up valuable space. The JavaScript SDK includes special flags in its CommonJS and ESM distributions, which can be used to facilitate tree shaking (removal) of this kind of code during the build process. +The Sentry SDK ships with code that is not strictly required for it to collect your errors. This includes code to debug your Sentry configuration or code to enable tracing, for example. While debug code can be very useful in development environments, it's not typically necessary to include it in your production bundles where it takes up valuable space. The JavaScript SDK includes special flags in its CommonJS and ESM distributions, which can be used to facilitate tree shaking (removal) of this kind of code during the build process. Anything that you don't import and use will automatically be tree @@ -108,10 +108,10 @@ Replacing this flag with `false` will tree shake any SDK code that's related to `__SENTRY_TRACING__` -Replacing this flag with `false` will tree shake any SDK code that's related to performance monitoring. +Replacing this flag with `false` will tree shake any SDK code that's related to tracing. - `__SENTRY_TRACING__` must not be replaced with `false` when you're using any performance monitoring-related SDK features (for example,`Sentry.startTransaction()`). This flag is intended to be used in combination with packages like `@sentry/next` or `@sentry/sveltekit`, which automatically include the performance monitoring functionality. + `__SENTRY_TRACING__` must not be replaced with `false` when you're using any tracing-related SDK features (for example,`Sentry.startTransaction()`). This flag is intended to be used in combination with packages like `@sentry/next` or `@sentry/sveltekit`, which automatically include the tracing functionality. diff --git a/docs/platforms/javascript/common/crons/troubleshooting.mdx b/docs/platforms/javascript/common/crons/troubleshooting.mdx index 28d847ac8c093..0a82042828496 100644 --- a/docs/platforms/javascript/common/crons/troubleshooting.mdx +++ b/docs/platforms/javascript/common/crons/troubleshooting.mdx @@ -1,7 +1,7 @@ --- title: Troubleshooting description: "Learn how to troubleshoot your Cron Monitoring setup." -sidebar_order: 500 +sidebar_order: 9000 supported: - javascript.nextjs - javascript.sveltekit diff --git a/docs/platforms/javascript/common/enriching-events/transaction-name/index.mdx b/docs/platforms/javascript/common/enriching-events/transaction-name/index.mdx index fb6c46ff75ca1..524482e94dce1 100644 --- a/docs/platforms/javascript/common/enriching-events/transaction-name/index.mdx +++ b/docs/platforms/javascript/common/enriching-events/transaction-name/index.mdx @@ -33,4 +33,4 @@ To override the name of the currently running transaction: -Please refer to [the tracing documentation](../../performance/) for how to start and stop transactions. +Please refer to [the tracing documentation](../../tracing/) for how to start and stop transactions. diff --git a/docs/platforms/javascript/common/install/esm-without-import.mdx b/docs/platforms/javascript/common/install/esm-without-import.mdx index 6300177e4351d..0a93cdee9d460 100644 --- a/docs/platforms/javascript/common/install/esm-without-import.mdx +++ b/docs/platforms/javascript/common/install/esm-without-import.mdx @@ -36,7 +36,7 @@ import * as Sentry from "@sentry/node"; Sentry.init({ dsn: "___PUBLIC_DSN___", - // Add Performance Monitoring by setting tracesSampleRate + // Add Tracing by setting tracesSampleRate // We recommend adjusting this value in production tracesSampleRate: 1.0, }); diff --git a/docs/platforms/javascript/common/install/esm.mdx b/docs/platforms/javascript/common/install/esm.mdx index 4417dd7642e5c..d62ca3446d166 100644 --- a/docs/platforms/javascript/common/install/esm.mdx +++ b/docs/platforms/javascript/common/install/esm.mdx @@ -27,7 +27,7 @@ import * as Sentry from "@sentry/node"; Sentry.init({ dsn: "___PUBLIC_DSN___", - // Add Performance Monitoring by setting tracesSampleRate + // Add Tracing by setting tracesSampleRate // We recommend adjusting this value in production tracesSampleRate: 1.0, }); diff --git a/docs/platforms/javascript/common/install/index.mdx b/docs/platforms/javascript/common/install/index.mdx index 50ae69ccd2c1d..31a34a943edf7 100644 --- a/docs/platforms/javascript/common/install/index.mdx +++ b/docs/platforms/javascript/common/install/index.mdx @@ -71,7 +71,7 @@ Using the Loader Script is the easiest way to start using Sentry. Add a script t - **Lazy-loading**: If you just want to use Sentry for errors, we'll only load the SDK when an error occurs, reducing the amount of JavaScript loaded on your page until then. - Note that when enabling Session Replay and/or Performance Monitoring, the + Note that when enabling Session Replay and/or Tracing, the SDK will be loaded immediately because we need to capture what's happening on the page as early as possible. diff --git a/docs/platforms/javascript/common/install/late-initializtion.mdx b/docs/platforms/javascript/common/install/late-initializtion.mdx index f80f30c3dc151..7bfa2f418b348 100644 --- a/docs/platforms/javascript/common/install/late-initializtion.mdx +++ b/docs/platforms/javascript/common/install/late-initializtion.mdx @@ -49,7 +49,7 @@ const dsn = fetchDsn(); Sentry.init({ dsn, - // Add Performance Monitoring by setting tracesSampleRate + // Add Tracing by setting tracesSampleRate // We recommend adjusting this value in production tracesSampleRate: 1.0, }); @@ -80,7 +80,7 @@ const dsn = fetchDsn(); Sentry.init({ dsn, - // Add Performance Monitoring by setting tracesSampleRate + // Add Tracing by setting tracesSampleRate // We recommend adjusting this value in production tracesSampleRate: 1.0, }); diff --git a/docs/platforms/javascript/common/install/loader.mdx b/docs/platforms/javascript/common/install/loader.mdx index 183c0f3cb7735..157bf8f2e59a7 100644 --- a/docs/platforms/javascript/common/install/loader.mdx +++ b/docs/platforms/javascript/common/install/loader.mdx @@ -46,7 +46,7 @@ To use the loader, go in the Sentry UI to **Settings > Projects > (select projec > ``` -By default, Performance Monitoring and Session Replay are enabled. +By default, Tracing and Session Replay are enabled. ## Source Maps @@ -57,7 +57,7 @@ To have correct stack traces for minified asset files when using the Loader Scri The loader has a few configuration options: - What version of the SDK to load -- Using Performance Monitoring +- Using Tracing - Using Session Replay - Showing debug logs @@ -93,7 +93,7 @@ Alternatively, you can set the loader to request the full SDK earlier: still as Finally, if you want to control the timing yourself, you can call `Sentry.forceLoad()`. You can do this as early as immediately after the loader runs (which has the same effect as setting `data-lazy="no"`) and as late as the first unhandled error, unhandled promise rejection, or call to `Sentry.captureMessage` or `Sentry.captureEvent` (which has the same effect as not calling it at all). Note that you can't delay loading past one of the aforementioned triggering events. -If Performance Monitoring and/or Session Replay is enabled, the SDK will immediately fetch and initialize the bundle to make sure it can capture transactions and/or replays once the page loads. +If Tracing and/or Session Replay is enabled, the SDK will immediately fetch and initialize the bundle to make sure it can capture transactions and/or replays once the page loads. ## SDK Configuration @@ -101,7 +101,7 @@ While the Loader Script will work out of the box without any configuration in yo ### Default Configuration -For Performance Monitoring, the SDK will be initialized with `tracesSampleRate: 1` by default. This means that the SDK will capture all traces. +For Tracing, the SDK will be initialized with `tracesSampleRate: 1` by default. This means that the SDK will capture all traces. For Session Replay, the defaults are `replaysSessionSampleRate: 0.1` and `replaysOnErrorSampleRate: 1`. This means Replays will be captured for 10% of all normal sessions and for all sessions with an error. @@ -191,7 +191,7 @@ Sentry supports loading the JavaScript SDK from a CDN. Generally we suggest usin ## Default Bundle -To use Sentry for error and performance monitoring, you can use the following bundle: +To use Sentry for error and tracing, you can use the following bundle: ```html {tabTitle: CDN}