Skip to content

Commit bf2bcb5

Browse files
committed
Merge branch 'feat/nextjs-centralized-flow-clean' of https://github.com/getsentry/sentry-docs into feat/nextjs-centralized-flow-clean
* 'feat/nextjs-centralized-flow-clean' of https://github.com/getsentry/sentry-docs: Fix reference to span in processOrderBatch function (#14741) chore(java): Add docs on how to use tracePropagationTargets (#14752) docs(replay): Bring replay nav item to all apple platforms (#14710) User Feedback Basics Page (#14670) Update AM3 and legacy billing for logs GA, DO NOT MERGE BEFORE LOGS GA (#14589) Add LLMSteering component for hidden documentation instructions (#14744) New data retention policy page (#14661) Adding error prediction to Prevent AI docs (#14641)
2 parents 4f15713 + ebeb99b commit bf2bcb5

File tree

22 files changed

+469
-70
lines changed

22 files changed

+469
-70
lines changed

docs/platforms/android/tracing/trace-propagation/index.mdx

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,34 @@ If you run any JavaScript applications in your distributed system, make sure tha
3232
<PlatformContent includePath="distributed-tracing/how-to-use/" />
3333

3434
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.
35+
36+
### tracePropagationTargets
37+
38+
The Android SDK will attach the `sentry-trace` and `baggage` headers to all outgoing requests by default. To narrow
39+
this down to only specific URLs, add those URLs to the `tracePropagationTargets` allowlist, (you can use both
40+
strings and regexes). The SDK will then only attach the `sentry-trace` and `baggage` headers to outgoing requests matching the allowlist.
41+
42+
<Alert>
43+
The `tracePropagationTargets` option can contain full URLs (e.g. `"https://api.myproject.org/request/path"`), sub-strings (e.g. `"api.myproject.org"`) or regular expressions (e.g. `"https://[\w]*\.myproject\.org/.*"`).
44+
</Alert>
45+
46+
Since the value of `tracePropagationTargets` is `".*"` by default, tracing headers are attached to all requests unless otherwise specified.
47+
48+
```java {tabTitle:Java}
49+
SentryAndroid.init(context, options -> {
50+
final ArrayList<String> tracePropagationTargets = new ArrayList<>();
51+
tracePropagationTargets.add("https://api.myproject.org/");
52+
53+
options.setDsn("___PUBLIC_DSN___");
54+
options.setTracePropagationTargets(tracePropagationTargets);
55+
});
56+
```
57+
58+
```kotlin {tabTitle:Kotlin}
59+
SentryAndroid.init(context, { options ->
60+
options.setDsn("___PUBLIC_DSN___")
61+
options.setTracePropagationTargets(listOf(
62+
"https://api.myproject.org/"
63+
))
64+
})
65+
```

docs/platforms/apple/guides/ios/session-replay/customredact.mdx renamed to docs/platforms/apple/common/session-replay/customredact.mdx

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,21 @@
11
---
22
title: Using Custom Masking for Session Replay
33
sidebar_order: 5501
4-
notSupported:
54
description: "Learn how to mask parts of your app's data in Session Replay."
5+
notSupported:
6+
- apple.macos
7+
- apple.watchos
8+
- apple.tvos
9+
- apple.visionos
610
---
711

12+
<PlatformSection notSupported={["apple.ios"]}>
13+
14+
<Include name="apple-session-replay-support-alert" />
15+
16+
</PlatformSection>
17+
18+
<PlatformSection notSupported={["apple", "apple.macos", "apple.tvos", "apple.watchos", "apple.visionos"]}>
819
<Alert>
920

1021
Before enabling Session Replay in production, verify your masking configuration to ensure no sensitive data is captured. Our default settings aggressively mask potentially sensitive data, but if you modify these settings or update UI frameworks or system SDKs, you must thoroughly test your application. If you find any masking issues or sensitive data that should be masked but isn't, please [create a GitHub issue](https://github.com/getsentry/sentry-cocoa/issues/new/choose) and avoid deploying to production with Session Replay enabled until the issue is resolved.
@@ -112,3 +123,5 @@ struct ContentView_Previews: PreviewProvider {
112123
}
113124
}
114125
```
126+
127+
</PlatformSection>

docs/platforms/apple/guides/ios/session-replay/index.mdx renamed to docs/platforms/apple/common/session-replay/index.mdx

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,18 @@
22
title: Set Up Session Replay
33
sidebar_title: Session Replay
44
sidebar_order: 5500
5-
notSupported:
65
description: "Learn how to enable Session Replay in your mobile app."
6+
notSupported:
77
---
88

9+
<PlatformSection notSupported={["apple.ios"]}>
10+
11+
<Include name="apple-session-replay-support-alert" />
12+
13+
</PlatformSection>
14+
15+
<PlatformSection notSupported={["apple", "apple.macos", "apple.tvos", "apple.watchos", "apple.visionos"]}>
16+
917
<Alert level="warning">
1018

1119
Before enabling Session Replay in production, verify your masking configuration to ensure no sensitive data is captured. Our default settings aggressively mask potentially sensitive data, but if you modify these settings or update UI frameworks or system SDKs, you must thoroughly test your application. If you find any masking issues or sensitive data that should be masked but isn't, please [create a GitHub issue](https://github.com/getsentry/sentry-cocoa/issues/new/choose) and avoid deploying to production with Session Replay enabled until the issue is resolved.
@@ -105,24 +113,4 @@ Errors that happen while a replay is running will be linked to the replay, makin
105113
- The replay was deleted by a member of your org.
106114
- There were network errors and the replay wasn't saved.
107115

108-
## FAQ
109-
110-
Q: **Does Session Replay work with SwiftUI?**
111-
112-
A: Yes. It works with both UIKit and SwiftUI.
113-
114-
Q: **Why are parts of my replay not masked?**
115-
116-
A: Text views, input views, images, video players and webviews are all masked by default. Images with bundled assets aren't masked because the likelihood of these assets containing PII is low. If you encounter a view that should be masked by default, consider opening a [GitHub issue](https://github.com/getsentry/sentry-cocoa/issues).
117-
118-
Q: **What's the lowest version of iOS supported?**
119-
120-
A: Session Replay recording happens even on the lowest version supported by the Sentry SDK, which is aligend with appstore support.
121-
122-
Q: **Why is my issue missing a replay?**
123-
124-
A: An issue may be missing a replay because the user's device was [offline](/product/explore/session-replay/mobile#frequently-asked-questions) while `sessionSampleRate` was specified, your project/organization was rate-limited, or (in rare cases) the device failed to capture the replay video.
125-
126-
Q: **Does Session Replay work on macOS, watchOS, tvOS and visionOS?**
127-
128-
A: We don't actively prevent you from using Session Replay on these platforms, but we only officially support it on iOS. As a consequence, we can't make guarantees about its functionality and performance on other platforms.
116+
</PlatformSection>

docs/platforms/apple/guides/ios/session-replay/performance-overhead.mdx renamed to docs/platforms/apple/common/session-replay/performance-overhead.mdx

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,22 @@
11
---
22
title: Performance Overhead
33
sidebar_order: 5502
4-
notSupported:
54
description: "Learn about how enabling Session Replay impacts the performance of your application."
5+
notSupported:
6+
- apple.macos
7+
- apple.watchos
8+
- apple.tvos
9+
- apple.visionos
610
---
711

12+
<PlatformSection notSupported={["apple.ios"]}>
13+
14+
<Include name="apple-session-replay-support-alert" />
15+
16+
</PlatformSection>
17+
18+
<PlatformSection notSupported={["apple", "apple.macos", "apple.tvos", "apple.watchos", "apple.visionos"]}>
19+
820
If you're considering enabling Session Replay, it's important to first understand the potential performance impact to your app. While accurate metrics require realistic testing where you apply typical access patterns and correlate the results with your business metrics, to provide a baseline, we measured the overhead using the open-source [Pocket Casts](https://github.com/Automattic/pocket-casts-ios) app.
921

1022
You can learn more about the various performance overhead optimizations implemented in the iOS Replay SDK in the [Replay Performance Overhead](/product/explore/session-replay/mobile/performance-overhead/) docs.
@@ -78,3 +90,5 @@ SentrySDK.start(configureOptions: { options in
7890
The old view renderer will be deprecated and removed in a future release.
7991

8092
</Alert>
93+
94+
</PlatformSection>

docs/platforms/apple/guides/ios/session-replay/troubleshooting.mdx renamed to docs/platforms/apple/common/session-replay/troubleshooting.mdx

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,52 @@
11
---
22
title: Troubleshooting
33
sidebar_order: 5503
4-
notSupported:
54
description: "Troubleshoot and resolve common issues with the iOS Session Replay."
5+
notSupported:
6+
- apple.macos
7+
- apple.watchos
8+
- apple.tvos
9+
- apple.visionos
610
---
711

12+
<PlatformSection notSupported={["apple.ios"]}>
13+
14+
<Include name="apple-session-replay-support-alert" />
15+
16+
</PlatformSection>
17+
18+
<PlatformSection notSupported={["apple", "apple.macos", "apple.tvos", "apple.watchos", "apple.visionos"]}>
19+
20+
<Expandable title="Does Session Replay work with UIKit, SwiftUI or AppKit?" permalink>
21+
22+
Session Replay works with both UIKit and SwiftUI.
23+
24+
</Expandable>
25+
26+
<Expandable title="Does Session Replay work on macOS, watchOS, tvOS and visionOS?" permalink>
27+
28+
We don't actively prevent you from using Session Replay on these platforms, but we only officially [support it on iOS](/platforms/apple/guides/ios/session-replay/). As a consequence, we can't make guarantees about its functionality and performance on other platforms.
29+
30+
</Expandable>
31+
32+
<Expandable title="Why are parts of my replay not masked?" permalink>
33+
34+
Text views, input views, images, video players and webviews are all masked by default. Images with bundled assets aren't masked because the likelihood of these assets containing PII is low. If you encounter a view that should be masked by default, consider opening a [GitHub issue](https://github.com/getsentry/sentry-cocoa/issues).
35+
36+
</Expandable>
37+
38+
<Expandable title="What's the lowest version of iOS supported?" permalink>
39+
40+
Session Replay recording happens even on the lowest version supported by the Sentry SDK, which is aligend with appstore support.
41+
42+
</Expandable>
43+
44+
<Expandable title="Why is my issue missing a replay?" permalink>
45+
46+
An issue may be missing a replay because the user's device was [offline](/product/explore/session-replay/mobile#frequently-asked-questions) while `sessionSampleRate` was specified, your project/organization was rate-limited, or (in rare cases) the device failed to capture the replay video.
47+
48+
</Expandable>
49+
850
<Expandable title="AVFoundation views and layers are not rendered" permalink>
951

1052
Session Replay currently cannot capture content from AVFoundation views and layers. This includes:
@@ -87,3 +129,5 @@ final class SceneDelegate: NSObject, UIWindowSceneDelegate {
87129
```
88130

89131
</Expandable>
132+
133+
</PlatformSection>

docs/platforms/java/common/tracing/trace-propagation/index.mdx

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,34 @@ If you run any JavaScript applications in your distributed system, make sure tha
3232
<PlatformContent includePath="distributed-tracing/how-to-use/" />
3333

3434
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.
35+
36+
### tracePropagationTargets
37+
38+
The Java SDK will attach the `sentry-trace` and `baggage` headers to all outgoing requests by default. To narrow
39+
this down to only specific URLs, add those URLs to the `tracePropagationTargets` allowlist, (you can use both
40+
strings and regexes). The SDK will then only attach the `sentry-trace` and `baggage` headers to outgoing requests matching the allowlist.
41+
42+
<Alert>
43+
The `tracePropagationTargets` option can contain full URLs (e.g. `"https://api.myproject.org/request/path"`), sub-strings (e.g. `"api.myproject.org"`) or regular expressions (e.g. `"https://[\w]*\.myproject\.org/.*"`).
44+
</Alert>
45+
46+
Since the value of `tracePropagationTargets` is `".*"` by default, tracing headers are attached to all requests unless otherwise specified.
47+
48+
```java {tabTitle:Java}
49+
Sentry.init(context, options -> {
50+
final ArrayList<String> tracePropagationTargets = new ArrayList<>();
51+
tracePropagationTargets.add("https://api.myproject.org/");
52+
53+
options.setDsn("___PUBLIC_DSN___");
54+
options.setTracePropagationTargets(tracePropagationTargets);
55+
});
56+
```
57+
58+
```kotlin {tabTitle:Kotlin}
59+
Sentry.init(context, { options ->
60+
options.setDsn("___PUBLIC_DSN___")
61+
options.setTracePropagationTargets(listOf(
62+
"https://api.myproject.org/"
63+
))
64+
})
65+
```

docs/pricing/index.mdx

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ This page gives you an in-depth understanding of our pricing and billing structu
3131
We bill based on the amount of data processed. Each [paid plan](https://sentry.io/pricing/) comes with the below pre-set monthly event volume, which is included in the price:
3232

3333
- 50k errors
34-
- 10M spans
34+
- 5GB logs
35+
- 5M spans
3536
- 50 replays
3637
- 1 uptime monitor
3738
- 1 cron monitor
@@ -66,13 +67,21 @@ Please note that all per-category prices listed below have been rounded.
6667
| >10M-20M | $0.0001300 | $0.0001625 | $0.0002600 | $0.0003250 |
6768
| >20M | $0.0001200 | $0.0001500 | $0.0002400 | $0.0003000 |
6869

70+
#### Logs Pricing
71+
72+
All Sentry plans include 5GB of logs. Additional usage can only be purchased with your PAYG budget.
73+
74+
| Team PAYG | Business PAYG |
75+
| ------------ | ------------- |
76+
| $0.50/GB | $0.50/GB |
77+
6978
#### Tracing Pricing
7079

7180
Tracing is enabled by and will be billed for in spans.
7281

7382
| Span Volume | Team Reserved | Team PAYG | Business Reserved | Business PAYG |
7483
| ----------- | ------------- | ---------- | ----------------- | ------------- |
75-
| >10M-100M | $0.0000016 | $0.0000020 | $0.0000032 | $0.0000040 |
84+
| >5M-100M | $0.0000016 | $0.0000020 | $0.0000032 | $0.0000040 |
7685
| >100M | $0.0000014 | $0.0000018 | $0.0000029 | $0.0000036 |
7786

7887
#### Replays Pricing

0 commit comments

Comments
 (0)