Skip to content

Commit 4470aa5

Browse files
authored
Merge branch 'master' into aliu/ff-integration-doc-python
2 parents e7bff6c + fae853c commit 4470aa5

File tree

37 files changed

+479
-122
lines changed

37 files changed

+479
-122
lines changed

app/layout.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,17 @@ export default function RootLayout({children}: {children: React.ReactNode}) {
4949
data-api="https://plausible.io/api/event"
5050
src="https://plausible.io/js/script.tagged-events.js"
5151
/>
52+
<Script
53+
async
54+
src="https://widget.kapa.ai/kapa-widget.bundle.js"
55+
data-website-id="cac7cc70-969e-4bc1-a968-55534a839be4"
56+
data-button-hide // do not render kapa ai button
57+
data-modal-override-open-class="kapa-ai-class" // all elements with this class will open the kapa ai modal
58+
data-project-name="Sentry"
59+
data-project-color="#6A5FC1"
60+
data-project-logo="https://docs.sentry.io/_next/static/media/sentry-logo-dark.fc8e1eeb.svg"
61+
data-font-family="var(--font-rubik)"
62+
/>
5263
</html>
5364
);
5465
}

develop-docs/sdk/telemetry/traces/index.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -232,12 +232,12 @@ If no `tracesSampler` callback is used, the SDK fully inherits sampling decision
232232

233233
The random value is set according to the following rules:
234234

235-
1. When an SDK starts a new trace, `sample_rand` is always set to a random number in the range of `[0, 1]`. This explicitly includes traces that aren't sampled, as well as when the `tracesSampleRate` is set to `0.0` or `1.0`.
235+
1. When an SDK starts a new trace, `sample_rand` is always set to a random number in the range of `[0, 1)` (including 0.0, excluding 1.0). This explicitly includes traces that aren't sampled, as well as when the `tracesSampleRate` is set to `0.0` or `1.0`.
236236
2. It is _recommended_ to generate the random number deterministically using the trace ID as seed or source of randomness. The exact method by which the random number is created is implementation defined and may vary between SDK implementations. See 4. on why this behaviour is desirable.
237237
3. On incoming traces, an SDK assumes the `sample_rand` value along with the rest of the DSC, overriding an existing value if needed.
238238
4. If `sample_rand` is missing on an incoming trace, the SDK creates and from now on propagates a new random number on-the-fly, based on the following rules:
239239
1. If `sample_rate` and `sampled` are propgated, create `sample_rand` so that it adheres to the invariant. This means, for a decision of `True` generate a random number in half-open range `[0, rate)` and for a decision of `False` generate a random number in range `[rate, 1]`.
240-
2. If the sampling decision is missing, generate a random number in range of `[0, 1]`, like for a new trace.
240+
2. If the sampling decision is missing, generate a random number in range of `[0, 1)` (including 0.0, excluding 1.0), like for a new trace.
241241

242242
The SDK should always use the stored random number (`sentry-sample_rand`) for sampling decisions and should no longer rely on `math.random()` or similar functions in tracing code:
243243

docs/platforms/android/enriching-events/attachments/index.mdx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,20 @@ The filename is the name of the file to display in Sentry. When using bytes you
2727

2828
The type of content stored in this attachment. Any [MIME type](https://www.iana.org/assignments/media-types/media-types.xhtml) may be used; the default is `application/octet-stream`.
2929

30+
`mimetype`
31+
32+
The specific media content type that determines how the attachment is rendered in the Sentry UI. We currently support and can render the following MIME types:
33+
34+
- `text/plain`
35+
- `text/css`
36+
- `text/csv`
37+
- `text/html`
38+
- `text/javascript`
39+
- `text/json` or `text/x-json` or `application/json` or `application/ld+json`
40+
- `image/jpeg`
41+
- `image/png`
42+
- `image/gif`
43+
3044
## Uploading Attachments
3145

3246
<PlatformContent includePath="enriching-events/add-attachment" />

docs/platforms/android/index.mdx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,6 @@ Select which Sentry features you'd like to install in addition to Error Monitori
4949

5050
Sentry captures data by using an SDK within your application's runtime. These are platform-specific and allow Sentry to have a deep understanding of how your application works.
5151

52-
In addition to capturing errors, you can monitor interactions between multiple services or applications by [enabling tracing](https://docs.sentry.io/concepts/key-terms/tracing/). You can also collect and analyze performance profiles from real users with [profiling](https://docs.sentry.io/product/explore/profiling/). To enable tracing and/or profiling, click the corresponding checkmarks to get the code snippets.
53-
5452
We recommend installing the SDK through our [Sentry Wizard](https://github.com/getsentry/sentry-wizard) by running the following command inside your project directory:
5553

5654
```bash

docs/platforms/android/session-replay/index.mdx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ description: "Learn how to enable the Beta of Mobile Session Replay in your app.
77

88
<Note>
99

10-
Mobile support for Session Replay is in Beta. Features available in Beta are still work-in-progress and may have bugs. We recognize the irony.
10+
Mobile support for Session Replay is in beta until January 6th, 2025. Features available in beta are still work-in-progress and may have bugs. We recognize the irony.
11+
12+
All beta users will continue to receive 2 months free of Session Replay for Mobile once we transition to GA.
1113

1214
If you have any questions, feedback or would like to report a bug, please open a [GitHub issue](https://github.com/getsentry/sentry-java/issues/new?assignees=&labels=Platform%3A+Android%2CType%3A+Bug&projects=&template=bug_report_android.yml) with a link to a relevant replay in Sentry if possible.
1315

docs/platforms/apple/common/enriching-events/attachments/index.mdx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,20 @@ The filename is the name of the file to display in Sentry. When using bytes you
2727

2828
The type of content stored in this attachment. Any [MIME type](https://www.iana.org/assignments/media-types/media-types.xhtml) may be used; the default is `application/octet-stream`.
2929

30+
`mimetype`
31+
32+
The specific media content type that determines how the attachment is rendered in the Sentry UI. We currently support and can render the following MIME types:
33+
34+
- `text/plain`
35+
- `text/css`
36+
- `text/csv`
37+
- `text/html`
38+
- `text/javascript`
39+
- `text/json` or `text/x-json` or `application/json` or `application/ld+json`
40+
- `image/jpeg`
41+
- `image/png`
42+
- `image/gif`
43+
3044
## Uploading Attachments
3145

3246
Attachments live on the <PlatformLink to="/enriching-events/scopes/">Scope</PlatformLink>. You can either add an attachment on the global scope to be sent with every event or add it on the <PlatformLink to="/enriching-events/scopes/#local-scopes">local Scope</PlatformLink> to just send the attachment with one specific event.

docs/platforms/apple/common/index.mdx

Lines changed: 101 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -18,23 +18,36 @@ The support for [visionOS](https://developer.apple.com/visionos/) is currently e
1818

1919
## Features
2020

21+
<PlatformSection notSupported={["apple.tvos", "apple.watchos", "apple.visionos"]}>
22+
2123
In addition to capturing errors, you can monitor interactions between multiple services or applications by [enabling tracing](/concepts/key-terms/tracing/). You can also collect and analyze performance profiles from real users with [profiling](/product/explore/profiling/).
2224

25+
</PlatformSection>
26+
27+
<PlatformSection notSupported={["apple.ios", "apple.macos"]}>
28+
29+
In addition to capturing errors, you can monitor interactions between multiple services or applications by [enabling tracing](/concepts/key-terms/tracing/).
30+
31+
</PlatformSection>
32+
2333
Select which Sentry features you'd like to install in addition to Error Monitoring to get the corresponding installation and configuration instructions below.
2434

2535
## Install
2636

27-
<OnboardingOptionButtons
28-
options={[
29-
'error-monitoring',
30-
'performance',
31-
'profiling',
32-
]}
33-
/>
37+
<PlatformSection notSupported={["apple.tvos", "apple.watchos", "apple.visionos"]}>
3438

35-
Sentry captures data by using an SDK within your application's runtime. These are platform-specific and allow Sentry to have a deep understanding of how your application works.
39+
<OnboardingOptionButtons options={['error-monitoring', 'performance', 'profiling']}/>
40+
41+
</PlatformSection>
42+
43+
<PlatformSection notSupported={["apple.ios", "apple.macos"]}>
44+
45+
<OnboardingOptionButtons options={['error-monitoring', 'performance']}/>
46+
47+
</PlatformSection>
3648

37-
In addition to capturing errors, you can monitor interactions between multiple services or applications by [enabling tracing](https://docs.sentry.io/concepts/key-terms/tracing/). You can also collect and analyze performance profiles from real users with [profiling](https://docs.sentry.io/product/profiling/). To enable tracing and/or profiling, click the corresponding checkmarks to get the code snippets.
49+
50+
Sentry captures data by using an SDK within your application's runtime. These are platform-specific and allow Sentry to have a deep understanding of how your application works.
3851

3952
<PlatformSection notSupported={["apple.ios"]}>
4053

@@ -72,8 +85,9 @@ If you prefer, you can also [set up the SDK manually](/platforms/apple/guides/io
7285

7386
To capture all errors, initialize the SDK as soon as possible, such as in your `AppDelegate` `application:didFinishLaunchingWithOptions` method:
7487

88+
<PlatformSection notSupported={["apple.tvos", "apple.watchos", "apple.visionos"]}>
7589

76-
```swift {tabTitle:Swift} {"onboardingOptions": {"performance": "9-12", "profiling": "13-16"}}
90+
```swift {tabTitle:Swift} {"onboardingOptions": {"performance": "9-12", "profiling": "14-24"}}
7791
import Sentry
7892

7993
func application(_ application: UIApplication,
@@ -88,22 +102,22 @@ func application(_ application: UIApplication,
88102
options.tracesSampleRate = 1.0
89103
}
90104

91-
// Manually call startProfiler and stopProfiler to profile any code that runs in between.
92-
SentrySDK.startProfiler()
105+
// Manually call startProfiler and stopProfiler to profile any code that runs in between.
106+
SentrySDK.startProfiler()
93107

94-
//
95-
// ...anything here will be profiled...
96-
//
108+
//
109+
// ...anything here will be profiled...
110+
//
97111

98-
// Calls to stopProfiler are optional - if you don't stop the profiler, it will keep profiling
99-
// your application until the process exits, the app goes to the background, or stopProfiling is called.
100-
SentrySDK.stopProfiler()
112+
// Calls to stopProfiler are optional - if you don't stop the profiler, it will keep profiling
113+
// your application until the process exits, the app goes to the background, or stopProfiling is called.
114+
SentrySDK.stopProfiler()
101115

102116
return true
103117
}
104118
```
105119

106-
```objc {tabTitle:Objective-C} {"onboardingOptions": {"performance": "8-11", "profiling": "12-15"}}
120+
```objc {tabTitle:Objective-C} {"onboardingOptions": {"performance": "8-11", "profiling": "13-23"}}
107121
@import Sentry;
108122

109123
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
@@ -117,16 +131,16 @@ func application(_ application: UIApplication,
117131
options.tracesSampleRate = @1.0;
118132
}];
119133

120-
// Manually call startProfiler and stopProfiler to profile any code that runs in between.
121-
[SentrySDK startProfiler];
134+
// Manually call startProfiler and stopProfiler to profile any code that runs in between.
135+
[SentrySDK startProfiler];
122136

123-
//
124-
// ...anything here will be profiled...
125-
//
137+
//
138+
// ...anything here will be profiled...
139+
//
126140

127-
// Calls to stopProfiler are optional - if you don't stop the profiler, it will keep profiling
128-
// your application until the process exits, the app goes to the background, or stopProfiling is called.
129-
[SentrySDK stopProfiler];
141+
// Calls to stopProfiler are optional - if you don't stop the profiler, it will keep profiling
142+
// your application until the process exits, the app goes to the background, or stopProfiling is called.
143+
[SentrySDK stopProfiler];
130144

131145
return YES;
132146
}
@@ -153,6 +167,66 @@ struct SwiftUIApp: App {
153167
}
154168
}
155169
```
170+
</PlatformSection>
171+
172+
<PlatformSection notSupported={["apple.ios", "apple.macos"]}>
173+
174+
```swift {tabTitle:Swift} {"onboardingOptions": {"performance": "9-12"}}
175+
import Sentry
176+
177+
func application(_ application: UIApplication,
178+
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
179+
180+
SentrySDK.start { options in
181+
options.dsn = "___PUBLIC_DSN___"
182+
options.debug = true // Enabled debug when first installing is always helpful
183+
184+
// Set tracesSampleRate to 1.0 to capture 100% of transactions for performance monitoring.
185+
// We recommend adjusting this value in production.
186+
options.tracesSampleRate = 1.0
187+
}
188+
189+
return true
190+
}
191+
```
192+
193+
```objc {tabTitle:Objective-C} {"onboardingOptions": {"performance": "8-11"}}
194+
@import Sentry;
195+
196+
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
197+
198+
[SentrySDK startWithConfigureOptions:^(SentryOptions *options) {
199+
options.dsn = @"___PUBLIC_DSN___";
200+
options.debug = YES; // Enabled debug when first installing is always helpful
201+
202+
// Set tracesSampleRate to 1.0 to capture 100% of transactions for performance monitoring.
203+
// We recommend adjusting this value in production.
204+
options.tracesSampleRate = @1.0;
205+
}];
206+
207+
return YES;
208+
}
209+
```
210+
211+
```swift {tabTitle:SwiftUI with App conformer} {"onboardingOptions": {"performance": "9-12"}}
212+
import Sentry
213+
214+
@main
215+
struct SwiftUIApp: App {
216+
init() {
217+
SentrySDK.start { options in
218+
options.dsn = "___PUBLIC_DSN___"
219+
options.debug = true // Enabled debug when first installing is always helpful
220+
221+
// Set tracesSampleRate to 1.0 to capture 100% of transactions for performance monitoring.
222+
// We recommend adjusting this value in production.
223+
options.tracesSampleRate = 1.0
224+
}
225+
}
226+
}
227+
```
228+
229+
</PlatformSection>
156230

157231
## Verify
158232

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@ description: "Learn how to enable the Beta of Mobile Session Replay in your app.
77

88
<Note>
99

10-
Mobile support for Session Replay is in Beta. Features available in Beta are still work-in-progress and may have bugs. We recognize the irony.
10+
Mobile support for Session Replay is in beta until January 6th, 2025. Features available in beta are still work-in-progress and may have bugs. We recognize the irony.
1111

12-
If you have any questions, feedback or would like to report a bug, please open a [GitHub issue](https://github.com/getsentry/sentry-cocoa/issues/new?assignees=&labels=Platform%3A+Cocoa%2CType%3A+Bug&projects=&template=bug.yml) with a link to a relevant replay in Sentry if possible.
12+
All beta users will continue to receive 2 months free of Session Replay for Mobile once we transition to GA.
13+
14+
If you have any questions, feedback or would like to report a bug, please open a [GitHub issue](https://github.com/getsentry/sentry-java/issues/new?assignees=&labels=Platform%3A+Android%2CType%3A+Bug&projects=&template=bug_report_android.yml) with a link to a relevant replay in Sentry if possible.
1315

1416
</Note>
1517

@@ -110,4 +112,4 @@ A: Text views, input views, images, video players and webviews are all masked by
110112

111113
Q: What's the lowest version of iOS supported?
112114

113-
A: Session Replay recording happens even on the lowest version supported by the Sentry SDK, which is aligend with appstore support.
115+
A: Session Replay recording happens even on the lowest version supported by the Sentry SDK, which is aligend with appstore support.

docs/platforms/dart/enriching-events/attachments/index.mdx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,20 @@ The filename is the name of the file to display in Sentry. When using bytes you
2727

2828
The type of content stored in this attachment. Any [MIME type](https://www.iana.org/assignments/media-types/media-types.xhtml) may be used; the default is `application/octet-stream`.
2929

30+
`mimetype`
31+
32+
The specific media content type that determines how the attachment is rendered in the Sentry UI. We currently support and can render the following MIME types:
33+
34+
- `text/plain`
35+
- `text/css`
36+
- `text/csv`
37+
- `text/html`
38+
- `text/javascript`
39+
- `text/json` or `text/x-json` or `application/json` or `application/ld+json`
40+
- `image/jpeg`
41+
- `image/png`
42+
- `image/gif`
43+
3044
## Uploading Attachments
3145

3246
Attachments live on the <PlatformLink to="/enriching-events/scopes/">Scope</PlatformLink>. You can either add an attachment on the global scope to be sent with every event or add it on the <PlatformLink to="/enriching-events/scopes/#local-scopes">local Scope</PlatformLink> to just send the attachment with one specific event.

docs/platforms/dotnet/common/enriching-events/attachments/index.mdx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,20 @@ The filename is the name of the file to display in Sentry. When using bytes you
3333

3434
The type of content stored in this attachment. Any [MIME type](https://www.iana.org/assignments/media-types/media-types.xhtml) may be used; the default is `application/octet-stream`.
3535

36+
`mimetype`
37+
38+
The specific media content type that determines how the attachment is rendered in the Sentry UI. We currently support and can render the following MIME types:
39+
40+
- `text/plain`
41+
- `text/css`
42+
- `text/csv`
43+
- `text/html`
44+
- `text/javascript`
45+
- `text/json` or `text/x-json` or `application/json` or `application/ld+json`
46+
- `image/jpeg`
47+
- `image/png`
48+
- `image/gif`
49+
3650
## Uploading Attachments
3751

3852
Attachments live on the <PlatformLink to="/enriching-events/scopes/">Scope</PlatformLink>. You can either add an attachment on the global scope to be sent with every event or add it on the <PlatformLink to="/enriching-events/scopes/#local-scopes">local Scope</PlatformLink> to just send the attachment with one specific event.

0 commit comments

Comments
 (0)