Skip to content
Open
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 @@ -4,7 +4,7 @@ sidebar_order: 200
description: "Learn more about the methods that disable integrations."
---

All of Sentry’s SDKs provide integrations, which extend functionality of the SDK. Most integrations are enabled by default, though you can disable them if needed.
The SDK provides integrations, which extend functionality of the SDK. Most integrations are enabled by default, though you can disable them if needed.

# Options

Expand Down
3 changes: 1 addition & 2 deletions docs/platforms/dotnet/common/configuration/draining.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ notSupported:
- unreal
---

The default behavior of most SDKs is to send out events over the network
asynchronously in the background. This means that some events might be lost if the application shuts down unexpectedly. The SDKs provide mechanisms to cope with this.
By default the SDK sends out events over the network on a background thread. This means that some events might be lost if the application shuts down unexpectedly. The SDK provides mechanisms to cope with this.

<PlatformContent includePath="configuration/drain-example" />
4 changes: 2 additions & 2 deletions docs/platforms/dotnet/common/configuration/filtering.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ sidebar_order: 60

When you add Sentry to your app, you get a lot of valuable information about errors and performance. And lots of information is good -- as long as it's the right information, at a reasonable volume.

The Sentry SDKs have several configuration options to help you filter out events.
The SDK has several configuration options to help you filter out events.

We also offer [Inbound Filters](/concepts/data-management/filtering/) to filter events in sentry.io. We recommend filtering at the client level though, because it removes the overhead of sending events you don't actually want. Learn more about the [fields available in an event](https://develop.sentry.dev/sdk/data-model/event-payloads/).

Expand All @@ -16,7 +16,7 @@ To prevent certain errors from being reported to Sentry, use the <PlatformIdenti

### Using <PlatformIdentifier name="before-send" />

All Sentry SDKs support the <PlatformIdentifier name="before-send" /> callback method. Because it's called immediately before the event is sent to the server, this is your last chance to decide not to send data or to edit it. <PlatformIdentifier name="before-send" /> receives the event object as a parameter, which you can use to either modify the events data or drop it completely by returning `null`, based on custom logic and the data available on the event.
The SDK supports the <PlatformIdentifier name="before-send" /> callback method. Because it's called immediately before the event is sent to the server, this is your last chance to decide not to send data or to edit it. <PlatformIdentifier name="before-send" /> receives the event object as a parameter, which you can use to either modify the event's data or drop it completely by returning `null`, based on custom logic and the data available on the event.

<PlatformContent includePath="configuration/before-send/" />

Expand Down
18 changes: 9 additions & 9 deletions docs/platforms/dotnet/common/configuration/options.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ Sets the distribution of the application. Distributions are used to disambiguate

<SdkOption name="Release" type="string" envVar="SENTRY_RELEASE">

Sets the release. Some SDKs will try to automatically configure a release out of the box but it's a better idea to manually set it to guarantee that the release is in sync with your deploy integrations or source map uploads. Release names are strings, but some formats are detected by Sentry and might be rendered differently. Learn more about how to send release data so Sentry can tell you about regressions between releases and identify the potential source in [the releases documentation](/product/releases/) or the <SandboxLink scenario="releases">sandbox</SandboxLink>.
Sets the release. The SDK will try to automatically configure a release out of the box but it's a better idea to manually set it to guarantee that the release is in sync with your deploy integrations or source map uploads. Release names are strings, but some formats are detected by Sentry and might be rendered differently. Learn more about how to send release data so Sentry can tell you about regressions between releases and identify the potential source in [the releases documentation](/product/releases/) or the <SandboxLink scenario="releases">sandbox</SandboxLink>.

By default the SDK will try to read this value from the `SENTRY_RELEASE` environment variable (in the browser SDK, this will be read off of the `window.SENTRY_RELEASE.id` if available).

Expand Down Expand Up @@ -139,7 +139,7 @@ This variable controls the total amount of breadcrumbs that should be captured.

<SdkOption name="MaxCacheItems" type="int" defaultValue="30">

The maximum number of [envelopes](https://develop.sentry.dev/sdk/data-model/envelopes/) to keep in cache. The SDKs use envelopes to send data, such as events, attachments, user feedback, and sessions to sentry.io. An envelope can contain multiple items, such as an event with a session and two attachments. Depending on the usage of the SDK, the size of an envelope can differ. If the number of envelopes in the local cache exceeds `max-cache-items`, the SDK deletes the oldest envelope and migrates the sessions to the next envelope to maintain the integrity of your release health stats. The default is `30`.
The maximum number of [envelopes](https://develop.sentry.dev/sdk/data-model/envelopes/) to keep in cache. The SDK uses envelopes to send data, such as events, attachments, user feedback, and sessions to sentry.io. An envelope can contain multiple items, such as an event with a session and two attachments. Depending on the usage of the SDK, the size of an envelope can differ. If the number of envelopes in the local cache exceeds `max-cache-items`, the SDK deletes the oldest envelope and migrates the sessions to the next envelope to maintain the integrity of your release health stats. The default is `30`.

</SdkOption>

Expand Down Expand Up @@ -198,7 +198,7 @@ This option can be overridden using <PlatformIdentifier name="InAppInclude" />.
This parameter controls whether integrations should capture HTTP request bodies. It can be set to one of the following values:

- `none`: **default** Request bodies are never sent.
- `small`: Only small request bodies will be captured. The cutoff for small depends on the SDK (typically 4KB).
- `small`: Only small request bodies will be captured (typically 4KB).
- `medium`: Medium and small requests will be captured (typically 10KB).
- `always`: The SDK will always capture the request body as long as Sentry can make sense of it.

Expand Down Expand Up @@ -235,7 +235,7 @@ These options can be used to hook the SDK in various ways to customize the repor

<SdkOption name="SetBeforeSend" type="function">

This function is called with an SDK-specific message or error event object, and can return a modified event object, or `null` to skip reporting the event. This can be used, for instance, for manual PII stripping before sending.
This function is called with the event payload, and can return a modified event object, or `null` to skip reporting the event. This can be used, for instance, for manual PII stripping before sending.

By the time <PlatformIdentifier name="SetBeforeSend" /> is executed, all scope data has already been applied to the event. Further modification of the scope won't have any effect.

Expand All @@ -245,14 +245,14 @@ When filtering based on exception types, the original exception (including any `

<SdkOption name="SetBeforeBreadcrumb" type="function">

This function is called with an SDK-specific breadcrumb object before the breadcrumb is added to the scope. When nothing is returned from the function, the breadcrumb is dropped. To pass the breadcrumb through, return the first argument, which contains the breadcrumb object.
This function is called with a breadcrumb object before the breadcrumb is added to the scope. When `null` is returned from the function, the breadcrumb is dropped. To pass the breadcrumb through, return the first argument, which contains the breadcrumb object.
The callback typically gets a second argument (called a "hint") which contains the original object from which the breadcrumb was created to further customize what the breadcrumb should look like.

</SdkOption>

<SdkOption name="SetBeforeSendTransaction" type="function">

This function is called with an SDK-specific transaction object, and can return a modified transaction object, or `null` to skip reporting the transaction. This can be used, for instance, for manual PII-stripping before sending.
This function is called with a transaction object, and can return a modified transaction object, or `null` to skip reporting the transaction. This can be used, for instance, for manual PII-stripping before sending.

By the time <PlatformIdentifier name="SetBeforeSendTransaction" /> is executed, all scope data has already been applied to the event and further modification of the scope won't have any effect.

Expand All @@ -264,13 +264,13 @@ Transports are used to send events to Sentry. Transports can be customized to so

<SdkOption name="Transport" type="function">

Switches out the transport used to send events. How this works depends on the SDK. It can, for instance, be used to capture events for unit-testing or to send it through some more complex setup that requires proxy authentication.
Switches out the transport used to send events. It can, for instance, be used to capture events for unit-testing or to send it through some more complex setup that requires proxy authentication.

</SdkOption>

<SdkOption name="HttpProxy" type="string">

When set, a proxy can be configured that should be used for outbound requests. This is also used for HTTPS requests unless a separate `https-proxy` is configured. However, not all SDKs support a separate HTTPS proxy. SDKs will attempt to default to the system-wide configured proxy, if possible. For instance, on Unix systems, the `http_proxy` environment variable will be picked up.
When set, a proxy can be configured that should be used for outbound requests. This is also used for HTTPS requests. A separate HTTPS proxy is currently not supported. The SDK will attempt to default to the system-wide configured proxy, if possible. For instance, on Unix systems, the `http_proxy` environment variable will be picked up.

</SdkOption>

Expand Down Expand Up @@ -320,7 +320,7 @@ The default is `1` (one) second.

<SdkOption name="ShutdownTimeout" type="int">

Controls how many seconds to wait before shutting down. Sentry SDKs send events from a background queue. This queue is given a certain amount to drain pending events. The default is SDK specific but typically around two seconds. Setting this value too low may cause problems for sending events from command line applications. Setting the value too high will cause the application to block for a long time for users experiencing network connectivity problems.
Controls how many seconds to wait before shutting down. The SDK sends events from a background queue. This queue is given a certain amount to drain pending events. Setting this value too low may cause problems for sending events from command line applications. Setting the value too high will cause the application to block for a long time for users experiencing network connectivity problems.

</SdkOption>

Expand Down
2 changes: 1 addition & 1 deletion docs/platforms/dotnet/common/configuration/releases.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ In order to monitor release health, the SDK sends session data.

### Sessions

A session represents the interaction between the user and the application. Sessions contain a timestamp, a status (if the session was OK or if it crashed), and are always linked to a release. Most Sentry SDKs can manage sessions automatically.
A session represents the interaction between the user and the application. Sessions contain a timestamp, a status (if the session was OK or if it crashed), and are always linked to a release. The SDK can manage sessions automatically.

<PlatformContent includePath="configuration/auto-session-tracking" />

Expand Down
4 changes: 1 addition & 3 deletions docs/platforms/dotnet/common/configuration/sampling.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Choose a sampling rate with the goal of finding a balance between performance an

## Configuring the Transaction Sample Rate

The Sentry SDKs have two configuration options to control the volume of transactions sent to Sentry, allowing you to take a representative sample:
The SDK has two configuration options to control the volume of transactions sent to Sentry, allowing you to take a representative sample:

1. Uniform sample rate (<PlatformIdentifier name="traces-sample-rate" />):

Expand All @@ -58,8 +58,6 @@ By default, none of these options are set, meaning no transactions will be sent

### Default Sampling Context Data

The information contained in the <PlatformIdentifier name="sampling-context" /> object passed to the <PlatformIdentifier name="traces-sampler" /> when a transaction is created varies by platform and integration.

<PlatformContent includePath="performance/default-sampling-context" />

### Custom Sampling Context Data
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ These are some great examples for data scrubbing that every company should think

We offer the following options depending on your legal and operational needs:

- filtering or scrubbing sensitive data within the SDK, so that data is _not sent to_ Sentry. Different SDKs have different capabilities, and configuration changes require a redeployment of your application.
- filtering or scrubbing sensitive data within the SDK, so that data is _not sent to_ Sentry. Configuration changes require a redeployment of your application.
- [configuring server-side scrubbing](/security-legal-pii/scrubbing/server-side-scrubbing/) to ensure Sentry does _not store_ data. Configuration changes are done in the Sentry UI and apply immediately for new events.
- [running a local Relay](/product/relay/) on your own server between the SDK and Sentry, so that data is _not sent to_ Sentry while configuration can still be applied without deploying.

Expand All @@ -33,7 +33,7 @@ If you are using Sentry in your mobile app, read our [frequently asked questions

## Personally Identifiable Information (PII)

Our newer SDKs do not purposefully send PII to stay on the safe side. This behavior is controlled by an option called [`send-default-pii`](../../configuration/options/#SendDefaultPii).
The SDK purposefully does not send PII to stay on the safe side. This behavior is controlled by an option called [`SendDefaultPii`](../../configuration/options/#SendDefaultPii).

Turning this option on is required for certain features in Sentry to work, but also means you will need to be even more careful about what data is being sent to Sentry (using the options below).

Expand All @@ -43,7 +43,7 @@ If you _do not_ wish to use the default PII behavior, you can also choose to ide

### <PlatformIdentifier name="before-send" /> & <PlatformIdentifier name="before-send-transaction" />

SDKs provide a <PlatformIdentifier name="before-send" /> hook, which is invoked before an error or message event is sent and can be used to modify event data to remove sensitive information. Some SDKs also provide a <PlatformIdentifier name="before-send-transaction" /> hook which does the same thing for transactions. We recommend using <PlatformIdentifier name="before-send" /> and <PlatformIdentifier name="before-send-transaction" /> in the SDKs to **scrub any data before it is sent**, to ensure that sensitive data never leaves the local environment.
The SDK provides a <PlatformIdentifier name="before-send" /> hook, which is invoked before an error or message event is sent and can be used to modify event data to remove sensitive information. The SDK also provide a <PlatformIdentifier name="before-send-transaction" /> hook which does the same thing for transactions. We recommend using <PlatformIdentifier name="before-send" /> and <PlatformIdentifier name="before-send-transaction" /> in the SDK to **scrub any data before it is sent**, to ensure that sensitive data never leaves the local environment.

<PlatformContent includePath="configuration/before-send/" />

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ Manually record a breadcrumb:

## Customize Breadcrumbs

SDKs allow you to customize breadcrumbs through the <PlatformIdentifier name="before-breadcrumb" /> hook.
The SDK allows you to customize breadcrumbs through the <PlatformIdentifier name="before-breadcrumb" /> hook.

This hook is passed an already assembled breadcrumb and, in some SDKs, an optional hint. The function can modify the breadcrumb or decide to discard it entirely by returning `null`:
This hook is passed an already assembled breadcrumb and, optionally, <PlatformLink to="/configuration/filtering/#using-hints">a `hint` object</PlatformLink> containing extra metadata. The function can modify the breadcrumb or decide to discard it entirely by returning `null`:

<PlatformContent includePath="enriching-events/breadcrumbs/before-breadcrumb" />
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Learn more about conventions for common contexts in the [contexts interface deve

When sending context, _consider payload size limits_. Sentry does not recommend sending the entire application state and large data blobs in contexts. If you exceed the maximum payload size, Sentry will respond with HTTP error `413 Payload Too Large` and reject the event.

The Sentry SDK will try its best to accommodate the data you send and trim large context payloads. Some SDKs can truncate parts of the event; for more details, see the [developer documentation on SDK data handling](https://develop.sentry.dev/sdk/expected-features/data-handling/).
The Sentry SDK will try its best to accommodate the data you send and trim large context payloads. The SDK may truncate parts of the event; for more details, see the [developer documentation on SDK data handling](https://develop.sentry.dev/sdk/expected-features/data-handling/).

## Additional Data

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,9 @@ An alternative, or addition, to the username. Sentry is aware of email addresses
### `ip_address`

The user's IP address. If the user is unauthenticated, Sentry uses the IP address as a unique identifier for the user.
Serverside SDKs that instrument incoming requests will attempt to pull the IP address from the HTTP request data (`request.env.REMOTE_ADDR` field in JSON), if available. That might require <PlatformIdentifier name="send-default-pii" /> set to `true` in the SDK options.
The SDK will attempt to pull the IP address from the HTTP request data on incoming requests (`request.env.REMOTE_ADDR` field in JSON), if available. That requires <PlatformIdentifier name="send-default-pii" /> set to `true` in the SDK options.

If the user's `ip_address` is set to `"{{auto}}"`, Sentry will infer the IP address from the connection between your app and Sentry's server.

If the field is omitted, the default value is `null`. However, due to backwards compatibility concerns, certain platforms (in particular JavaScript) have a different default value for `"{{auto}}"`. SDKs and other clients should not rely on this behavior and should set IP addresses or `"{{auto}}"` explicitly.
If the user's `ip_address` is set to `"{{auto}}"`, Sentry will infer the IP address from the connection between your app and Sentry's server. If the field is omitted, the default value is `null`.

To opt out of storing users' IP addresses in your event data, you can go to your project settings, click on "Security & Privacy", and enable "Prevent Storing of IP Addresses" or use Sentry's [server-side data](/security-legal-pii/scrubbing/) scrubbing to remove `$user.ip_address`. Adding such a rule ultimately overrules any other logic.

Expand Down
Loading