Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ In the above cases, if you cannot loosen the requirements of your environment, y

### So when do I choose `native`?

Since SDK version [0.13.2](https://github.com/getsentry/sentry-native/releases/tag/0.13.2), the Native SDK comes with a new experimental out-of-process backend called `native`. It is implemented as part of the Native SDK and built on the SDK's own event, envelope, transport, attachment, options, and hook infrastructure.
Since SDK version [0.13.2](https://github.com/getsentry/sentry-native/releases/tag/0.13.2), the Native SDK comes with an out-of-process backend called `native`. It is implemented as part of the Native SDK and built on the SDK's own event, envelope, transport, attachment, options, and hook infrastructure.

The main advantages are tighter integration with the Native SDK and no external crash-handler dependency. As an out-of-process backend, `native` runs crash handling in the lightweight `sentry-crash` daemon and can send crash reports at crash time, similar to `crashpad`. Because crash collection is implemented in the SDK, `native` can call SDK-level hooks such as `before_screenshot`, and can [report an event, a minidump, or both](/platforms/native/configuration/backends/native/). The backend is also fully compatible with TSAN and ASAN builds.

Expand All @@ -84,7 +84,7 @@ If you dive into the details, you will find many trade-offs in the selection of

Sentry suggests the following sequence for your backend evaluations:

* `crashpad` (default on Windows, macOS, and Linux), or `native` (experimental)
* `crashpad` (default on Windows, macOS, and Linux), or `native`
* `breakpad`
* `inproc` (default on Android)

Expand Down
8 changes: 4 additions & 4 deletions docs/platforms/native/configuration/backends/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ CMake option, with support for the following options:
- [`crashpad`](crashpad/): This uses the out-of-process crashpad handler.
It is used as the default on Windows, macOS, and Linux.
- [`native`](native/): This uses the out-of-process native handler. It is
available as an experimental backend since SDK version [0.13.2](https://github.com/getsentry/sentry-native/releases/tag/0.13.2).
available since SDK version [0.13.2](https://github.com/getsentry/sentry-native/releases/tag/0.13.2).
- `breakpad`: This uses the in-process breakpad handler.
- `inproc`: A small in-process handler supported on all platforms
and used as a default on Android.
Expand All @@ -33,9 +33,9 @@ The following table summarizes backend support for each target OS:

| OS | `crashpad` | `native` | `breakpad` | `inproc` |
| -------- | ---------- | -------- | ---------- | -------- |
| Windows | ✅ Default | ⚠️ Experimental | ✅ | ✅ |
| macOS | ✅ Default | ⚠️ Experimental | ✅ | ✅ |
| Linux | ✅ Default | ⚠️ Experimental | ✅ | ✅ |
| Windows | ✅ Default | | ✅ | ✅ |
| macOS | ✅ Default | | ✅ | ✅ |
| Linux | ✅ Default | | ✅ | ✅ |
| Android | ❌ | ❌ | ⚠️ Untested <sup>1</sup> | ✅ Default |
| iOS | ❌ | ❌ | ⚠️ Untested <sup>1</sup> | ⚠️ Untested <sup>1</sup> |

Expand Down
6 changes: 3 additions & 3 deletions docs/platforms/native/configuration/backends/native.mdx
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
---
title: Native
description: Learn how to configure the experimental native crash backend.
description: Learn how to configure the native crash backend.
---

The `native` backend is an experimental out-of-process backend available since
SDK version [0.13.2](https://github.com/getsentry/sentry-native/releases/tag/0.13.2).
The `native` backend is an out-of-process backend available since SDK version
[0.13.2](https://github.com/getsentry/sentry-native/releases/tag/0.13.2).
It is the most actively developed crash backend and is intended to become the
default backend in the future.
To use it, configure the CMake build with the `SENTRY_BACKEND=native` option:
Expand Down
Loading