Skip to content

Commit 77ce956

Browse files
committed
Merge branch 'master' into antonis/expo-debug-source-maps
2 parents 487ab29 + 3b9796e commit 77ce956

File tree

15 files changed

+125
-133
lines changed

15 files changed

+125
-133
lines changed

develop-docs/development/database-migrations/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ sidebar_order: 30
55

66
Django migrations are how we handle changes to the database in Sentry.
77

8-
Django migration official docs: [https://docs.djangoproject.com/en/2.2/topics/migrations/](https://docs.djangoproject.com/en/2.2/topics/migrations/) . These will cover most things you need to understand what a migration is doing.
8+
Django migration official docs: [https://docs.djangoproject.com/en/5.1/topics/migrations/](https://docs.djangoproject.com/en/5.1/topics/migrations/) . These will cover most things you need to understand what a migration is doing.
99

1010
## Commands
1111

develop-docs/development/environment/index.mdx

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -55,20 +55,6 @@ You can create other users with `sentry createuser`.
5555

5656
Please refer to [Frontend Development Server](/frontend/development-server/) and [Backend Development Server](/backend/development-server/) for alternative ways to bring up the Sentry UI.
5757

58-
### Enabling HTTPS
59-
60-
You may wish to run the development server in HTTPS mode. This can be done by generating and installing local certificates.
61-
62-
We will be using [mkcert](https://github.com/FiloSottile/mkcert) to create and install a locally-trusted, development certificate. The following will install `mkcert` and then create and install the local certificates.
63-
64-
```shell
65-
brew install mkcert
66-
brew install nss # if you use Firefox
67-
yarn mkcert-localhost
68-
```
69-
70-
Running `sentry devserver` will automatically use HTTPS when the certificates have been installed.
71-
7258
### Ingestion Pipeline (Relay) aka Sending Events to your Dev Environment
7359

7460
<Link to="/services/relay/">Relay</Link> and the ingest workers are not started by default. Follow the instructions below to start them so you can send events to your dev environment Sentry instance:

docs/concepts/key-terms/tracing/distributed-tracing.mdx

Lines changed: 74 additions & 94 deletions
Large diffs are not rendered by default.

docs/platforms/apple/common/configuration/watchdog-terminations.mdx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,15 @@ description: "Learn how to turn off Watchdog Termination tracking"
1313

1414
This integration tracks [watchdog terminations](https://developer.apple.com/documentation/xcode/addressing-watchdog-terminations) based on heuristics. This feature is available for iOS, tvOS, and Mac Catalyst, works only if the application was in the foreground, and doesn't track watchdog terminations for unit tests.
1515

16-
When a typical unhandled error occurs, the Apple SDK writes a report to disk with the current state of your application, with details like the stack trace, tags, breadcrumbs, and so on, before the app terminates. When the watchdog terminates your app this happens without further notice, which means the SDK can't write a report to disk. A common reason the watchdog can terminate your app is an Out Of Memory problem. If the app is terminated because it hangs, we don't create a watchdog termination event, but instead an `AppHangs` event is created.
16+
When a typical unhandled error occurs, the Apple SDK writes a report to disk before the app terminates. It includes the current state of your application with details like the stack trace, tags, breadcrumbs, and so on.
17+
18+
The watchdog terminates your app without notice, which means the SDK can't write a report to disk.
19+
A common reason for the watchdog to terminate your app is an Out Of Memory problem.
20+
21+
Note, that there are some security-related types of crashes where the OS immediately terminates the app. These are usually infrequent, and include stack buffer overflows or exceptions with a termination reason related to code signing. Third-party libraries like Sentry can't report these incidents.
22+
23+
Those types of crashes can sometimes be visible in the [Xcode Organizer](https://developer.apple.com/documentation/xcode/acquiring-crash-reports-and-diagnostic-logs), though.
24+
If the app is terminated because it hangs, we won't create a watchdog termination event. An `AppHangs` event will be created instead.
1725

1826
As a result, in the Apple SDK, we track watchdog terminations during the app start based on heuristics, but getting the state of the app when a watchdog termination occurs is challenging. The SDK adds breadcrumbs to watchdog termination events by appending the breadcrumbs to an open file, which should have a marginal impact on your app's performance. Still, it skips adding some frequently changing context to avoid extra I/O, such as free memory, free storage, device orientation, charging status, battery level, etc.
1927

docs/platforms/native/guides/minidumps/index.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,8 @@ curl -X POST \
111111
For the full list of supported values, see [_Event Payloads_](https://develop.sentry.dev/sdk/event-payloads/) and linked
112112
documents.
113113

114+
If your minidump's size exceeds the [limits](#size-limits) in the next section, you can compress it using `gzip`, `zstd`, `bzip2` or `xz` and refer the `upload_file_minidump` to the compressed file instead of the plain minidump.
115+
114116
## Size Limits
115117

116118
Event ingestion imposes limits on the size and number of fields in multipart

docs/platforms/python/integrations/aiohttp/index.mdx

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,8 @@ sentry_sdk.init(
6767
# same as above
6868
integrations=[
6969
AioHttpIntegration(
70-
transaction_style="method_and_path_pattern",
70+
transaction_style="...", # type: str
71+
failed_request_status_codes={...} # type: collections.abc.Set[int]
7172
),
7273
],
7374
)
@@ -84,6 +85,21 @@ Configure the way Sentry names transactions:
8485

8586
The default is `"handler_name"`.
8687

88+
### `failed_request_status_codes`
89+
90+
A `set` of integers that will determine when an `HTTPException` should be reported to Sentry. The `HTTPException` is reported to Sentry if its status code is contained in the `failed_request_status_codes` set.
91+
92+
Examples of valid `failed_request_status_codes`:
93+
94+
- `{500}` will only report `HTTPException` with status 500 (i.e. `HTTPInternalServerError`).
95+
- `{400, *range(500, 600)}` will report `HTTPException` with status 400 (i.e. `HTTPBadRequest`) as well as those in the 5xx range.
96+
- `set()` (the empty set) will not report any `HTTPException` to Sentry.
97+
98+
The default is `{*range(500, 600)}`, meaning that any `HTTPException` with a status in the 5xx range is reported to Sentry.
99+
100+
Regardless of how `failed_request_status_codes` is set, any exceptions raised by the handler, which are not of type `HTTPException` (or a subclass) are reported to Sentry. For example, if your request handler raises an unhandled `AttributeError`, the `AttributeError` gets reported to Sentry, even if you have set `failed_request_status_codes=set()`.
101+
102+
87103
## Supported Versions
88104

89105
- AIOHTTP: 3.5+

docs/platforms/python/integrations/fastapi/index.mdx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -81,12 +81,12 @@ sentry_sdk.init(
8181
integrations=[
8282
StarletteIntegration(
8383
transaction_style="endpoint",
84-
failed_request_status_codes=[403, range(500, 599)],
84+
failed_request_status_codes={403, *range(500, 599)},
8585
http_methods_to_capture=("GET",),
8686
),
8787
FastApiIntegration(
8888
transaction_style="endpoint",
89-
failed_request_status_codes=[403, range(500, 599)],
89+
failed_request_status_codes={403, *range(500, 599)},
9090
http_methods_to_capture=("GET",),
9191
),
9292
]
@@ -132,16 +132,16 @@ You can pass the following keyword arguments to `StarletteIntegration()` and `Fa
132132

133133
- `failed_request_status_codes`:
134134

135-
A list of integers or containers (objects that allow membership checks via `in`)
136-
of integers that will determine which status codes should be reported to Sentry.
135+
A `set` of integers that will determine which status codes should be reported to Sentry.
137136

138137
Examples of valid `failed_request_status_codes`:
139138

140-
- `[500]` will only send events on HTTP 500.
141-
- `[400, range(500, 599)]` will send events on HTTP 400 as well as the 500-599 range.
142-
- `[500, 503]` will send events on HTTP 500 and 503.
139+
- `{500}` will only send events on HTTP 500.
140+
- `{400, *range(500, 600)}` will send events on HTTP 400 as well as the 5xx range.
141+
- `{500, 503}` will send events on HTTP 500 and 503.
142+
- `set()` (the empty set) will not send events for any HTTP status code.
143143

144-
The default is `[range(500, 599)]`.
144+
The default is `{*range(500, 600)}`, meaning that all 5xx status codes are reported to Sentry.
145145

146146
- `http_methods_to_capture`:
147147

docs/platforms/python/integrations/starlette/index.mdx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ sentry_sdk.init(
5959
integrations=[
6060
StarletteIntegration(
6161
transaction_style="endpoint",
62-
failed_request_status_codes=[403, range(500, 599)],
62+
failed_request_status_codes={403, *range(500, 599)},
6363
middleware_spans=False,
6464
http_methods_to_capture=("GET",),
6565
)
@@ -89,16 +89,16 @@ You can pass the following keyword arguments to `StarletteIntegration()`:
8989

9090
- `failed_request_status_codes`:
9191

92-
A list of integers or containers (objects that allow membership checks via `in`)
93-
of integers that will determine which status codes should be reported to Sentry.
92+
A `set` of integers that will determine which status codes should be reported to Sentry.
9493

9594
Examples of valid `failed_request_status_codes`:
9695

97-
- `[500]` will only send events on HTTP 500.
98-
- `[400, range(500, 599)]` will send events on HTTP 400 as well as the 500-599 range.
99-
- `[500, 503]` will send events on HTTP 500 and 503.
96+
- `{500}` will only send events on HTTP 500.
97+
- `{400, *range(500, 600)}` will send events on HTTP 400 as well as the 5xx range.
98+
- `{500, 503}` will send events on HTTP 500 and 503.
99+
- `set()` (the empty set) will not send events for any HTTP status code.
100100

101-
The default is `[range(500, 599)]`.
101+
The default is `{*range(500, 600)}`, meaning that all 5xx status codes are reported to Sentry.
102102

103103
- `middleware_spans`:
104104

docs/platforms/react-native/integrations/component-names.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ module.exports = withSentryConfig(config, { annotateReactComponents: true });
4343
const { getSentryExpoConfig } = require("@sentry/react-native/metro");
4444

4545
// const config = getDefaultConfig(__dirname);
46-
const config = getSentryExpoConfig(config, { annotateReactComponents: true });
46+
const config = getSentryExpoConfig(__dirname, { annotateReactComponents: true });
4747
```
4848

4949
## How It Works

docs/platforms/react-native/manual-setup/metro.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ module.exports = withSentryConfig(config);
3434
const { getSentryExpoConfig } = require("@sentry/react-native/metro");
3535

3636
// const config = getDefaultConfig(__dirname);
37-
const config = getSentryExpoConfig(config, {});
37+
const config = getSentryExpoConfig(__dirname);
3838
```
3939

4040
### Wrap Your Custom Serializer

0 commit comments

Comments
 (0)