diff --git a/docs/platforms/javascript/common/configuration/options.mdx b/docs/platforms/javascript/common/configuration/options.mdx index 9761465d6983a..1c9e97e4ea325 100644 --- a/docs/platforms/javascript/common/configuration/options.mdx +++ b/docs/platforms/javascript/common/configuration/options.mdx @@ -18,7 +18,7 @@ sidebar_order: 1 - + The organization ID for your Sentry project. @@ -436,7 +436,7 @@ If you want to disable trace propagation, you can set this option to `[]`. - + If set to `true`, the SDK will only continue a trace if the organization ID of the incoming trace found in the `baggage` header matches the organization ID of the current Sentry client. diff --git a/platform-includes/distributed-tracing/how-to-use/javascript.capacitor.mdx b/platform-includes/distributed-tracing/how-to-use/javascript.capacitor.mdx new file mode 100644 index 0000000000000..c67ea38598c22 --- /dev/null +++ b/platform-includes/distributed-tracing/how-to-use/javascript.capacitor.mdx @@ -0,0 +1,54 @@ +If you're using the current version of our Capacitor SDK, distributed tracing will work out of the box. + +To get around possible [Browser CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) issues, define your `tracePropagationTargets`. + +```javascript +Sentry.init({ + dsn: "___PUBLIC_DSN___", + tracesSampleRate: 1.0, + tracePropagationTargets: ["https://myproject.org", /^\/api\//], +}); +``` + +### Strict Trace Continuation + +When your application receives requests, they might include `sentry-trace` and `baggage` headers from an upstream service that is also using Sentry. +By default, the SDK will continue the trace from these incoming headers. However, this behavior can be undesirable if the requests are from a third-party service, +as it can lead to unwanted traces, increased billing, and skewed performance data. + +To prevent this, you can enable `strictTraceContinuation`. When this option is set to `true`, the SDK checks the incoming request for Sentry trace information and only continues the trace if it belongs to the same Sentry organization. +Otherwise, it starts a new trace. + +```javascript {4} +Sentry.init({ + dsn: "___PUBLIC_DSN___", + tracesSampleRate: 1.0, + // Ensure that only traces from your own organization are continued + strictTraceContinuation: true, +}); +``` + +The SDK automatically parses the organization ID from your DSN. If you use a DSN format that doesn't include the organization ID (number followed by the letter `"o"`), or if you need to override it, you can provide it manually using the `orgId` option: + +```javascript {5} +Sentry.init({ + dsn: "___PUBLIC_DSN___", + tracesSampleRate: 1.0, + strictTraceContinuation: true, + // Manually provide your organization ID (overrides organization ID parsed from DSN) + orgId: 12345, +}); +``` + +### Disabling Distributed Tracing + +If you want to disable distributed tracing and ensure no Sentry trace headers are sent, you can configure your SDK like this: + +```javascript +Sentry.init({ + dsn: "___PUBLIC_DSN___", + + // Overwrite the defaults to ensure no trace headers are sent + tracePropagationTargets: [], +}); +```