From 43dcf9d3f36e3d0543751fe326c2ddd9b8d86488 Mon Sep 17 00:00:00 2001 From: Stephanie Anderson Date: Tue, 17 Feb 2026 14:17:14 +0100 Subject: [PATCH 1/7] docs(sdk): Add two principles extracted from overview Move "SDK Errors" and "Layer of Integration" from sdk/overview.mdx into working principles as "Never capture your own exceptions" and "Integrate at the lowest level". Drop "Ten" from the index description since the count is no longer fixed. Co-Authored-By: Claude --- develop-docs/sdk/getting-started/index.mdx | 2 +- develop-docs/sdk/getting-started/principles/index.mdx | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/develop-docs/sdk/getting-started/index.mdx b/develop-docs/sdk/getting-started/index.mdx index 05ebd3df1c135..2f1e955187a17 100644 --- a/develop-docs/sdk/getting-started/index.mdx +++ b/develop-docs/sdk/getting-started/index.mdx @@ -10,4 +10,4 @@ The [values](philosophy/) that shape what we build. Why SDKs exist, what makes a ## Principles -Ten working [principles](principles/) for how we collaborate, review, and ship. They translate philosophy into daily decisions: who owns what, when to automate vs. judge, and why small PRs beat big ones. +Working [principles](principles/) for how we collaborate, review, and ship. They translate philosophy into daily decisions: who owns what, when to automate vs. judge, and why small PRs beat big ones. diff --git a/develop-docs/sdk/getting-started/principles/index.mdx b/develop-docs/sdk/getting-started/principles/index.mdx index cc906f9205974..62d9cc88ac1bd 100644 --- a/develop-docs/sdk/getting-started/principles/index.mdx +++ b/develop-docs/sdk/getting-started/principles/index.mdx @@ -1,6 +1,6 @@ --- title: Principles -description: These working principles govern how SDK teams collaborate, review, and ship. They build on the SDK philosophy, which governs what we build and how our SDKs should behave. Where a philosophy principle has direct implications for how we work, it is referenced below. +description: These working principles govern how SDK teams collaborate, review, and ship. They build on the SDK philosophy, which governs what we build and how our SDKs should behave. sidebar_order: 2 --- @@ -43,3 +43,11 @@ Changes must solve a real problem. No speculative refactors, no "improvements" w ## If it's not written, it's not a rule If you expect engineers (or AI tools) to follow a practice, it must be in a document that's discoverable and machine-readable. Verbal norms and tribal knowledge don't scale, and AI tools can't read them at all. See [Write Down the Rules](/sdk/getting-started/philosophy/#write-down-the-rules) for more information. + +## Never capture your own exceptions + +SDKs must never capture Sentry events for exceptions happening within the SDK itself, including within user-defined callbacks and hooks such as `before_send` or `traces_sampler`. We are already in an event capturing flow where the scope has been applied - capturing another event at that point would lead to undefined behavior. In the worst case, it creates a busy loop of creating and sending events repeatedly until the system crashes. If the SDK throws, swallow gracefully and emit an error-level log. In mobile SDKs, unhandled crashes will still make it to Sentry via crash handlers. See [SDK Crash Detection](https://github.com/getsentry/sentry/tree/master/src/sentry/utils/sdk_crashes#sdk-crash-detection) for more details. + +## Integrate at the lowest level + +SDKs should integrate on the lowest level possible to capture as much of the runtime as they can. Hooking the runtime or a framework directly is preferred over requiring users to subclass specific base classes or mix in helpers. For example, the Python SDK monkey-patches core functionality in frameworks to automatically pick up on errors and integrate scope handling. From 953bca50fcac7fa5b7d8aaf19bd650f4b69daa15 Mon Sep 17 00:00:00 2001 From: Stephanie Anderson Date: Tue, 17 Feb 2026 14:20:23 +0100 Subject: [PATCH 2/7] docs(sdk): Add foundations/transport section Create the foundations/ layer of the SDK docs restructure: - git mv envelopes, envelope-items from data-model/ to foundations/transport/ - git mv rate-limiting from expected-features/ to foundations/transport/ - git mv overview to foundations/, strip transport content already extracted into dedicated pages - New pages: authentication (DSN, auth headers, HTTP headers), compression (content-encoding, transfer encoding), transport index (response handling, server errors) - Add redirects for all moved pages in middleware.ts - Demote processes/ sidebar_order to 99 (being superseded) Co-Authored-By: Claude --- develop-docs/sdk/foundations/index.mdx | 9 + develop-docs/sdk/foundations/overview.mdx | 91 +++++ .../foundations/transport/authentication.mdx | 146 +++++++ .../sdk/foundations/transport/compression.mdx | 20 + .../transport}/envelope-items.mdx | 6 +- .../transport}/envelopes.mdx | 10 +- .../sdk/foundations/transport/index.mdx | 50 +++ .../transport}/rate-limiting.mdx | 6 +- develop-docs/sdk/overview.mdx | 363 ------------------ develop-docs/sdk/processes/index.mdx | 2 +- src/middleware.ts | 16 + 11 files changed, 344 insertions(+), 375 deletions(-) create mode 100644 develop-docs/sdk/foundations/index.mdx create mode 100644 develop-docs/sdk/foundations/overview.mdx create mode 100644 develop-docs/sdk/foundations/transport/authentication.mdx create mode 100644 develop-docs/sdk/foundations/transport/compression.mdx rename develop-docs/sdk/{data-model => foundations/transport}/envelope-items.mdx (98%) rename develop-docs/sdk/{data-model => foundations/transport}/envelopes.mdx (97%) create mode 100644 develop-docs/sdk/foundations/transport/index.mdx rename develop-docs/sdk/{expected-features => foundations/transport}/rate-limiting.mdx (96%) delete mode 100644 develop-docs/sdk/overview.mdx diff --git a/develop-docs/sdk/foundations/index.mdx b/develop-docs/sdk/foundations/index.mdx new file mode 100644 index 0000000000000..199ca91aeb465 --- /dev/null +++ b/develop-docs/sdk/foundations/index.mdx @@ -0,0 +1,9 @@ +--- +title: Foundations +description: Core concepts and infrastructure that every SDK builds on - transport protocol, data model, contexts, scopes, and attributes. +sidebar_order: 2 +--- + +The building blocks every SDK depends on. Understand how SDKs communicate with Sentry and the data structures they share. + + diff --git a/develop-docs/sdk/foundations/overview.mdx b/develop-docs/sdk/foundations/overview.mdx new file mode 100644 index 0000000000000..e2ad968efbe5a --- /dev/null +++ b/develop-docs/sdk/foundations/overview.mdx @@ -0,0 +1,91 @@ +--- +title: Overview +description: What an SDK is, what it does, and how end-users interact with it. +sidebar_order: 1 +--- + +## Writing an SDK + +At its core an SDK is a set of utilities for capturing data about an exceptional state in an application. Given this data, it then builds and sends a JSON payload to the Sentry server. + +The following items are expected of production-ready SDKs: + +- DSN configuration +- Graceful failures (e.g. Sentry server is unreachable) +- Setting attributes (e.g. tags and extra data) +- Support for Linux, Windows and OS X (where applicable) + +Feature based support is required for the following: + +- If cookie data is available, it's not sent by default +- If POST data is available, it's not sent by default + +Additionally, the following features are highly encouraged: + +- Automated error capturing (e.g. uncaught exception handlers) +- Logging framework integration +- Non-blocking event submission +- Context data helpers (e.g. setting the current user, recording breadcrumbs) +- Event sampling +- Honor Sentry's [Rate Limiting](/sdk/foundations/transport/rate-limiting/) HTTP headers +- Pre and Post event send hooks +- Local variable values in stack trace (on platforms where this is possible) +- Send an `environment` on each event. If none was detected or set by the user, `production` should be used. + +Please see the expected features page for descriptions of commonly Sentry SDK features. + +## Usage for End-users + +Generally, using an SDK consists of three steps for the end user, which should look almost identical no matter the language: + +1. Initialization of the SDK (sometimes this is hidden from the user): + + ```javascript + Sentry.init({dsn: '___PROJECT.DSN___'}); + ``` + + ```python + sentry_sdk.init('___PROJECT.DSN___') + ``` + +2. Capturing an event: + + ```javascript + var resultId = Sentry.captureException(myException); + ``` + + ```python + result_id = sentry_sdk.capture_exception(my_exception); + ``` + +3. Using the result of an event capture: + + ```javascript + alert(`Your exception was recorded as ${resultId}`); + ``` + + ```python + print('Your exception was recorded as %s', result_id); + ``` + +`init` ideally allows several configuration methods. The first argument should always be the DSN value (if possible): + +```javascript +Sentry.init({ + 'dsn': '___PROJECT.DSN___', + 'foo': 'bar' +}) +``` + + +SDKs should accept an empty DSN as valid configuration. + +If an SDK is not initialized or if it is initialized with an empty DSN, the SDK should not send any data over the network, such as captured exceptions. +Depending on the platform, the SDK may avoid performing unnecessary initialization work and reduce its runtime footprint to a minimum. + + +Additionally, you should provide global functions which allow for capturing of +a basic message or exception: + +- `Sentry.captureMessage(message)` +- `Sentry.captureException(exception)` diff --git a/develop-docs/sdk/foundations/transport/authentication.mdx b/develop-docs/sdk/foundations/transport/authentication.mdx new file mode 100644 index 0000000000000..475647e124ba0 --- /dev/null +++ b/develop-docs/sdk/foundations/transport/authentication.mdx @@ -0,0 +1,146 @@ +--- +title: Authentication +description: DSN format, authentication headers, and HTTP conventions for communicating with Sentry. +sidebar_order: 1 +--- + +## Parsing the DSN + +SDKs are encouraged to allow arbitrary options via the constructor, but must allow the first argument as a DSN string. This string contains the following bits: + +``` +'{PROTOCOL}://{PUBLIC_KEY}:{SECRET_KEY}@{HOST}{PATH}/{PROJECT_ID}' +``` + +The final endpoint you'll be sending requests to is constructed per the following: + +``` + {BASE_URI} = '{PROTOCOL}://{HOST}{PATH}' + +'{BASE_URI}/api/{PROJECT_ID}/{ENDPOINT}/' +``` + +Within the `HOST` segment you will find the ingest domain for your organization. For self-hosted instances this will be the base host of your instance, and for sentry.io it will contain a host in the pattern of `o{orgid}.ingest.{region}.sentry.io`. For US based accounts `o{orgid}.ingest.sentry.io` will also work. + + +All segments, including PROJECT_ID, are of type String. + + +Sentry provides the following endpoints: + +- [/envelope/](../envelopes/) for any submission using Envelopes. +- [`/minidump/`](https://docs.sentry.io/platforms/native/minidump/) for multipart requests containing Minidumps. +- [`/unreal/`](https://docs.sentry.io/platforms/unreal/configuration/setup-crashreporter/) for Unreal + Engine 4 crash reports. +- [`/playstation/`](https://docs.sentry.io/platforms/playstation/) for PlayStation crash reports. + + The PlayStation endpoint has limited access and requires allowlisting. Support involves components that are part of a partnership with Sony which cannot be made public or redistributed. This endpoint is only available in SaaS. + +- [`/security/`](https://docs.sentry.io/error-reporting/security-policy-reporting/) for Browser + CSP reports, usually configured in a browser instead of an SDK. + +See the respective endpoints for information on how to compose proper request payloads. + +For example, given the following constructor: + +```javascript +Sentry.init({dsn: 'https://public@sentry.example.com/1'}) +``` + +You should parse the following settings: + +- URI = `https://sentry.example.com` +- Public Key = `public` +- Project ID = `1` + +The resulting POST request for a plain JSON payload would then transmit to: + +``` +'https://sentry.example.com/api/1/store/' +``` + + +The secret part of the DSN is optional and effectively deprecated at this point. While clients are still supposed to honor it if supplied future versions of Sentry will entirely ignore it. The DSN parsing code must not require the secret key to be set. + + +## Authentication Header + +An authentication header is expected to be sent along with the message body, which acts as an ownership identifier: + +``` +X-Sentry-Auth: Sentry sentry_version=7, + sentry_client=, + sentry_key=, + sentry_secret= +``` + +The `sentry_secret` must only be included if a secret key portion was contained in the DSN. Future versions of the protocol will fully deprecate the secret key. + + +You should include the SDK version string in the User-Agent portion of the header, and it will be used if `sentry_client` is not sent in the auth header. + + +In situations where it's not possible to send the custom `X-Sentry-Auth` header, it's possible to send these values via the querystring: + +``` +?sentry_version=7&sentry_key=&sentry_secret=... +``` + +`sentry_key` + +: **Required.** The public key which should be provided as part of the SDK configuration. + +`sentry_version` + +: **Required.** The protocol version. The current version of the protocol is `7`. + +`sentry_client` + +: **Recommended.** An arbitrary string that identifies your SDK, including its version. The typical pattern for this is `client_name/client_version`. For example, the Python SDK might send this as `sentry.python/1.0`. + +`sentry_timestamp` + +: The unix timestamp representing the time at which this event was generated. *This key is effectively deprecated, and it is ignored on the receiving side. Use the [`sent_at` envelope header](../envelopes/#envelope-headers) instead.* + +`sentry_secret` + +: The secret key which should be provided as part of the SDK configuration. *This key is effectively deprecated, and no longer needs to be set. However, since it was required in older versions, it should still be allowed and passed through to Sentry if set.* + +## HTTP Headers + +We recommend always sending the following headers: + +- `content-type` +- `content-length` +- `user-agent` + +The following additional headers are permitted as per CORS policy: + +- `x-sentry-auth` +- `x-requested-with` +- `x-forwarded-for` +- `origin` +- `referer` +- `accept` +- `authentication` +- `authorization` +- `content-encoding` +- `transfer-encoding` + +### User Agent + +All SDKs are expected to report their name and version via the `user-agent` header. The following format should be used (unless required or recommended differently by the platform, e.g. for browser SDKs, where the user agent header must be set by the browser itself): + +`{sdk-name}/{sdk-version}` + +For example: +- `sentry.python/1.45.0` +- `sentry.php/4.7.0` +- `sentry-ruby/5.17.3` +- `sentry.cocoa/8.24.0` + +Additional information about the runtime, operating system, and others can be appended as comments in parentheses, separated by `; ` (semicolon and space), like so: + +`{sdk-name}/{sdk-version} ({runtime-name} {runtime-version}; {os-name} {os-version})` + +There is no expectation towards the presence or order of fields. The user agent must not contain PII or otherwise sensitive data. In general it should not contain any information that is not already present in the payload. diff --git a/develop-docs/sdk/foundations/transport/compression.mdx b/develop-docs/sdk/foundations/transport/compression.mdx new file mode 100644 index 0000000000000..3b8f87220e98e --- /dev/null +++ b/develop-docs/sdk/foundations/transport/compression.mdx @@ -0,0 +1,20 @@ +--- +title: Compression +description: Request compression and transfer encoding for Sentry envelope submissions. +sidebar_order: 4 +--- + +## Request Compression + +SDKs are heavily encouraged to compress the request body before sending it to the server to keep the data small. The preferred method for this is to send a `content-encoding` header. The following content encodings are accepted by Relay and Sentry: + +- `gzip`: Using the [LZ77](http://en.wikipedia.org/wiki/LZ77_and_LZ78#LZ77) compression algorithm. +- `deflate`: Using [zlib](http://tools.ietf.org/html/rfc1950) structure with the [deflate](http://tools.ietf.org/html/rfc1951) compression algorithm. +- `br`: Using the [Brotli](https://en.wikipedia.org/wiki/Brotli) algorithm. +- `zstd`: Using the [zstd](https://datatracker.ietf.org/doc/html/rfc8878) algorithm. + +## Transfer Encoding + +Transfer encoding is recommended for only very large requests. Set the header to `transfer-encoding: chunked`, which allows omission of the `content-length` header and requires the request body to be wrapped into chunk headers. + +See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding) for more details. diff --git a/develop-docs/sdk/data-model/envelope-items.mdx b/develop-docs/sdk/foundations/transport/envelope-items.mdx similarity index 98% rename from develop-docs/sdk/data-model/envelope-items.mdx rename to develop-docs/sdk/foundations/transport/envelope-items.mdx index c8ae111923965..025b4c61c86ef 100644 --- a/develop-docs/sdk/data-model/envelope-items.mdx +++ b/develop-docs/sdk/foundations/transport/envelope-items.mdx @@ -1,13 +1,13 @@ --- title: Envelope Items -sidebar_order: 2 +sidebar_order: 3 --- Each Envelope consists of headers and a potentially empty list of Items, each with their own headers. Which Headers are required depends on the Items in an Envelope. This section describes all Item types and their respective required headers. It is worth noting that the list of Item types doesn't match the data -categories used for [rate limiting](/sdk/expected-features/rate-limiting/#definitions) and +categories used for [rate limiting](/sdk/foundations/transport/rate-limiting/#definitions) and client reports. The type of an Item is declared in the `type` header, as well as the payload @@ -263,7 +263,7 @@ project. Sentry uses this ID to render a Replay clip in the feedback UI. **Attaching Files:** You can attach files of any type to a feedback (screenshots, logs, documents, etc.) by sending them as -[attachment items](/sdk/data-model/envelope-items/#attachment), with `event_id` +[attachment items](/sdk/foundations/transport/envelope-items/#attachment), with `event_id` corresponding to the feedback item. We recommend sending the attachment items in the same Envelope as the feedback item. diff --git a/develop-docs/sdk/data-model/envelopes.mdx b/develop-docs/sdk/foundations/transport/envelopes.mdx similarity index 97% rename from develop-docs/sdk/data-model/envelopes.mdx rename to develop-docs/sdk/foundations/transport/envelopes.mdx index d8e0d8d238c63..c1644fdb2c7a5 100644 --- a/develop-docs/sdk/data-model/envelopes.mdx +++ b/develop-docs/sdk/foundations/transport/envelopes.mdx @@ -1,6 +1,6 @@ --- title: Envelopes -sidebar_order: 1 +sidebar_order: 2 --- This document defines the Envelope and Item formats used by Sentry for data @@ -44,7 +44,7 @@ POST /api//envelope/ ## Serialization Format This section defines the Envelope data format and serialization. For details on -data integrity and a list of valid Item types refer to [Envelope Items](/sdk/data-model/envelope-items/). +data integrity and a list of valid Item types refer to [Envelope Items](/sdk/foundations/transport/envelope-items/). ### Prerequisites @@ -101,7 +101,7 @@ Payload = { * } ; [Headers](#headers) section. Attributes defined in the Envelope header scope the contents of the Envelope and can be thought of as applying to all Items. - Based on the contents of the Envelope, certain header attributes may be - required. See [Envelope Items](/sdk/data-model/envelope-items/) for a specification of required + required. See [Envelope Items](/sdk/foundations/transport/envelope-items/) for a specification of required attributes. - **Items** comprise their own headers and a payload. There can be an arbitrary number of **Items** in an Envelope separated by a newline. An @@ -184,7 +184,7 @@ There are two generic headers for every Item: `type` : **String, required.** Specifies the type of this Item and its contents. Based - on the Item type, more headers may be required. See [Envelope Items](/sdk/data-model/envelope-items/) for a list + on the Item type, more headers may be required. See [Envelope Items](/sdk/foundations/transport/envelope-items/) for a list of all Item types. `length` @@ -297,7 +297,7 @@ EOF:** ## Data Model -This section has been moved to [Envelope Items](/sdk/data-model/envelope-items/). +This section has been moved to [Envelope Items](/sdk/foundations/transport/envelope-items/). ## Ingestion This section describes how to ingest Envelopes into Relay or Sentry. The main diff --git a/develop-docs/sdk/foundations/transport/index.mdx b/develop-docs/sdk/foundations/transport/index.mdx new file mode 100644 index 0000000000000..5a8cdc484d089 --- /dev/null +++ b/develop-docs/sdk/foundations/transport/index.mdx @@ -0,0 +1,50 @@ +--- +title: Transport +description: How SDKs send data to Sentry - envelope format, authentication, compression, and rate limiting. +sidebar_order: 1 +--- + +The transport layer handles all communication between an SDK and the Sentry server. SDKs serialize data into [envelopes](envelopes/), [authenticate](authentication/) requests using DSN-derived credentials, optionally [compress](compression/) payloads, and respect [rate limits](rate-limiting/) communicated via response headers. + +## Reading the Response + +On success, you will receive an HTTP response from the server containing a JSON payload with information on the submitted payload: + +```http +HTTP/1.1 200 OK +Content-Type: application/json + +{ + "id": "fc6d8c0c43fc4630ad850ee518f1b9d0" +} +``` + +**Always** check for a `200` response, which confirms the message was delivered. A small level of validation happens immediately that may result in a different response code (and message). + +## Handling Server Errors + +SDKs **MUST** honor the `429` status code and not attempt sending until the `Retry-After` kicks in. SDKs **SHOULD** drop events if Sentry is unavailable instead of retrying. + +To debug an error during development, inspect the response headers and response body. For example, you may get a response similar to: + +```http +HTTP/1.1 400 Bad Request +Content-Type: application/json +X-Sentry-Error: failed to read request body + +{ + "detail":"failed to read request body", + "causes":[ + "failed to decode zlib payload", + "corrupt deflate stream" + ] +} +``` + +The `X-Sentry-Error` header and response body will not always contain a message, but they can still be helpful in debugging clients. When emitted, they will contain a precise error message, which is useful to identify root cause. + + +We do not recommend that SDKs retry event submissions automatically on error — not even if `Retry-After` is declared in the response headers. If a request fails once, it is very likely to fail again on the next attempt. Retrying too often may cause further rate limiting or blocking by the Sentry server. + + + diff --git a/develop-docs/sdk/expected-features/rate-limiting.mdx b/develop-docs/sdk/foundations/transport/rate-limiting.mdx similarity index 96% rename from develop-docs/sdk/expected-features/rate-limiting.mdx rename to develop-docs/sdk/foundations/transport/rate-limiting.mdx index d487c247b54c6..7cebc01b4f23b 100644 --- a/develop-docs/sdk/expected-features/rate-limiting.mdx +++ b/develop-docs/sdk/foundations/transport/rate-limiting.mdx @@ -1,6 +1,6 @@ --- title: Rate Limiting -sidebar_order: 2 +sidebar_order: 5 --- Rate limits are communicated to SDKs via status codes and response headers. For regular rate limit responses, we emit a [`429`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429) status code and specify a [`Retry-After`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After) header. @@ -15,7 +15,7 @@ Each *quota_limit* has the form `retry_after:categories:scope:reason_code:namesp - `retry_after`: Number of seconds (as an integer or a floating point number) until this rate limit expires. - `categories`: Semicolon-separated list of [data categories](https://github.com/getsentry/relay/blob/master/relay-base-schema/src/data_category.rs#L91). **If empty, this limit applies to all categories**. - While these categories might look similar to the [envelope item types](/sdk/data-model/envelope-items/), they are not identical, and have slight differences. + While these categories might look similar to the [envelope item types](/sdk/foundations/transport/envelope-items/), they are not identical, and have slight differences. - `scope`: The scope that this limit applies to. Can be ignored by SDKs. - `reason_code`: A unique identifier for the quota hinting at the rate limiting reason. Can be ignored by SDKs. - `namespaces`: Semicolon-separated list of metric namespace identifiers. This will only be present if the rate limit applies to the `metric_bucket` data category. If the namespace is not present, the backoff applies to all metrics. @@ -83,7 +83,7 @@ Guidelines for how SDKs should determine the current rate limits: As stated earlier, SDKs can ignore the `scope` dimension. These definitions are here as a supplement to explain what the `X-Sentry-Rate-Limits` header is made of. - **Category:** Classifies the type of data that is being counted. Arbitrary categories can be added as long as they can be inferred from the event or data being ingested. -While these [data categories](https://github.com/getsentry/relay/blob/master/relay-base-schema/src/data_category.rs#L91) might look similar to the [envelope item types](/sdk/data-model/envelope-items/), they are not identical, and have slight differences. +While these [data categories](https://github.com/getsentry/relay/blob/master/relay-base-schema/src/data_category.rs#L91) might look similar to the [envelope item types](/sdk/foundations/transport/envelope-items/), they are not identical, and have slight differences. - `default`: Events with an event_type not listed explicitly below. - `error`: Error events. - `transaction`: Transaction type events. diff --git a/develop-docs/sdk/overview.mdx b/develop-docs/sdk/overview.mdx deleted file mode 100644 index 8229dbe8bcfe9..0000000000000 --- a/develop-docs/sdk/overview.mdx +++ /dev/null @@ -1,363 +0,0 @@ ---- -title: Overview -description: The following is a guide for implementing a new Sentry SDK. It covers the protocol for event submission as well as guidelines for how clients should typically look and behave. -sidebar_order: 1 ---- - -## Writing an SDK - -At its core an SDK is a set of utilities for capturing data about an exceptional state in an application. Given this data, it then builds and sends a JSON payload to the Sentry server. - -The following items are expected of production-ready SDKs: - -- DSN configuration -- Graceful failures (e.g. Sentry server is unreachable) -- Setting attributes (e.g. tags and extra data) -- Support for Linux, Windows and OS X (where applicable) - -Feature based support is required for the following: - -- If cookie data is available, it’s not sent by default -- If POST data is available, it’s not sent by default - -Additionally, the following features are highly encouraged: - -- Automated error capturing (e.g. uncaught exception handlers) -- Logging framework integration -- Non-blocking event submission -- Context data helpers (e.g. setting the current user, recording breadcrumbs) -- Event sampling -- Honor Sentry’s Rate Limiting HTTP headers -- Pre and Post event send hooks -- Local variable values in stack trace (on platforms where this is possible) -- Send an `environment` on each event. If none was detected or set by the user, `production` should be used. - -Please see the expected features page for descriptions of commonly Sentry SDK features. - -## Usage for End-users - -Generally, using an SDK consists of three steps for the end user, which should look almost identical no matter the language: - -1. Initialization of the SDK (sometimes this is hidden from the user): - - ```javascript - Sentry.init({dsn: '___PROJECT.DSN___'}); - ``` - - ```python - sentry_sdk.init('___PROJECT.DSN___') - ``` - -2. Capturing an event: - - ```javascript - var resultId = Sentry.captureException(myException); - ``` - - ```python - result_id = sentry_sdk.capture_exception(my_exception); - ``` - -3. Using the result of an event capture: - - ```javascript - alert(`Your exception was recorded as ${resultId}`); - ``` - - ```python - print('Your exception was recorded as %s', result_id); - ``` - -`init` ideally allows several configuration methods. The first argument should always be the DSN value (if possible): - -```javascript -Sentry.init({ - 'dsn': '___PROJECT.DSN___', - 'foo': 'bar' -}) -``` - - -SDKs should accept an empty DSN as valid configuration. - -If an SDK is not initialized or if it is initialized with an empty DSN, the SDK should not send any data over the network, such as captured exceptions. -Depending on the platform, the SDK may avoid performing unnecessary initialization work and reduce its runtime footprint to a minimum. - - -Additionally, you should provide global functions which allow for capturing of -a basic message or exception: - -- `Sentry.captureMessage(message)` -- `Sentry.captureException(exception)` - -## Parsing the DSN - -SDKs are encouraged to allow arbitrary options via the constructor, but must allow the first argument as a DSN string. This string contains the following bits: - -``` -'{PROTOCOL}://{PUBLIC_KEY}:{SECRET_KEY}@{HOST}{PATH}/{PROJECT_ID}' -``` - -The final endpoint you’ll be sending requests to is constructed per the following: - -``` - {BASE_URI} = '{PROTOCOL}://{HOST}{PATH}' - -'{BASE_URI}/api/{PROJECT_ID}/{ENDPOINT}/' -``` - -Within the `HOST` segment you will find the ingest domain for your organization. -For self-hosted instance this will be the base host of your instance, and for -sentry.io it will contain a host in the pattern of -`o{orgid}.ingest.{region}.sentry.io`. For US based accounts -`o{orgid}.ingest.sentry.io` will also work. - - -All segments, including PROJECT_ID, are of type String. - - -Sentry provides the following endpoints: - -- /envelope/ for any submission using Envelopes. -- [`/minidump/`](https://docs.sentry.io/platforms/native/minidump/) for multipart requests containing Minidumps. -- [`/unreal/`](https://docs.sentry.io/platforms/unreal/configuration/setup-crashreporter/) for Unreal - Engine 4 crash reports. -- [`/playstation/`](https://docs.sentry.io/platforms/playstation/) for PlayStation crash reports. - - The PlayStation endpoint has limited access and requires allowlisting. Support involves components that are part of a partnership with Sony which cannot be made public or redistributed. This endpoint is only available in SaaS. - -- [`/security/`](https://docs.sentry.io/error-reporting/security-policy-reporting/) for Browser - CSP reports, usually configured in a browser instead of an SDK. - -See the respective endpoints for information on how to compose proper request -payloads. - -For example, given the following constructor: - -```javascript -Sentry.init({dsn: 'https://public@sentry.example.com/1'}) -``` - -You should parse the following settings: - -- URI = `https://sentry.example.com` -- Public Key = `public` -- Project ID = `1` - -The resulting POST request for a plain JSON payload would then transmit to: - -``` -'https://sentry.example.com/api/1/store/' -``` - - -The secret part of the DSN is optional and effectively deprecated at this point. While clients are -still supposed to honor it if supplied future versions of Sentry will entirely ignore it. The DSN parsing -code must not require the secret key to be set. - - -## Authentication - -An authentication header is expected to be sent along with the message body, -which acts as an ownership identifier: - -``` -X-Sentry-Auth: Sentry sentry_version=7, - sentry_client=, - sentry_key=, - sentry_secret= -``` - -The `sentry_secret` must only be included if a secret key portion was contained -in the DSN. Future versions of the protocol will fully deprecate the secret -key. - - -You should include the SDK version string in the User-Agent portion of the header, and it will be used if `sentry_client` is not sent in the auth header. - - -In situations where it’s not possible to send the custom `X-Sentry-Auth` header, -it’s possible to send these values via the querystring: - -``` -?sentry_version=7&sentry_key=&sentry_secret=... -``` - -`sentry_key` - -: **Required.** The public key which should be provided as part of the SDK - configuration. - -`sentry_version` - -: **Required.** The protocol version. The current version of the protocol is - `7`. - -`sentry_client` - -: **Recommended.** An arbitrary string that identifies your SDK, including its version. The - typical pattern for this is `client_name/client_version`. - For example, the Python SDK might send this as `sentry.python/1.0`. - -`sentry_timestamp` - -: The unix timestamp representing the time at which this event was generated. - *This key is effectively deprecated, and it is ignored on the receiving side. Use the [`sent_at` envelope header](/sdk/data-model/envelopes/#envelope-headers) instead.* - -`sentry_secret` - -: The secret key which should be provided as part of the SDK configuration. - *This key is effectively deprecated, and no longer needs to be set. However, since it was required in older versions, it should still be allowed and passed through to Sentry if set.* - -## HTTP Headers - -We recommend always sending the following headers: - -- `content-type` -- `content-length` -- `user-agent` - -The following additional headers are permitted as per CORS policy: - -- `x-sentry-auth` -- `x-requested-with` -- `x-forwarded-for` -- `origin` -- `referer` -- `accept` -- `authentication` -- `authorization` -- `content-encoding` -- `transfer-encoding` - -### User Agent - -All SDKs are expected to report their name and version via the `user-agent` header. -The following format should be used (unless required or recommended differently by the platform, -e.g. for browser SDKs, where the user agent header must be set by the browser itself): - -`{sdk-name}/{sdk-version}` - -For example: -- `sentry.python/1.45.0` -- `sentry.php/4.7.0` -- `sentry-ruby/5.17.3` -- `sentry.cocoa/8.24.0` - -Additional information about the runtime, operating system, and others can be -appended as comments in parentheses, separated by `; ` (semicolon and space), like so: - -`{sdk-name}/{sdk-version} ({runtime-name} {runtime-version}; {os-name} {os-version})` - -There is no expectation towards the presence or order of fields. The user agent -must not contain PII or otherwise sensitive data. In general it should not contain -any information that is not already present in the payload. - - -## Request Compression - -SDKs are heavily encouraged to compress the request body before sending it to -the server to keep the data small. The preferred method for this is to send a -`content-encoding` header. The following content encodings are accepted by Relay -and Sentry: - -- `gzip`: Using the [LZ77](http://en.wikipedia.org/wiki/LZ77_and_LZ78#LZ77) - compression algorithm. -- `deflate`: Using [zlib](http://tools.ietf.org/html/rfc1950) structure with the - [deflate](http://tools.ietf.org/html/rfc1951) compression algorithm. -- `br`: Using the [Brotli](https://en.wikipedia.org/wiki/Brotli) algorithm. -- `zstd`: Using the [zstd](https://datatracker.ietf.org/doc/html/rfc8878) algorithm. - -## Transfer Encoding - -Transfer encoding is recommended for only very large requests. Set the header to -`transfer-encoding: chunked`, which allows omission of the `content-length` -header and requires the request body to be wrapped into chunk headers. - -See -[MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding) -for more details. - -## Reading the Response - -On success, you will receive an HTTP response from the server containing a JSON -payload with information on the submitted payload: - -```http -HTTP/1.1 200 OK -Content-Type: application/json - -{ - "id": "fc6d8c0c43fc4630ad850ee518f1b9d0" -} -``` - -Note the response code which Sentry will use. **Always** check for a `200` -response, which confirms the message was delivered. A small level of validation -happens immediately that may result in a different response code (and message). - -## Handling Errors - -### Server Errors - -We **highly encourage** that your SDK handle failures from the Sentry server -gracefully. Specifically, SDKs must honor the `429` status code and not attempt -sending until the `Retry-After` kicks in. SDKs should drop events if Sentry is -unavailable instead of retrying. - -To debug an error during development, inspect the response headers and response -body. For example, you may get a response similar to: - -```http -HTTP/1.1 400 Bad Request -Content-Type: application/json -X-Sentry-Error: failed to read request body - -{ - "detail":"failed to read request body", - "causes":[ - "failed to decode zlib payload", - "corrupt deflate stream" - ] -} -``` - -The `X-Sentry-Error` header and response body will not always contain a message, -but they can still be helpful in debugging clients. When emitted, they will -contain a precise error message, which is useful to identify root cause. - - -We do not recommend that SDKs retry event submissions automatically on error -  not even if `Retry-After` is declared in the response headers. If a -request fails once, it is very likely to fail again on the next attempt. -Retrying too often may cause further rate limiting or blocking by the Sentry -server. - - -### SDK Errors - -We try our best to make our SDKs error-free. We are an exception monitoring service after all -and throwing our own exceptions is awkward. However, if our SDKs do throw exceptions, we have to make -sure we swallow them gracefully and emit an error level log describing the failure. - -As a **design principle**, we never capture Sentry events for exceptions happening within our SDKs, including within user-defined callbacks and hooks such as `before_send` or `traces_sampler`. - -The reason we avoid capturing internal SDK exceptions is that we are already in an event capturing flow -where the scope has been applied and capturing another event at that point in the lifecycle -would lead to undefined behavior. In the worst case, we could create a busy loop of creating and sending events repeatedly until the system crashes. - -In mobile SDKs, unhandled crashes will still make it to Sentry via the crash handlers. See [SDK Crash Detection](https://github.com/getsentry/sentry/tree/master/src/sentry/utils/sdk_crashes#sdk-crash-detection) for more details. - -## Concurrency (Scope and Hubs) - -SDKs are supposed to provide standardized concurrency handling through the -concept of hubs and scopes. This is explained in more details in the -Concurrency chapter of the unified API docs. - -## Layer of Integration - -SDKs when possible are supposed to integrate on a low level which will capture as much of the runtime -as possible. This means that if an SDK can hook the runtime or a framework directly this is preferred -over requiring users to subclass specific base classes (or mix in helpers). For instance the Python -SDK will monkey patch core functionality in frameworks to automatically pick up on errors and to integrate -scope handling. diff --git a/develop-docs/sdk/processes/index.mdx b/develop-docs/sdk/processes/index.mdx index d5ccd6814648b..2d48e5f8cb322 100644 --- a/develop-docs/sdk/processes/index.mdx +++ b/develop-docs/sdk/processes/index.mdx @@ -1,7 +1,7 @@ --- title: Processes description: In this section, we aim to highlight some key processes that are essential for SDK development at Sentry. -sidebar_order: 3 +sidebar_order: 99 --- diff --git a/src/middleware.ts b/src/middleware.ts index 8873f84fccd74..92e345becac1b 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -4330,6 +4330,22 @@ const DEVELOPER_DOCS_REDIRECTS: Redirect[] = [ from: '/sdk/philosophy/', to: '/sdk/getting-started/philosophy/', }, + { + from: '/sdk/data-model/envelopes/', + to: '/sdk/foundations/transport/envelopes/', + }, + { + from: '/sdk/data-model/envelope-items/', + to: '/sdk/foundations/transport/envelope-items/', + }, + { + from: '/sdk/expected-features/rate-limiting/', + to: '/sdk/foundations/transport/rate-limiting/', + }, + { + from: '/sdk/overview/', + to: '/sdk/foundations/overview/', + }, ]; const redirectMap = new Map( From 04e04429426988ee5379ce39c5e019b9aaf94b7b Mon Sep 17 00:00:00 2001 From: Stephanie Anderson Date: Tue, 17 Feb 2026 14:55:21 +0100 Subject: [PATCH 3/7] ref: Move data-model/ into foundations/data-model/ Move the entire data-model directory (32 files) under foundations/ to group it with other foundational SDK concepts. Update all references across the codebase from /sdk/data-model/ to the new paths, including envelope/envelope-item links that now point to foundations/transport/. Add redirects for all data-model pages. Co-Authored-By: Claude --- .../feedback-architecture.mdx | 10 +-- .../transaction-clustering/index.mdx | 2 +- develop-docs/backend/issue-platform/index.mdx | 2 +- .../sdk/expected-features/data-handling.mdx | 2 +- develop-docs/sdk/expected-features/index.mdx | 24 +++---- .../data-model/event-payloads/breadcrumbs.mdx | 0 .../data-model/event-payloads/contexts.mdx | 4 +- .../data-model/event-payloads/debugmeta.mdx | 2 +- .../data-model/event-payloads/exception.mdx | 16 ++--- .../data-model/event-payloads/index.mdx | 4 +- .../data-model/event-payloads/lockreason.mdx | 2 +- .../data-model/event-payloads/message.mdx | 2 +- .../properties/contexts_trace.mdx | 2 +- .../event-payloads/properties/description.mdx | 0 .../event-payloads/properties/event_id.mdx | 0 .../properties/measurements.mdx | 0 .../event-payloads/properties/op.mdx | 0 .../properties/parent_span_id.mdx | 0 .../event-payloads/properties/span_id.mdx | 0 .../properties/span_start_timestamp.mdx | 0 .../properties/span_timestamp.mdx | 0 .../event-payloads/properties/spans.mdx | 2 +- .../event-payloads/properties/status.mdx | 0 .../event-payloads/properties/tags.mdx | 0 .../event-payloads/properties/trace_id.mdx | 0 .../properties/transaction_info.mdx | 0 .../event-payloads/properties/type.mdx | 0 .../event-payloads/replay-recording.mdx | 2 +- .../data-model/event-payloads/request.mdx | 0 .../data-model/event-payloads/sdk.mdx | 4 +- .../data-model/event-payloads/span.mdx | 4 +- .../data-model/event-payloads/stacktrace.mdx | 6 +- .../data-model/event-payloads/template.mdx | 0 .../data-model/event-payloads/threads.mdx | 12 ++-- .../data-model/event-payloads/transaction.mdx | 14 ++-- .../data-model/event-payloads/user.mdx | 2 +- .../{ => foundations}/data-model/index.mdx | 0 .../foundations/transport/envelope-items.mdx | 4 +- .../sdk/foundations/transport/envelopes.mdx | 2 +- develop-docs/sdk/miscellaneous/store.mdx | 4 +- .../sdk/miscellaneous/unified-api/index.mdx | 2 +- develop-docs/sdk/processes/basics.mdx | 2 +- .../sdk/research/performance/index.mdx | 2 +- develop-docs/sdk/telemetry/check-ins.mdx | 2 +- develop-docs/sdk/telemetry/feedbacks.mdx | 8 +-- develop-docs/sdk/telemetry/logs.mdx | 24 +++---- develop-docs/sdk/telemetry/metrics.mdx | 12 ++-- .../telemetry/profiles/sample-format-v1.mdx | 8 +-- .../telemetry/profiles/sample-format-v2.mdx | 6 +- develop-docs/sdk/telemetry/replays.mdx | 6 +- develop-docs/sdk/telemetry/sessions/index.mdx | 2 +- .../sdk/telemetry/spans/span-protocol.mdx | 6 +- .../telemetry-processor/batch-processor.mdx | 2 +- .../telemetry/telemetry-processor/index.mdx | 2 +- .../traces/dynamic-sampling-context.mdx | 2 +- develop-docs/sdk/telemetry/traces/index.mdx | 8 +-- .../sdk/telemetry/traces/opentelemetry.mdx | 4 +- .../traces/span-data-conventions.mdx | 2 +- .../sdk/telemetry/traces/trace-origin.mdx | 6 +- src/middleware.ts | 68 +++++++++++++++++++ 60 files changed, 185 insertions(+), 117 deletions(-) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/breadcrumbs.mdx (100%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/contexts.mdx (99%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/debugmeta.mdx (99%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/exception.mdx (95%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/index.mdx (96%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/lockreason.mdx (85%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/message.mdx (97%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/properties/contexts_trace.mdx (82%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/properties/description.mdx (100%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/properties/event_id.mdx (100%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/properties/measurements.mdx (100%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/properties/op.mdx (100%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/properties/parent_span_id.mdx (100%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/properties/span_id.mdx (100%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/properties/span_start_timestamp.mdx (100%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/properties/span_timestamp.mdx (100%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/properties/spans.mdx (90%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/properties/status.mdx (100%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/properties/tags.mdx (100%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/properties/trace_id.mdx (100%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/properties/transaction_info.mdx (100%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/properties/type.mdx (100%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/replay-recording.mdx (98%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/request.mdx (100%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/sdk.mdx (95%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/span.mdx (95%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/stacktrace.mdx (96%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/template.mdx (100%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/threads.mdx (83%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/transaction.mdx (89%) rename develop-docs/sdk/{ => foundations}/data-model/event-payloads/user.mdx (95%) rename develop-docs/sdk/{ => foundations}/data-model/index.mdx (100%) diff --git a/develop-docs/application-architecture/feedback-architecture.mdx b/develop-docs/application-architecture/feedback-architecture.mdx index bcbaf73ca0cce..451b19066028f 100644 --- a/develop-docs/application-architecture/feedback-architecture.mdx +++ b/develop-docs/application-architecture/feedback-architecture.mdx @@ -16,12 +16,12 @@ When broken down, there are **4** ways to create feedback in our system, with `FeedbackCreationSource(Enum)` in [create_feedback.py](https://github.com/getsentry/sentry/blob/2b642e149c79b251e1c2f4339fc73d656347d74e/src/sentry/feedback/usecases/create_feedback.py#L33-L33). The 4 ways _clients_ can create feedback are: -`NEW_FEEDBACK_ENVELOPE`: [The new format](/sdk/data-model/envelope-items/#user-feedback) created by the Replay team when adding +`NEW_FEEDBACK_ENVELOPE`: [The new format](/sdk/foundations/transport/envelope-items/#user-feedback) created by the Replay team when adding the [User Feedback Widget](https://docs.sentry.io/product/user-feedback/#user-feedback-widget) to the JavaScript SDK. It allows adding more information, for example tags, release, url, etc. -`USER_REPORT_ENVELOPE`: [The older format](/sdk/data-model/envelope-items/#user-report---deprecated) with name/email/comments, that requires +`USER_REPORT_ENVELOPE`: [The older format](/sdk/foundations/transport/envelope-items/#user-report---deprecated) with name/email/comments, that requires `event_id` to link a Sentry error event. `USER_REPORT_DJANGO_ENDPOINT`: [The deprecated Web API](https://docs.sentry.io/api/projects/submit-user-feedback/) @@ -42,7 +42,7 @@ which ## Feedback events -The preferred way of sending feedback from the SDK is in [feedback envelope](/sdk/data-model/envelope-items/#user-feedback). +The preferred way of sending feedback from the SDK is in [feedback envelope](/sdk/foundations/transport/envelope-items/#user-feedback). The format is the same as error events, except the `type` header = `"feedback"`. While user reports have an associated event, **new feedback _is_ an event**. This offers 2 improvements: @@ -93,7 +93,7 @@ In Relay v24.5.1, we migrated feedback to its own kafka topic + consumer, ### Attachments -Attachments are another [item type](/sdk/data-model/envelopes/#attachment) +Attachments are another [item type](/sdk/foundations/transport/envelopes/#attachment) in an envelope. We use attachments for the widget’s screenshot feature. - SDK v8.0.0+, Relay v24.5.1+: Sends the feedback and attachment items in the same envelope. @@ -185,7 +185,7 @@ graph TD ### Envelopes -User reports are also sent to Relay in envelope format, item type [user_report](/sdk/data-model/envelope-items/#user-report---deprecated). +User reports are also sent to Relay in envelope format, item type [user_report](/sdk/foundations/transport/envelope-items/#user-report---deprecated). The SDK function that sends these is `captureUserFeedback`. diff --git a/develop-docs/backend/application-domains/transaction-clustering/index.mdx b/develop-docs/backend/application-domains/transaction-clustering/index.mdx index 5b63ab8cca1f5..ea8cbae2a7ab4 100644 --- a/develop-docs/backend/application-domains/transaction-clustering/index.mdx +++ b/develop-docs/backend/application-domains/transaction-clustering/index.mdx @@ -13,7 +13,7 @@ In terms of technical implementation, it is similar to [Data Scrubbing](/backend ## The Problem In our [Insights](https://docs.sentry.io/product/insights/overview/) product, transactions are grouped by their name -(the [`event.transaction`](/sdk/data-model/event-payloads/#optional-attributes) field). +(the [`event.transaction`](/sdk/foundations/data-model/event-payloads/#optional-attributes) field). This works well as long as the cardinality of distinct transaction names that the SDK sends is low, for example by using the [route of a web framework](https://docs.sentry.io/platforms/javascript/guides/react/configuration/integrations/react-router/) as the transaction name. diff --git a/develop-docs/backend/issue-platform/index.mdx b/develop-docs/backend/issue-platform/index.mdx index 35043bd2f9f29..4bc546a86af99 100644 --- a/develop-docs/backend/issue-platform/index.mdx +++ b/develop-docs/backend/issue-platform/index.mdx @@ -145,7 +145,7 @@ The most current version of this schema is documented here: Schema -The event schema should match the Sentry event schema. Any fields/interfaces defined here can be passed along with your event. It's best to fill in as many of these as makes sense for your issue type. +The event schema should match the Sentry event schema. Any fields/interfaces defined here can be passed along with your event. It's best to fill in as many of these as makes sense for your issue type. There's a minimum set of fields which should be included: diff --git a/develop-docs/sdk/expected-features/data-handling.mdx b/develop-docs/sdk/expected-features/data-handling.mdx index 07344f7b0e80d..36ba1e1931841 100644 --- a/develop-docs/sdk/expected-features/data-handling.mdx +++ b/develop-docs/sdk/expected-features/data-handling.mdx @@ -152,5 +152,5 @@ Fields in the event payload that allow user-specified or dynamic values are rest Additionally, size limits apply to all store requests for the total size of the request, event payload, and attachments. Sentry rejects all requests exceeding these limits. Please refer the following resources for the exact size limits: -- Envelope Endpoint Size Limits +- Envelope Endpoint Size Limits - Store Endpoint Size Limits diff --git a/develop-docs/sdk/expected-features/index.mdx b/develop-docs/sdk/expected-features/index.mdx index 8d4877067d99e..7af9e8f65fa02 100644 --- a/develop-docs/sdk/expected-features/index.mdx +++ b/develop-docs/sdk/expected-features/index.mdx @@ -44,7 +44,7 @@ With deeper framework integration, the automatic recording of breadcrumbs is pos * System Events: low battery, low storage space, airplane mode started, memory warnings, device orientation changed, etc. * [Outgoing HTTP requests](#http-client-integrations) -Check out the [complete breadcrumb documentation](/sdk/data-model/event-payloads/breadcrumbs/#breadcrumb-types) for more types. +Check out the [complete breadcrumb documentation](/sdk/foundations/data-model/event-payloads/breadcrumbs/#breadcrumb-types) for more types. ## Event Sampling @@ -128,7 +128,7 @@ An SDK may optionally track feature flag evaluations. Feature flags can be attac When tracking feature flag evaluations on spans, we track the first 10 feature flags evaluated within the span's scope. Evaluations are span attributes and follow the existing span attribute schema. -When tracking on error feature flag evaluations, we record the 100 most recent, unique feature flag evaluations. Evaluations are stored on the scope. When the scope forks a copy of the collected feature flag evaluations are given to the child scope. Mutations to the child's copy of the feature flags object should not be propagated to the parent. Flag evaluations within a scope are considered local to the scope and do not propagate. Evaluations should be submitted to Sentry following the schema specified in the Feature Flag Context protocol documentation. +When tracking on error feature flag evaluations, we record the 100 most recent, unique feature flag evaluations. Evaluations are stored on the scope. When the scope forks a copy of the collected feature flag evaluations are given to the child scope. Mutations to the child's copy of the feature flags object should not be propagated to the parent. Flag evaluations within a scope are considered local to the scope and do not propagate. Evaluations should be submitted to Sentry following the schema specified in the Feature Flag Context protocol documentation. If an SDK supports feature flags it must expose a function `add_feature_flag` which has similar behavior to the `set_tag` function. It must accept a key of type string and a value which is a union of string, boolean, integer, float, and structure. @@ -146,7 +146,7 @@ Ability to get the ID of the last event sent. Event IDs are useful for correlati ## User Feedback -For all SDKs, it is strongly recommended to send the `User Feedback` as an [envelope item](/sdk/data-model/envelope-items/#user-report---deprecated). Alternatively, the SDKs can +For all SDKs, it is strongly recommended to send the `User Feedback` as an [envelope item](/sdk/foundations/transport/envelope-items/#user-report---deprecated). Alternatively, the SDKs can use the [User Feedback endpoint](https://docs.sentry.io/api/projects/submit-user-feedback/), which is not recommended. ### User Facing Platforms @@ -194,7 +194,7 @@ Envelope item: ## Attachments -Attachments are files stored alongside an event. To send an attachment, add it as an [envelope item](/sdk/data-model/envelope-items/#attachment) +Attachments are files stored alongside an event. To send an attachment, add it as an [envelope item](/sdk/foundations/transport/envelope-items/#attachment) to the corresponding event. We recommend implementing two types of attachments, one with a path and another with a byte array. @@ -206,7 +206,7 @@ The overload that takes a `path` should consider: * If reading the attachment fails, the SDK should not drop the whole envelope, but just the attachment's envelope item. * If the SDK is in debug mode log (`debug=true`) out errors to make debugging easier. -If the SDK supports [transactions](/sdk/data-model/envelope-items/#transaction), the attachments should offer a flag `addToTransactions`, +If the SDK supports [transactions](/sdk/foundations/transport/envelope-items/#transaction), the attachments should offer a flag `addToTransactions`, that specifies if SDK adds the attachment to every transaction or not. The default should be `false`. Use the implementations of [Java](https://github.com/getsentry/sentry-java/blob/main/sentry/src/main/java/io/sentry/Attachment.java), @@ -222,7 +222,7 @@ useful because attachments could quickly eat up the users' disk space. Furthermo ## Screenshots -When the user opts-in, if technically possible, take a screenshot of the application during a crash or error and include it as an [attachment](#attachments) to the [envelope](/sdk/data-model/envelopes/) with the event. +When the user opts-in, if technically possible, take a screenshot of the application during a crash or error and include it as an [attachment](#attachments) to the [envelope](/sdk/foundations/transport/envelopes/) with the event. This feature only applies to SDKs with a user interface, such as Mobile and Desktop. In some environments such as native iOS, taking a screenshot requires the UI thread and in the event of a crash, that might not be available. So inherently this feature will be a best effort solution. @@ -369,7 +369,7 @@ If Performance Monitoring is both supported by the SDK and enabled in the client - description: `$METHOD $url` (uppercase HTTP method), e.g. `GET https://sentry.io` - HTTP requests must be enhanced with a [`sentry-trace` HTTP header](/sdk/telemetry/traces/#header-sentry-trace) to support [distributed tracing](https://docs.sentry.io/product/sentry-basics/tracing/distributed-tracing) - HTTP requests must be enhanced with a [`baggage` HTTP header](/sdk/telemetry/traces/dynamic-sampling-context/#baggage-header) to support [dynamic sampling](/sdk/telemetry/traces/dynamic-sampling-context/) -- span status must match HTTP response status code ([see Span status to HTTP status code mapping](/sdk/data-model/event-payloads/span/)) +- span status must match HTTP response status code ([see Span status to HTTP status code mapping](/sdk/foundations/data-model/event-payloads/span/)) - when network error occurs, span status must be set to `internal_error` - span data must follow the [Span Data Conventions](/sdk/telemetry/traces/span-data-conventions/) @@ -390,9 +390,9 @@ The HTTP Client integration should have 3 configuration options: The HTTP Client integration should capture error events with the following properties: -The Request interface, see the Spec for details. +The Request interface, see the Spec for details. -The Response context, see the Spec for details. +The Response context, see the Spec for details. ```json { @@ -411,12 +411,12 @@ The Response context, see the Spec for details. +The Exception Interface, see the Spec for details. If the HTTP Client integration does not throw an exception for unsuccessful requests, you can create a synthetic exception following this Spec: -- Set the Exception Mechanism with a proper `type` such as `SentryOkHttpInterceptor`. -- Set the Stack Trace Interface with `snapshot=true`. +- Set the Exception Mechanism with a proper `type` such as `SentryOkHttpInterceptor`. +- Set the Stack Trace Interface with `snapshot=true`. - `HTTP Client Error with status code: $code`. When capturing error events, pass the original `Request` and `Response` objects from the HTTP Client as `hints`, so the users may filter out events in `beforeSend` with the full context. diff --git a/develop-docs/sdk/data-model/event-payloads/breadcrumbs.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/breadcrumbs.mdx similarity index 100% rename from develop-docs/sdk/data-model/event-payloads/breadcrumbs.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/breadcrumbs.mdx diff --git a/develop-docs/sdk/data-model/event-payloads/contexts.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/contexts.mdx similarity index 99% rename from develop-docs/sdk/data-model/event-payloads/contexts.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/contexts.mdx index 8f42b582a90bf..9a740a4083d34 100644 --- a/develop-docs/sdk/data-model/event-payloads/contexts.mdx +++ b/develop-docs/sdk/foundations/data-model/event-payloads/contexts.mdx @@ -206,7 +206,7 @@ confusion about which OS context represents what. So here's some examples: the SDK (if at all). Additionally, the Sentry server will attempt to parse the `User-Agent` header - from the event's [Request Interface](/sdk/data-model/event-payloads/request/) and create a _secondary_ OS + from the event's [Request Interface](/sdk/foundations/data-model/event-payloads/request/) and create a _secondary_ OS context under the non-default key `"client_os"`. - In events reported from a JS web frontend, the SDK typically reports no OS @@ -604,7 +604,7 @@ The `type` and default key is `"cloud_resource"`. **Example Cloud Resource Context** -The following example illustrates the contexts part of the event payload and omits other attributes for simplicity. +The following example illustrates the contexts part of the event payload and omits other attributes for simplicity. ```json { diff --git a/develop-docs/sdk/data-model/event-payloads/debugmeta.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/debugmeta.mdx similarity index 99% rename from develop-docs/sdk/data-model/event-payloads/debugmeta.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/debugmeta.mdx index 30f4f65dc5a1f..d25086e31c868 100644 --- a/develop-docs/sdk/data-model/event-payloads/debugmeta.mdx +++ b/develop-docs/sdk/foundations/data-model/event-payloads/debugmeta.mdx @@ -29,7 +29,7 @@ system symbols, and is not required for other SDKs. ## Debug Images The list of debug images contains all dynamic libraries loaded into the process -and their memory addresses. Instruction addresses in the [Stack Trace](/sdk/data-model/event-payloads/stacktrace/) are +and their memory addresses. Instruction addresses in the [Stack Trace](/sdk/foundations/data-model/event-payloads/stacktrace/) are mapped into the list of debug images in order to retrieve debug files for symbolication. diff --git a/develop-docs/sdk/data-model/event-payloads/exception.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/exception.mdx similarity index 95% rename from develop-docs/sdk/data-model/event-payloads/exception.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/exception.mdx index 1c628ba63dbc9..5f427498dbb76 100644 --- a/develop-docs/sdk/data-model/event-payloads/exception.mdx +++ b/develop-docs/sdk/foundations/data-model/event-payloads/exception.mdx @@ -5,7 +5,7 @@ sidebar_order: 2 The Exception Interface specifies an exception or error that occurred in a program. -An event may contain one or more exceptions in an attribute named `exception`. +An event may contain one or more exceptions in an attribute named `exception`. The `exception` attribute should be an object with the attribute `values` containing a list of one or more values that are objects in the format described @@ -41,7 +41,7 @@ description of `ValueError`. `thread_id` -: An optional value which refers to a thread in the [Thread Interface](/sdk/data-model/event-payloads/threads/). +: An optional value which refers to a thread in the [Thread Interface](/sdk/foundations/data-model/event-payloads/threads/). `mechanism` @@ -50,7 +50,7 @@ created this exception. `stacktrace` -: An optional stack trace object corresponding to the [Stack Trace Interface](/sdk/data-model/event-payloads/stacktrace/). +: An optional stack trace object corresponding to the [Stack Trace Interface](/sdk/foundations/data-model/event-payloads/stacktrace/). ## Exception Mechanism The exception mechanism is an optional field residing in the _Exception Interface_. @@ -120,11 +120,11 @@ function captureException(error, context) { -Historically, there was no requirement for the `type` attribute naming scheme. -Consequently, different SDKs took different approaches as to how they set the `type` attribute. -In some cases, the `type` attribute was/is not set at all. +Historically, there was no requirement for the `type` attribute naming scheme. +Consequently, different SDKs took different approaches as to how they set the `type` attribute. +In some cases, the `type` attribute was/is not set at all. Choosing [Trace Origin](/sdk/performance/trace-origin/) as the naming scheme for the `type` attribute means that we're using an already established and accepted naming scheme. -The scheme works well enough for the exception mechanism `type` attribute. +The scheme works well enough for the exception mechanism `type` attribute. Slight deviations to accommodate for the applicability to exceptions are allowed and to be expected. SDK maintainers are free to migrate to the new naming scheme for existing capturing mechanisms or use it when adding new mechanisms. @@ -285,7 +285,7 @@ information. ## Examples The following examples illustrate multiple ways to send exceptions. Each example -contains the exception part of the event payload and omits other +contains the exception part of the event payload and omits other attributes for simplicity. A single exception: diff --git a/develop-docs/sdk/data-model/event-payloads/index.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/index.mdx similarity index 96% rename from develop-docs/sdk/data-model/event-payloads/index.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/index.mdx index d66cd597f282b..ee399c2fcf296 100644 --- a/develop-docs/sdk/data-model/event-payloads/index.mdx +++ b/develop-docs/sdk/foundations/data-model/event-payloads/index.mdx @@ -6,7 +6,7 @@ sidebar_order: 3 Events are the fundamental data that clients, often through the use of an SDK, send to the Sentry server. -Events are packed into [envelopes](/sdk/data-model/envelopes/) and are sent to the `/api/{PROJECT_ID}/envelope/` API endpoint. +Events are packed into [envelopes](/sdk/foundations/transport/envelopes/) and are sent to the `/api/{PROJECT_ID}/envelope/` API endpoint. Sending event payloads to the `/api/{PROJECT_ID}/store/` API endpoint is deprecated. @@ -285,7 +285,7 @@ Fingerprints](https://docs.sentry.io/data-management/event-grouping/). ## Size Limits Event ingestion imposes limits on the size of events. -See [Envelope Size Limits](/sdk/data-model/envelopes/#size-limits) for further details. +See [Envelope Size Limits](/sdk/foundations/transport/envelopes/#size-limits) for further details. ## Core Interfaces diff --git a/develop-docs/sdk/data-model/event-payloads/lockreason.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/lockreason.mdx similarity index 85% rename from develop-docs/sdk/data-model/event-payloads/lockreason.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/lockreason.mdx index ae85f391235c5..738130b89d0a2 100644 --- a/develop-docs/sdk/data-model/event-payloads/lockreason.mdx +++ b/develop-docs/sdk/foundations/data-model/event-payloads/lockreason.mdx @@ -8,7 +8,7 @@ to determine which other thread is holding the lock in case the current thread i -Lock reasons are always part of a [thread](/sdk/data-model/event-payloads/threads/). They cannot be declared as a top-level event property. +Lock reasons are always part of a [thread](/sdk/foundations/data-model/event-payloads/threads/). They cannot be declared as a top-level event property. diff --git a/develop-docs/sdk/data-model/event-payloads/message.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/message.mdx similarity index 97% rename from develop-docs/sdk/data-model/event-payloads/message.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/message.mdx index dad6d39c44fbe..7cce83bee9203 100644 --- a/develop-docs/sdk/data-model/event-payloads/message.mdx +++ b/develop-docs/sdk/foundations/data-model/event-payloads/message.mdx @@ -14,7 +14,7 @@ help to group similar messages into the same issue. : **Required**. The fully formatted message. If missing, Sentry will try to interpolate the message. - A limit of 8192 characters is exposed in Relay and longer messages will be truncated. + A limit of 8192 characters is exposed in Relay and longer messages will be truncated. SDKs should not enforce this limit. Sentry also accepts a message where this is not set to support legacy SDKs. diff --git a/develop-docs/sdk/data-model/event-payloads/properties/contexts_trace.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/contexts_trace.mdx similarity index 82% rename from develop-docs/sdk/data-model/event-payloads/properties/contexts_trace.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/contexts_trace.mdx index 28144f6a6f2cc..0a39d118c5149 100644 --- a/develop-docs/sdk/data-model/event-payloads/properties/contexts_trace.mdx +++ b/develop-docs/sdk/foundations/data-model/event-payloads/properties/contexts_trace.mdx @@ -1,6 +1,6 @@ `contexts.trace` -: _Recommended_. A Transaction has to have a specific `contexts.trace` entry that contains tracing information. See the [Trace Context documentation](/sdk/data-model/event-payloads/contexts/#trace-context). +: _Recommended_. A Transaction has to have a specific `contexts.trace` entry that contains tracing information. See the [Trace Context documentation](/sdk/foundations/data-model/event-payloads/contexts/#trace-context). ```json { diff --git a/develop-docs/sdk/data-model/event-payloads/properties/description.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/description.mdx similarity index 100% rename from develop-docs/sdk/data-model/event-payloads/properties/description.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/description.mdx diff --git a/develop-docs/sdk/data-model/event-payloads/properties/event_id.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/event_id.mdx similarity index 100% rename from develop-docs/sdk/data-model/event-payloads/properties/event_id.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/event_id.mdx diff --git a/develop-docs/sdk/data-model/event-payloads/properties/measurements.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/measurements.mdx similarity index 100% rename from develop-docs/sdk/data-model/event-payloads/properties/measurements.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/measurements.mdx diff --git a/develop-docs/sdk/data-model/event-payloads/properties/op.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/op.mdx similarity index 100% rename from develop-docs/sdk/data-model/event-payloads/properties/op.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/op.mdx diff --git a/develop-docs/sdk/data-model/event-payloads/properties/parent_span_id.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/parent_span_id.mdx similarity index 100% rename from develop-docs/sdk/data-model/event-payloads/properties/parent_span_id.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/parent_span_id.mdx diff --git a/develop-docs/sdk/data-model/event-payloads/properties/span_id.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/span_id.mdx similarity index 100% rename from develop-docs/sdk/data-model/event-payloads/properties/span_id.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/span_id.mdx diff --git a/develop-docs/sdk/data-model/event-payloads/properties/span_start_timestamp.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/span_start_timestamp.mdx similarity index 100% rename from develop-docs/sdk/data-model/event-payloads/properties/span_start_timestamp.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/span_start_timestamp.mdx diff --git a/develop-docs/sdk/data-model/event-payloads/properties/span_timestamp.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/span_timestamp.mdx similarity index 100% rename from develop-docs/sdk/data-model/event-payloads/properties/span_timestamp.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/span_timestamp.mdx diff --git a/develop-docs/sdk/data-model/event-payloads/properties/spans.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/spans.mdx similarity index 90% rename from develop-docs/sdk/data-model/event-payloads/properties/spans.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/spans.mdx index bc7cd56724749..423bf037fdb47 100644 --- a/develop-docs/sdk/data-model/event-payloads/properties/spans.mdx +++ b/develop-docs/sdk/foundations/data-model/event-payloads/properties/spans.mdx @@ -1,6 +1,6 @@ `spans` -: _Recommended_. A list of [Spans](/sdk/data-model/event-payloads/span/). +: _Recommended_. A list of [Spans](/sdk/foundations/data-model/event-payloads/span/). ```json { diff --git a/develop-docs/sdk/data-model/event-payloads/properties/status.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/status.mdx similarity index 100% rename from develop-docs/sdk/data-model/event-payloads/properties/status.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/status.mdx diff --git a/develop-docs/sdk/data-model/event-payloads/properties/tags.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/tags.mdx similarity index 100% rename from develop-docs/sdk/data-model/event-payloads/properties/tags.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/tags.mdx diff --git a/develop-docs/sdk/data-model/event-payloads/properties/trace_id.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/trace_id.mdx similarity index 100% rename from develop-docs/sdk/data-model/event-payloads/properties/trace_id.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/trace_id.mdx diff --git a/develop-docs/sdk/data-model/event-payloads/properties/transaction_info.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/transaction_info.mdx similarity index 100% rename from develop-docs/sdk/data-model/event-payloads/properties/transaction_info.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/transaction_info.mdx diff --git a/develop-docs/sdk/data-model/event-payloads/properties/type.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/type.mdx similarity index 100% rename from develop-docs/sdk/data-model/event-payloads/properties/type.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/type.mdx diff --git a/develop-docs/sdk/data-model/event-payloads/replay-recording.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/replay-recording.mdx similarity index 98% rename from develop-docs/sdk/data-model/event-payloads/replay-recording.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/replay-recording.mdx index c8f720e58e781..a11d60abb3608 100644 --- a/develop-docs/sdk/data-model/event-payloads/replay-recording.mdx +++ b/develop-docs/sdk/foundations/data-model/event-payloads/replay-recording.mdx @@ -76,7 +76,7 @@ The payload for `"options"` is a record of configuration name -> configuration v ### Breadcrumbs -Breadcrumbs are named as such because they are intercepted from the web SDK and forwarded as a custom recording event. They have the same structure as describe in breadcrumbs interface. +Breadcrumbs are named as such because they are intercepted from the web SDK and forwarded as a custom recording event. They have the same structure as describe in breadcrumbs interface. ```json { diff --git a/develop-docs/sdk/data-model/event-payloads/request.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/request.mdx similarity index 100% rename from develop-docs/sdk/data-model/event-payloads/request.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/request.mdx diff --git a/develop-docs/sdk/data-model/event-payloads/sdk.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/sdk.mdx similarity index 95% rename from develop-docs/sdk/data-model/event-payloads/sdk.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/sdk.mdx index 2a9f4c6d82a04..438546cd3b4e2 100644 --- a/develop-docs/sdk/data-model/event-payloads/sdk.mdx +++ b/develop-docs/sdk/foundations/data-model/event-payloads/sdk.mdx @@ -73,13 +73,13 @@ reference (branch, tag or SHA). : _Optional_. A collection of settings that are used to control behaviour. - `infer_ip`: Controls the behaviour of IP address inference based on request information. Following values are allowed: - - `auto`: infer the IP address based on available request information. This is equal to [setting the IP address to `{{auto}}`](https://develop.sentry.dev/sdk/data-model/event-payloads/user/#automatic-ip-addresses). + - `auto`: infer the IP address based on available request information. This is equal to [setting the IP address to `{{auto}}`](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/user/#automatic-ip-addresses). - `never`: Do not infer the IP address from the request. This is the default if an invalid value for `infer_ip` was sent. - `legacy`: Infer the IP address only if the value is `{{auto}}`. For Javascript and Cocoa it will also infer if `ip_address` is empty. This is the default if no value was sent. ## Example -The following example illustrates the SDK part of the event payload and omits other +The following example illustrates the SDK part of the event payload and omits other attributes for simplicity. ```json diff --git a/develop-docs/sdk/data-model/event-payloads/span.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/span.mdx similarity index 95% rename from develop-docs/sdk/data-model/event-payloads/span.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/span.mdx index 3f20fb4a229bd..4e3748e15cf3a 100644 --- a/develop-docs/sdk/data-model/event-payloads/span.mdx +++ b/develop-docs/sdk/foundations/data-model/event-payloads/span.mdx @@ -4,7 +4,7 @@ title: Span Interface The Span Interface specifies a series of _timed_ application events that have a start and end time. -A [Transaction](/sdk/data-model/event-payloads/transaction/) may contain zero or more Spans in an array attribute named `spans`. Spans in the list don't have to be ordered, they will be ordered by start / end time on the Server. +A [Transaction](/sdk/foundations/data-model/event-payloads/transaction/) may contain zero or more Spans in an array attribute named `spans`. Spans in the list don't have to be ordered, they will be ordered by start / end time on the Server. While Span attributes will be normalized on the server, a Span is most useful when it includes at least an `op` and `description`. @@ -173,7 +173,7 @@ The semantic conventions for the `data` field are described in Envelopes are a new format and therefore only work on Sentry >= 10. More - information can be found on the Envelope page. + information can be found on the Envelope page. ## Anatomy -A Transaction is basically a [Span](/sdk/data-model/event-payloads/span/) combined with an [Event](/sdk/data-model/event-payloads/). When using +A Transaction is basically a [Span](/sdk/foundations/data-model/event-payloads/span/) combined with an [Event](/sdk/foundations/data-model/event-payloads/). When using tracing with our SDKs you usually create a Span tree, the root node and therefore the whole tree is considered to be the Transaction. -So technically a Transaction is just a Span. A Transaction must also have a `contexts.trace` (which contains some data of the [Span](/sdk/data-model/event-payloads/span/)) and some other +So technically a Transaction is just a Span. A Transaction must also have a `contexts.trace` (which contains some data of the [Span](/sdk/foundations/data-model/event-payloads/span/)) and some other properties that will be covered in the next section. -Transactions are [Events](/sdk/data-model/event-payloads/) enriched with [Span](/sdk/data-model/event-payloads/span/) data. +Transactions are [Events](/sdk/foundations/data-model/event-payloads/) enriched with [Span](/sdk/foundations/data-model/event-payloads/span/) data. We are only going to list here what is important for a Transaction. `type` @@ -78,7 +78,7 @@ or: `contexts.trace` -_Recommended_. A Transaction has to have a specific `contexts.trace` entry that contains tracing information. See the [Trace Context documentation](/sdk/data-model/event-payloads/contexts/#trace-context). +_Recommended_. A Transaction has to have a specific `contexts.trace` entry that contains tracing information. See the [Trace Context documentation](/sdk/foundations/data-model/event-payloads/contexts/#trace-context). ```json { @@ -97,7 +97,7 @@ _Recommended_. A Transaction has to have a specific `contexts.trace` entry that `spans` -_Recommended_. A list of [Spans](/sdk/data-model/event-payloads/span/). +_Recommended_. A list of [Spans](/sdk/foundations/data-model/event-payloads/span/). ```json { diff --git a/develop-docs/sdk/data-model/event-payloads/user.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/user.mdx similarity index 95% rename from develop-docs/sdk/data-model/event-payloads/user.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/user.mdx index e2ab817f01586..a5410199fc972 100644 --- a/develop-docs/sdk/data-model/event-payloads/user.mdx +++ b/develop-docs/sdk/foundations/data-model/event-payloads/user.mdx @@ -65,7 +65,7 @@ Approximate geographical location of the end user or device. SDKs running on client platforms, such as browsers and mobile applications, should set `ip_address = "{{auto}}"` by default. Server-side SDKs should -populate the [Request Interface](/sdk/data-model/event-payloads/request/), instead. Sentry +populate the [Request Interface](/sdk/foundations/data-model/event-payloads/request/), instead. Sentry employs several fallbacks to backfill the IP address: 1. Use `user.ip_address`, if set directly. diff --git a/develop-docs/sdk/data-model/index.mdx b/develop-docs/sdk/foundations/data-model/index.mdx similarity index 100% rename from develop-docs/sdk/data-model/index.mdx rename to develop-docs/sdk/foundations/data-model/index.mdx diff --git a/develop-docs/sdk/foundations/transport/envelope-items.mdx b/develop-docs/sdk/foundations/transport/envelope-items.mdx index 025b4c61c86ef..68562d9ad5c06 100644 --- a/develop-docs/sdk/foundations/transport/envelope-items.mdx +++ b/develop-docs/sdk/foundations/transport/envelope-items.mdx @@ -16,7 +16,7 @@ The headers described in this section are **in addition to the common headers**. ### Event -Item type `"event"`. This Item contains an error or default [event payload](/sdk/data-model/event-payloads/) +Item type `"event"`. This Item contains an error or default [event payload](/sdk/foundations/data-model/event-payloads/) encoded in JSON. **Constraints:** @@ -230,7 +230,7 @@ Example payload: **Payload Attributes** We only document attributes for the `contexts.feedback` object, which is **required** -for this item type. For other attributes, see [Event Payloads](/sdk/data-model/event-payloads/). +for this item type. For other attributes, see [Event Payloads](/sdk/foundations/data-model/event-payloads/). `message` diff --git a/develop-docs/sdk/foundations/transport/envelopes.mdx b/develop-docs/sdk/foundations/transport/envelopes.mdx index c1644fdb2c7a5..a85eb319c263b 100644 --- a/develop-docs/sdk/foundations/transport/envelopes.mdx +++ b/develop-docs/sdk/foundations/transport/envelopes.mdx @@ -124,7 +124,7 @@ Envelopes can have a number of headers which are valid in all situations: `sdk` -: *Object, recommended.* This can carry the same payload as the [`sdk` interface](/sdk/data-model/event-payloads/sdk/) +: *Object, recommended.* This can carry the same payload as the [`sdk` interface](/sdk/foundations/data-model/event-payloads/sdk/) in the event payload but can be carried for all events. This means that SDK information can be carried for minidumps, session data and other submissions. diff --git a/develop-docs/sdk/miscellaneous/store.mdx b/develop-docs/sdk/miscellaneous/store.mdx index 46ebc8e20c098..921c997eee723 100644 --- a/develop-docs/sdk/miscellaneous/store.mdx +++ b/develop-docs/sdk/miscellaneous/store.mdx @@ -5,7 +5,7 @@ sidebar_order: 2 -The `/store` endpoint is deprecated. All data should be sent to the `/envelope` endpoint. See [Envelopes](/sdk/data-model/envelopes/). +The `/store` endpoint is deprecated. All data should be sent to the `/envelope` endpoint. See [Envelopes](/sdk/foundations/transport/envelopes/). @@ -43,7 +43,7 @@ between them is that attributes are very barebones key/value pairs (for the most part) and interfaces are rich styled interface elements. Examples of attribute are `event_id` or `tags` whereas the `exception` key is an interface. -For a list of all supported attributes and interfaces in event payloads, see Event Payloads. +For a list of all supported attributes and interfaces in event payloads, see Event Payloads. ## HTTP Headers diff --git a/develop-docs/sdk/miscellaneous/unified-api/index.mdx b/develop-docs/sdk/miscellaneous/unified-api/index.mdx index dc17d72d8f279..e4dbbef70ec61 100644 --- a/develop-docs/sdk/miscellaneous/unified-api/index.mdx +++ b/develop-docs/sdk/miscellaneous/unified-api/index.mdx @@ -67,7 +67,7 @@ meant that certain integrations (such as breadcrumbs) were often not possible. - **client options**: Are parameters that are language and runtime specific and used to configure the client. This can be release and environment but also things like which integrations to configure, how in-app works etc. -- **context**: Contexts give extra data to Sentry. There are the special contexts (user and similar) and the generic ones (`runtime`, `os`, `device`), etc. Check out Contexts for some predefined keys - users can also add arbitrary context keys. _Note: In older SDKs, you might encounter an unrelated concept of context, which is now deprecated by scopes_ +- **context**: Contexts give extra data to Sentry. There are the special contexts (user and similar) and the generic ones (`runtime`, `os`, `device`), etc. Check out Contexts for some predefined keys - users can also add arbitrary context keys. _Note: In older SDKs, you might encounter an unrelated concept of context, which is now deprecated by scopes_ - **tags**: Tags can be arbitrary string→string pairs by which events can be searched. Contexts are converted into tags. diff --git a/develop-docs/sdk/processes/basics.mdx b/develop-docs/sdk/processes/basics.mdx index 4e20a771538c7..4dcdc03b59eb3 100644 --- a/develop-docs/sdk/processes/basics.mdx +++ b/develop-docs/sdk/processes/basics.mdx @@ -54,7 +54,7 @@ Before shipping new or changed SDK behavior, make sure the relevant definitions 2. Get an approval from at least one code owner. 3. Wait at least 3 business days after the first approval to give other code owners a chance to review. -- **Context types:** Any newly added [context](https://develop.sentry.dev/sdk/data-model/event-payloads/contexts/) **SHOULD** also be typed out in [Relay](https://github.com/getsentry/relay/tree/master/relay-event-schema/src/protocol/contexts) so that the schema stays in sync with what SDKs emit. +- **Context types:** Any newly added [context](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/contexts/) **SHOULD** also be typed out in [Relay](https://github.com/getsentry/relay/tree/master/relay-event-schema/src/protocol/contexts) so that the schema stays in sync with what SDKs emit. ## Join us on Discord diff --git a/develop-docs/sdk/research/performance/index.mdx b/develop-docs/sdk/research/performance/index.mdx index d2311d9b9bc82..88beace816c26 100644 --- a/develop-docs/sdk/research/performance/index.mdx +++ b/develop-docs/sdk/research/performance/index.mdx @@ -14,7 +14,7 @@ After settling with an API, performance monitoring support was then expanded to Our initial implementation reused the mechanisms we had in place for error reporting: -- The [Event type](https://develop.sentry.dev/sdk/data-model/event-payloads/) was extended with new fields. That meant that instead of designing and implementing a whole new ingestion pipeline, we could save time and quickly start sending "events" to Sentry, this time, instead of errors, a new "transaction" event type. +- The [Event type](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/) was extended with new fields. That meant that instead of designing and implementing a whole new ingestion pipeline, we could save time and quickly start sending "events" to Sentry, this time, instead of errors, a new "transaction" event type. - Since we were just sending a new type of event, the SDK transport layer was also reused. - And since we were sharing the ingestion pipeline, that meant we were sharing storage and the many parts of the processing that happens to all events. diff --git a/develop-docs/sdk/telemetry/check-ins.mdx b/develop-docs/sdk/telemetry/check-ins.mdx index 1008af27047bc..d9dfaa08cdee3 100644 --- a/develop-docs/sdk/telemetry/check-ins.mdx +++ b/develop-docs/sdk/telemetry/check-ins.mdx @@ -66,7 +66,7 @@ The following fields exist: `contexts` : _Object, optional_. A dictionary of contextual information about the environment running - the check-in. Right now we only support the [trace context](/sdk/data-model/event-payloads/contexts/#trace-context) + the check-in. Right now we only support the [trace context](/sdk/foundations/data-model/event-payloads/contexts/#trace-context) and use the `trace_id` in order to link check-ins to associated errors. ## Monitor upsert support diff --git a/develop-docs/sdk/telemetry/feedbacks.mdx b/develop-docs/sdk/telemetry/feedbacks.mdx index 81fab475e7414..d0c1bb86e40b2 100644 --- a/develop-docs/sdk/telemetry/feedbacks.mdx +++ b/develop-docs/sdk/telemetry/feedbacks.mdx @@ -7,7 +7,7 @@ This document is meant for Sentry SDK developers and maintainers of the Feedback ## Feedback Protocol -Item type `"feedback"`. This Item contains an [event payload](/sdk/data-model/event-payloads/) encoded in JSON, with an additional `feedback` context object. +Item type `"feedback"`. This Item contains an [event payload](/sdk/foundations/data-model/event-payloads/) encoded in JSON, with an additional `feedback` context object. ## `"feedback"` Item @@ -24,8 +24,8 @@ Item type `"feedback"`. This Item contains an [event payload](/sdk/data-model/ev ### Event Attributes -Below is a recap of the [required attributes](/sdk/data-model/event-payloads/#required-attributes) for the event payload. -For the full list of attributes, see [Event Payloads](/sdk/data-model/event-payloads/). +Below is a recap of the [required attributes](/sdk/foundations/data-model/event-payloads/#required-attributes) for the event payload. +For the full list of attributes, see [Event Payloads](/sdk/foundations/data-model/event-payloads/). | Key | Type | Description | | -------------------------- | ------ | ----------------------------------------------- | @@ -55,7 +55,7 @@ For the full list of attributes, see [Event Payloads](/sdk/data-model/event-payl ### Attaching Files You can attach files of any type to a feedback (screenshots, logs, documents, etc.) by sending them as -[attachment items](/sdk/data-model/envelope-items/#attachment), with `event_id` +[attachment items](/sdk/foundations/transport/envelope-items/#attachment), with `event_id` corresponding to the feedback item. We recommend sending the attachment items in the same Envelope as the feedback item. diff --git a/develop-docs/sdk/telemetry/logs.mdx b/develop-docs/sdk/telemetry/logs.mdx index dfc0f07346bf5..31fb56e64e2dc 100644 --- a/develop-docs/sdk/telemetry/logs.mdx +++ b/develop-docs/sdk/telemetry/logs.mdx @@ -13,7 +13,7 @@ All SDKs are required to send logs via the `log` envelope and Sentry Log protoco ### `log` Envelope Item -The `log` envelope item is an object that contains an array of log payloads encoded as JSON. This allows for multiple log payloads to be sent in a single envelope item. For more details on the `log` envelope item, see the [Log Envelope Item](/sdk/data-model/envelope-items/#log) documentation. See [Appendix A](#appendix-a-log-envelope-item-payload) for an example `log` envelope. +The `log` envelope item is an object that contains an array of log payloads encoded as JSON. This allows for multiple log payloads to be sent in a single envelope item. For more details on the `log` envelope item, see the [Log Envelope Item](/sdk/foundations/transport/envelope-items/#log) documentation. See [Appendix A](#appendix-a-log-envelope-item-payload) for an example `log` envelope. ```json { @@ -320,9 +320,9 @@ Logs can be generated in three ways: SDKs may optionally attach user information as attributes (guarded by `sendDefaultPii`): -1. `user.id`: The user ID. Maps to `id` in the [User](/sdk/data-model/event-payloads/user/) payload. -2. `user.name`: The username. Maps to `username` in the [User](/sdk/data-model/event-payloads/user/) payload. -3. `user.email`: The email address. Maps to `email` in the [User](/sdk/data-model/event-payloads/user/) payload. +1. `user.id`: The user ID. Maps to `id` in the [User](/sdk/foundations/data-model/event-payloads/user/) payload. +2. `user.name`: The username. Maps to `username` in the [User](/sdk/foundations/data-model/event-payloads/user/) payload. +3. `user.email`: The email address. Maps to `email` in the [User](/sdk/foundations/data-model/event-payloads/user/) payload. ```json { @@ -338,8 +338,8 @@ SDKs may optionally attach user information as attributes (guarded by `sendDefau By default, Relay should parse the user agent attached to an incoming log envelope to parse `browser` and `os` information for logs. These attributes should be attached by Relay, but SDKs can attach them if they do not forward a user agent when sending logs to Sentry. -1. `browser.name`: Display name of the browser application. Maps to `name` in the [Contexts](/sdk/data-model/event-payloads/contexts/#browser-context) payload. -2. `browser.version`: Version string of the browser. Maps to `version` in the [Contexts](/sdk/data-model/event-payloads/contexts/#browser-context) payload. +1. `browser.name`: Display name of the browser application. Maps to `name` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#browser-context) payload. +2. `browser.version`: Version string of the browser. Maps to `version` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#browser-context) payload. ```json { @@ -354,7 +354,7 @@ By default, Relay should parse the user agent attached to an incoming log envelo For backend SDKs (Node.js, Python, PHP, etc.), the SDKs should attach the following: -1. `server.address`: The address of the server that sent the log. Equivalent to [`server_name`](/sdk/data-model/event-payloads/#optional-attributes) we attach to errors and transactions. +1. `server.address`: The address of the server that sent the log. Equivalent to [`server_name`](/sdk/foundations/data-model/event-payloads/#optional-attributes) we attach to errors and transactions. ```json { @@ -368,11 +368,11 @@ For backend SDKs (Node.js, Python, PHP, etc.), the SDKs should attach the follow For mobile, desktop, and native SDKs (Android, Apple, Electron, etc.), the SDKs should attach the following: -1. `os.name`: The name of the operating system. Maps to `name` in the [Contexts](/sdk/data-model/event-payloads/contexts/#os-context) payload. -2. `os.version`: The version of the operating system. Maps to `version` in the [Contexts](/sdk/data-model/event-payloads/contexts/#os-context) payload. -3. `device.brand`: The brand of the device. Maps to `brand` in the [Contexts](/sdk/data-model/event-payloads/contexts/#device-context) payload. -4. `device.model`: The model of the device. Maps to `model` in the [Contexts](/sdk/data-model/event-payloads/contexts/#device-context) payload. -5. `device.family`: The family of the device. Maps to `family` in the [Contexts](/sdk/data-model/event-payloads/contexts/#device-context) payload. +1. `os.name`: The name of the operating system. Maps to `name` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#os-context) payload. +2. `os.version`: The version of the operating system. Maps to `version` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#os-context) payload. +3. `device.brand`: The brand of the device. Maps to `brand` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#device-context) payload. +4. `device.model`: The model of the device. Maps to `model` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#device-context) payload. +5. `device.family`: The family of the device. Maps to `family` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#device-context) payload. ```json { diff --git a/develop-docs/sdk/telemetry/metrics.mdx b/develop-docs/sdk/telemetry/metrics.mdx index fd7c5b6ac9d3e..1e84bf92631cb 100644 --- a/develop-docs/sdk/telemetry/metrics.mdx +++ b/develop-docs/sdk/telemetry/metrics.mdx @@ -395,9 +395,9 @@ By default the SDK should attach the following attributes to a metric: SDKs may optionally attach user information as attributes (guarded by `sendDefaultPii` [unless manually set by user](/sdk/expected-features/data-handling/#sensitive-data)): -1. `user.id`: The user ID. Maps to `id` in the [User](/sdk/data-model/event-payloads/user/) payload. -2. `user.name`: The username. Maps to `username` in the [User](/sdk/data-model/event-payloads/user/) payload. -3. `user.email`: The email address. Maps to `email` in the [User](/sdk/data-model/event-payloads/user/) payload. +1. `user.id`: The user ID. Maps to `id` in the [User](/sdk/foundations/data-model/event-payloads/user/) payload. +2. `user.name`: The username. Maps to `username` in the [User](/sdk/foundations/data-model/event-payloads/user/) payload. +3. `user.email`: The email address. Maps to `email` in the [User](/sdk/foundations/data-model/event-payloads/user/) payload. ```json { @@ -413,8 +413,8 @@ SDKs may optionally attach user information as attributes (guarded by `sendDefau By default, Relay should parse the user agent attached to an incoming metric envelope to parse `browser` and `os` information for metrics. These attributes should be attached by Relay, but client-side SDKs can attach them if they do not forward a user agent when sending metrics to Sentry. -1. `browser.name`: Display name of the browser application. Maps to `name` in the [Contexts](/sdk/data-model/event-payloads/contexts/#browser-context) payload. -2. `browser.version`: Version string of the browser. Maps to `version` in the [Contexts](/sdk/data-model/event-payloads/contexts/#browser-context) payload. +1. `browser.name`: Display name of the browser application. Maps to `name` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#browser-context) payload. +2. `browser.version`: Version string of the browser. Maps to `version` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#browser-context) payload. ```json { @@ -429,7 +429,7 @@ By default, Relay should parse the user agent attached to an incoming metric env For backend SDKs (Node.js, Python, PHP, etc.), the SDKs should attach the following: -1. `server.address`: The address of the server that sent the metric. Equivalent to [`server_name`](/sdk/data-model/event-payloads/#optional-attributes) we attach to errors and transactions. +1. `server.address`: The address of the server that sent the metric. Equivalent to [`server_name`](/sdk/foundations/data-model/event-payloads/#optional-attributes) we attach to errors and transactions. ```json { diff --git a/develop-docs/sdk/telemetry/profiles/sample-format-v1.mdx b/develop-docs/sdk/telemetry/profiles/sample-format-v1.mdx index cf6aeded675e8..65097b7d39eab 100644 --- a/develop-docs/sdk/telemetry/profiles/sample-format-v1.mdx +++ b/develop-docs/sdk/telemetry/profiles/sample-format-v1.mdx @@ -83,7 +83,7 @@ in the same envelope as the associated transaction. `debug_meta` -: *Object, required on native platforms.* This carries the same payload as the [`debug_meta` interface](/sdk/data-model/event-payloads/sdk/). +: *Object, required on native platforms.* This carries the same payload as the [`debug_meta` interface](/sdk/foundations/data-model/event-payloads/sdk/). It is required to have it for native platforms in order to symbolicate. For non-native platforms, you can omit this. `device` @@ -342,7 +342,7 @@ the same `stack_id` for each sample that needs it. `frames` -: *List, required*. Contains a list of frame objects (see [Frame Attributes](/sdk/data-model/event-payloads/stacktrace/#frame-attributes)). +: *List, required*. Contains a list of frame objects (see [Frame Attributes](/sdk/foundations/data-model/event-payloads/stacktrace/#frame-attributes)). Each object should contain at least a `filename`, `function` or `instruction_addr` attribute. All values are optional, but recommended. @@ -404,8 +404,8 @@ It's suggested to remove unnecessary data like thread data without samples from ## Ingestion After this payload is generated, serialize it as JSON, pack it into the same -[Envelope](/sdk/data-model/envelopes/) as the associated transaction with the item type -[`profile`](/sdk/data-model/envelope-items/#profile) and send it to Relay. +[Envelope](/sdk/foundations/transport/envelopes/) as the associated transaction with the item type +[`profile`](/sdk/foundations/transport/envelope-items/#profile) and send it to Relay. This envelope should look like this: diff --git a/develop-docs/sdk/telemetry/profiles/sample-format-v2.mdx b/develop-docs/sdk/telemetry/profiles/sample-format-v2.mdx index cc0fa464dc379..884b3984cd63e 100644 --- a/develop-docs/sdk/telemetry/profiles/sample-format-v2.mdx +++ b/develop-docs/sdk/telemetry/profiles/sample-format-v2.mdx @@ -64,7 +64,7 @@ The *Sample Format V2* is designed for use in continuous profiling. Therefore, a `debug_meta` -: *Object, required on native platforms.* This carries the same payload as the [`debug_meta` interface](/sdk/data-model/event-payloads/sdk/). +: *Object, required on native platforms.* This carries the same payload as the [`debug_meta` interface](/sdk/foundations/data-model/event-payloads/sdk/). It is required to have it for native platforms in order to symbolicate, otherwise you can omit it. For non-native platforms, you can omit this. @@ -223,7 +223,7 @@ the same `stack_id` for each sample that needs it. `frames` -: *List, required*. Contains a list of frame objects (see [Frame Attributes](/sdk/data-model/event-payloads/stacktrace/#frame-attributes)). +: *List, required*. Contains a list of frame objects (see [Frame Attributes](/sdk/foundations/data-model/event-payloads/stacktrace/#frame-attributes)). Each object should contain at least a `filename`, `function` or `instruction_addr` attribute. All values are optional, but recommended. @@ -280,7 +280,7 @@ It's suggested to remove unnecessary data like thread data without samples from ## Ingestion -After this payload is generated, serialize it as JSON, pack it into an [Envelope](/sdk/data-model/envelopes/) with the item type [`profile_chunk`](/sdk/data-model/envelope-items/#profile-chunk) and send it to Relay. +After this payload is generated, serialize it as JSON, pack it into an [Envelope](/sdk/foundations/transport/envelopes/) with the item type [`profile_chunk`](/sdk/foundations/transport/envelope-items/#profile-chunk) and send it to Relay. The `platform` item header is required for rate limiting and categorization of the profile chunk and must match the `platform` in the payload. diff --git a/develop-docs/sdk/telemetry/replays.mdx b/develop-docs/sdk/telemetry/replays.mdx index e3d8ec495be60..3b6664d03bffa 100644 --- a/develop-docs/sdk/telemetry/replays.mdx +++ b/develop-docs/sdk/telemetry/replays.mdx @@ -19,7 +19,7 @@ The following attributes are specific to the `"replay_event"` Item type. | Key | Type | Description | | ---------------------- | ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | type | `"replay_event"` | Must be `"replay_event"` | -| replay_id | string | A unique ID for the replay. Follows the [same requirements](/sdk/data-model/event-payloads/#required-attributes) as an `event_id`: Hexadecimal string representing a uuid4 value. The length is exactly 32 characters. Dashes are not allowed. Has to be lowercase. | +| replay_id | string | A unique ID for the replay. Follows the [same requirements](/sdk/foundations/data-model/event-payloads/#required-attributes) as an `event_id`: Hexadecimal string representing a uuid4 value. The length is exactly 32 characters. Dashes are not allowed. Has to be lowercase. | | replay_type | `"session"` \| `"buffer"` | Describes the type of replay. `buffer` means the replay is buffered while waiting for an error to occur or until a manual flush. `session` means the replay starts recording immediately and continues through the lifespan of the replay session. | | segment_id | number | The segment id. | | replay_start_timestamp | number | UNIX timestamp of the start of the replay (in seconds). This is only required on the first segment. | @@ -29,7 +29,7 @@ The following attributes are specific to the `"replay_event"` Item type. ### Event Attributes -The following attributes are a subset of the [optional attributes](/sdk/data-model/event-payloads/#optional-attributes) of an Event. +The following attributes are a subset of the [optional attributes](/sdk/foundations/data-model/event-payloads/#optional-attributes) of an Event. | Key | Type | Description | | -------------------------- | ------ | ------------------------------------------------ | @@ -100,7 +100,7 @@ The `"replay_recording"` item consists of two sub-items that are delimited by ne {"segment_id": 0} ``` -The other sub-item is the replay recording's instructions set. This payload should be gzipped, but uncompressed payloads are also accepted. Read more about replay recording events here. +The other sub-item is the replay recording's instructions set. This payload should be gzipped, but uncompressed payloads are also accepted. Read more about replay recording events here. ```json [ diff --git a/develop-docs/sdk/telemetry/sessions/index.mdx b/develop-docs/sdk/telemetry/sessions/index.mdx index d1c7235a0f019..eaef8ba5adea9 100644 --- a/develop-docs/sdk/telemetry/sessions/index.mdx +++ b/develop-docs/sdk/telemetry/sessions/index.mdx @@ -10,7 +10,7 @@ Looking for Sentry's **Session Replay**? Click envelopes +For basic health tracking Sentry accepts envelopes containing session update events. These session update events can be used to inform Sentry about release and project associated project health. diff --git a/develop-docs/sdk/telemetry/spans/span-protocol.mdx b/develop-docs/sdk/telemetry/spans/span-protocol.mdx index 63b83cb649255..ce29a4e9a727c 100644 --- a/develop-docs/sdk/telemetry/spans/span-protocol.mdx +++ b/develop-docs/sdk/telemetry/spans/span-protocol.mdx @@ -26,7 +26,7 @@ There are no special requirements for the Span v2 envelope header. } ``` -Also see [Envelope Headers](/sdk/data-model/envelopes/#headers). +Also see [Envelope Headers](/sdk/foundations/transport/envelopes/#headers). ## Span v2 Envelope Item Header @@ -169,7 +169,7 @@ Empty attributes must be omitted. | `sentry.environment` | string | The environment name (e.g., "production", "staging", "development") | | `sentry.segment.name` | string | The segment name (e.g., "GET /users") | | `sentry.segment.id` | string | The segment span id | -| `sentry.span.source` | string | The source of the span name. **MUST** be set on segment spans, **MAY** be set on child spans.
See [Sentry Conventions](https://github.com/getsentry/sentry-conventions/attributes/sentry#sentry-span-source) for all supported sources.
See [Transaction Annotations](/sdk/data-model/event-payloads/transaction/#transaction-annotations) and [Clustering](/backend/application-domains/transaction-clustering/#automatic-transaction-clustering) for more information.| +| `sentry.span.source` | string | The source of the span name. **MUST** be set on segment spans, **MAY** be set on child spans.
See [Sentry Conventions](https://github.com/getsentry/sentry-conventions/attributes/sentry#sentry-span-source) for all supported sources.
See [Transaction Annotations](/sdk/foundations/data-model/event-payloads/transaction/#transaction-annotations) and [Clustering](/backend/application-domains/transaction-clustering/#automatic-transaction-clustering) for more information.| | `sentry.profiler_id` | string | The id of the currently running profiler (continuous profiling) | | `sentry.replay_id` | string | The id of the currently running replay (if available) | | `os.name` | string | The operating system name (e.g., "Linux", "Windows", "macOS") | @@ -226,7 +226,7 @@ span_id: "438f40bd3b4a41ee" Span attachments are an experimental feature that is still under development. -To associate an attachment with a span, submit a [trace attachment](/sdk/data-model/envelope-items/#trace-attachment) item with an additional `span_id` item header. The trace attachment _should_ be submitted in the same envelope as the span itself. +To associate an attachment with a span, submit a [trace attachment](/sdk/foundations/transport/envelope-items/#trace-attachment) item with an additional `span_id` item header. The trace attachment _should_ be submitted in the same envelope as the span itself. - `span_id` is the ID of the span that owns the attachment. If set, the attachment will be dropped with the span if the span is dropped by dynamic sampling, inbound filters or rate limits. That is, Relay treats `span_id` as the owner of the attachment. - The SDK _may_ set the `span_id` item header to an explicit `null` value. `span_id: null` is treated as “owned by spans”, but not owned by a specific span. That is, the attachment can be dropped if the span quota is exceeded, but it will not be dropped with a specific span because of e.g. inbound filters. diff --git a/develop-docs/sdk/telemetry/telemetry-processor/batch-processor.mdx b/develop-docs/sdk/telemetry/telemetry-processor/batch-processor.mdx index 83a2fdb2a808b..786b171c6a087 100644 --- a/develop-docs/sdk/telemetry/telemetry-processor/batch-processor.mdx +++ b/develop-docs/sdk/telemetry/telemetry-processor/batch-processor.mdx @@ -28,7 +28,7 @@ Whenever the SDK finishes a span or captures a log, it **MUST** put it into the The BatchProcessor **MUST** start a timeout of 5 seconds when the SDK adds the first span or log. When the timeout expires, the BatchProcessor **MUST** forward all spans or logs to the transport, no matter how many items it contains. The SDK **MAY** choose a different value for the timeout, but it **MUST NOT** exceed 30 seconds, as this can lead to problems with the span buffer on the backend, which uses a time interval of 60 seconds for determining segments for spans. The BatchProcessor **SHOULD** only start a new timeout when it has spans or logs to send, this avoids running the timeout unnecessarily. -The BatchProcessor **MUST** forward all items to the transport after the SDK when containing spans or logs exceeding 1MiB in size. The SDK **MAY** choose a different value for the max batch size keeping the [envelope max sizes](/sdk/data-model/envelopes/#size-limits) in mind. The SDK **MUST** calculate the size of a span or a log to manage the BatchProcessor's memory footprint, as well as serialize the span or log and calculate the size based on the serialized JSON bytes. As serialization is expensive, the BatchProcessor **SHOULD** keep track of the serialized spans and logs and pass these to the envelope to avoid serializing multiple times. +The BatchProcessor **MUST** forward all items to the transport after the SDK when containing spans or logs exceeding 1MiB in size. The SDK **MAY** choose a different value for the max batch size keeping the [envelope max sizes](/sdk/foundations/transport/envelopes/#size-limits) in mind. The SDK **MUST** calculate the size of a span or a log to manage the BatchProcessor's memory footprint, as well as serialize the span or log and calculate the size based on the serialized JSON bytes. As serialization is expensive, the BatchProcessor **SHOULD** keep track of the serialized spans and logs and pass these to the envelope to avoid serializing multiple times. When the BatchProcessor forwards all spans or logs to the transport, it **MUST** reset its timeout and remove all spans and logs. The SDK **MUST** apply filtering and sampling before adding spans or logs to the BatchProcessor. The SDK **MUST** apply rate limits to spans and logs after they leave the BatchProcessor to send as much data as possible by dropping data as late as possible. diff --git a/develop-docs/sdk/telemetry/telemetry-processor/index.mdx b/develop-docs/sdk/telemetry/telemetry-processor/index.mdx index 685989302d924..b95de841a4623 100644 --- a/develop-docs/sdk/telemetry/telemetry-processor/index.mdx +++ b/develop-docs/sdk/telemetry/telemetry-processor/index.mdx @@ -104,7 +104,7 @@ SDKs **SHOULD** use the following size limits for the telemetry buffer. SDKs **M - 100 items for metrics - 1000 items for spans -While the [envelope size limits](/sdk/data-model/envelopes/#size-limits) would allow higher size limits for specific categories, these limits are optimized for Relay and exceeding them is absolutely discouraged. +While the [envelope size limits](/sdk/foundations/transport/envelopes/#size-limits) would allow higher size limits for specific categories, these limits are optimized for Relay and exceeding them is absolutely discouraged. ## Data Forwarding Scenarios diff --git a/develop-docs/sdk/telemetry/traces/dynamic-sampling-context.mdx b/develop-docs/sdk/telemetry/traces/dynamic-sampling-context.mdx index 5a5d801fd236c..d9779d02b9a53 100644 --- a/develop-docs/sdk/telemetry/traces/dynamic-sampling-context.mdx +++ b/develop-docs/sdk/telemetry/traces/dynamic-sampling-context.mdx @@ -94,7 +94,7 @@ For that reason: **Only if a transaction name has good quality, it should be inc - `"/organization/:organizationId/user/:userId"` - `"UserListUIComponent"` -SDKs can leverage transaction annotations (in particular the `source` of the transaction name) to determine which transaction names have a good quality. +SDKs can leverage transaction annotations (in particular the `source` of the transaction name) to determine which transaction names have a good quality. diff --git a/develop-docs/sdk/telemetry/traces/index.mdx b/develop-docs/sdk/telemetry/traces/index.mdx index ea0876e25c2ad..7c6e589ce8d84 100644 --- a/develop-docs/sdk/telemetry/traces/index.mdx +++ b/develop-docs/sdk/telemetry/traces/index.mdx @@ -220,14 +220,14 @@ Over the wire, transactions are serialized to JSON as an augmented `Event`, and In the Sentry UI, you can use Discover to look at all events regardless of type, and the Issues and Performance sections to dive into errors and transactions, respectively. The [user-facing tracing documentation](https://docs.sentry.io/product/performance/distributed-tracing/#traces-transactions-and-spans) explains more of the concepts on the product level. -The [Span](/sdk/data-model/event-payloads/span/) class stores each individual span in a +The [Span](/sdk/foundations/data-model/event-payloads/span/) class stores each individual span in a trace. -The [Transaction](/sdk/data-model/event-payloads/transaction/) class is like a span, with a +The [Transaction](/sdk/foundations/data-model/event-payloads/transaction/) class is like a span, with a few key differences: - Transactions have `name`, spans don't. -- Transactions must specify the [source](/sdk/data-model/event-payloads/transaction/#transaction-annotations) of its `name` to indicate how the transaction name was generated. +- Transactions must specify the [source](/sdk/foundations/data-model/event-payloads/transaction/#transaction-annotations) of its `name` to indicate how the transaction name was generated. - Calling the `finish` method on spans record the span's end timestamp. For transactions, the `finish` method additionally sends an event to Sentry. @@ -263,7 +263,7 @@ tree as well as the unit of reporting to Sentry. - `super.finish()` (call finish on Span) - Send it to Sentry only if `sampled == true` - Like spans, can be given an optional `endTimestamp` value that should be passed into the `span.finish()` call - - A `Transaction` needs to be wrapped in an `Envelope` and sent to the [Envelope Endpoint](/sdk/data-model/envelopes/) + - A `Transaction` needs to be wrapped in an `Envelope` and sent to the [Envelope Endpoint](/sdk/foundations/transport/envelopes/) - The `Transport` should use the same internal queue for `Transactions` / `Events` - The `Transport` should implement category-based rate limiting → - The `Transport` should deal with wrapping a `Transaction` in an `Envelope` internally diff --git a/develop-docs/sdk/telemetry/traces/opentelemetry.mdx b/develop-docs/sdk/telemetry/traces/opentelemetry.mdx index 622ef9ceb9191..2dcdccc544282 100644 --- a/develop-docs/sdk/telemetry/traces/opentelemetry.mdx +++ b/develop-docs/sdk/telemetry/traces/opentelemetry.mdx @@ -400,7 +400,7 @@ function generateSentryErrorsFromOtelSpan(otelSpan) { ## Span Protocol -Below describe the transformations between an OpenTelemetry span and a Sentry Span. Related: [the interface for a Sentry Span](https://develop.sentry.dev/sdk/data-model/event-payloads/span/), [the Relay spec for a Sentry Span](https://github.com/getsentry/relay/blob/master/relay-event-schema/src/protocol/span.rs) and the spec for an [OpenTelemetry span](https://github.com/open-telemetry/opentelemetry-proto/blob/724e427879e3d2bae2edc0218fff06e37b9eb46e/opentelemetry/proto/trace/v1/trace.proto#L80-L256). +Below describe the transformations between an OpenTelemetry span and a Sentry Span. Related: [the interface for a Sentry Span](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/span/), [the Relay spec for a Sentry Span](https://github.com/getsentry/relay/blob/master/relay-event-schema/src/protocol/span.rs) and the spec for an [OpenTelemetry span](https://github.com/open-telemetry/opentelemetry-proto/blob/724e427879e3d2bae2edc0218fff06e37b9eb46e/opentelemetry/proto/trace/v1/trace.proto#L80-L256). This is based on a mapping done as part of work on the [OpenTelemetry Sentry Exporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/exporter/sentryexporter/docs/transformation.md). @@ -432,7 +432,7 @@ import {Span as OtelSpan} from '@opentelemetry/sdk-trace-base'; import {SemanticAttributes} from '@opentelemetry/semantic-conventions'; import {SpanStatusType as SentryStatus} from '@sentry/tracing'; -// canonicalCodesHTTPMap maps some HTTP codes to Sentry's span statuses. See possible mapping in https://develop.sentry.dev/sdk/data-model/event-payloads/span/ +// canonicalCodesHTTPMap maps some HTTP codes to Sentry's span statuses. See possible mapping in https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/span/ const canonicalCodesHTTPMap: Record = { '400': 'failed_precondition', '401': 'unauthenticated', diff --git a/develop-docs/sdk/telemetry/traces/span-data-conventions.mdx b/develop-docs/sdk/telemetry/traces/span-data-conventions.mdx index 6dd4a24e15085..0f14f676eef6e 100644 --- a/develop-docs/sdk/telemetry/traces/span-data-conventions.mdx +++ b/develop-docs/sdk/telemetry/traces/span-data-conventions.mdx @@ -38,7 +38,7 @@ Below describes the conventions for the Span interface for the `data` field on t | Attribute | Type | Description | Examples | | --------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- | | `blocked_main_thread` | boolean | Whether the main thread was blocked by the span. | `true` | -| `call_stack` | StackFrame[] | The most relevant stack frames, that lead to the File I/O span. The stack frame should adhere to the [`StackFrame`](https://develop.sentry.dev/sdk/data-model/event-payloads/stacktrace/#frame-attributes) interface. | | +| `call_stack` | StackFrame[] | The most relevant stack frames, that lead to the File I/O span. The stack frame should adhere to the [`StackFrame`](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/stacktrace/#frame-attributes) interface. | | | `url` | string | The URL of the resource that was fetched. | `https://example.com` | | `type` | string | More granular type of the operation happening. | `fetch` | | `frames.total` | int | The number of total frames rendered during the lifetime of the span. | `60` | diff --git a/develop-docs/sdk/telemetry/traces/trace-origin.mdx b/develop-docs/sdk/telemetry/traces/trace-origin.mdx index 7abce0ef131f3..626a941231bc8 100644 --- a/develop-docs/sdk/telemetry/traces/trace-origin.mdx +++ b/develop-docs/sdk/telemetry/traces/trace-origin.mdx @@ -4,7 +4,7 @@ title: Trace Origin Trace origin indicates what created a trace, span or log. Not all traces, spans or logs contain enough information to tell whether the user or what precisely in the SDK created it. Origin solves this problem. Origin can be sent with -the trace context, spans, or logs. +the trace context, spans, or logs. For logs and standalone spans, the origin should be set as the `sentry.origin` attribute key. @@ -62,7 +62,7 @@ automatically creates a span. In this case we end up with the following origins: ## See also: -- Span Interface -- Trace Context +- Span Interface +- Trace Context - Logs Interface - Related [RFC](https://github.com/getsentry/rfcs/pull/73/) diff --git a/src/middleware.ts b/src/middleware.ts index 92e345becac1b..ae19495cb6f7f 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -4346,6 +4346,74 @@ const DEVELOPER_DOCS_REDIRECTS: Redirect[] = [ from: '/sdk/overview/', to: '/sdk/foundations/overview/', }, + { + from: '/sdk/data-model/', + to: '/sdk/foundations/data-model/', + }, + { + from: '/sdk/data-model/event-payloads/', + to: '/sdk/foundations/data-model/event-payloads/', + }, + { + from: '/sdk/data-model/event-payloads/breadcrumbs/', + to: '/sdk/foundations/data-model/event-payloads/breadcrumbs/', + }, + { + from: '/sdk/data-model/event-payloads/contexts/', + to: '/sdk/foundations/data-model/event-payloads/contexts/', + }, + { + from: '/sdk/data-model/event-payloads/debugmeta/', + to: '/sdk/foundations/data-model/event-payloads/debugmeta/', + }, + { + from: '/sdk/data-model/event-payloads/exception/', + to: '/sdk/foundations/data-model/event-payloads/exception/', + }, + { + from: '/sdk/data-model/event-payloads/lockreason/', + to: '/sdk/foundations/data-model/event-payloads/lockreason/', + }, + { + from: '/sdk/data-model/event-payloads/message/', + to: '/sdk/foundations/data-model/event-payloads/message/', + }, + { + from: '/sdk/data-model/event-payloads/replay-recording/', + to: '/sdk/foundations/data-model/event-payloads/replay-recording/', + }, + { + from: '/sdk/data-model/event-payloads/request/', + to: '/sdk/foundations/data-model/event-payloads/request/', + }, + { + from: '/sdk/data-model/event-payloads/sdk/', + to: '/sdk/foundations/data-model/event-payloads/sdk/', + }, + { + from: '/sdk/data-model/event-payloads/span/', + to: '/sdk/foundations/data-model/event-payloads/span/', + }, + { + from: '/sdk/data-model/event-payloads/stacktrace/', + to: '/sdk/foundations/data-model/event-payloads/stacktrace/', + }, + { + from: '/sdk/data-model/event-payloads/template/', + to: '/sdk/foundations/data-model/event-payloads/template/', + }, + { + from: '/sdk/data-model/event-payloads/threads/', + to: '/sdk/foundations/data-model/event-payloads/threads/', + }, + { + from: '/sdk/data-model/event-payloads/transaction/', + to: '/sdk/foundations/data-model/event-payloads/transaction/', + }, + { + from: '/sdk/data-model/event-payloads/user/', + to: '/sdk/foundations/data-model/event-payloads/user/', + }, ]; const redirectMap = new Map( From d27bb855a7067a1396a67b98566d758d18776c3e Mon Sep 17 00:00:00 2001 From: Stephanie Anderson Date: Tue, 17 Feb 2026 16:58:01 +0100 Subject: [PATCH 4/7] docs(sdk): Move envelopes to data-model and rename event-payloads to events Move envelopes.mdx and envelope-items.mdx from foundations/transport/ back to foundations/data-model/ where they fit better conceptually. Rename event-payloads/ directory to events/ for cleaner, shorter URLs. Update all cross-references and add redirects for both changes. Co-Authored-By: Claude --- .../feedback-architecture.mdx | 10 +++--- .../transaction-clustering/index.mdx | 2 +- develop-docs/backend/issue-platform/index.mdx | 2 +- .../sdk/expected-features/data-handling.mdx | 2 +- develop-docs/sdk/expected-features/index.mdx | 24 ++++++------- .../envelope-items.mdx | 6 ++-- .../{transport => data-model}/envelopes.mdx | 10 +++--- .../breadcrumbs.mdx | 0 .../{event-payloads => events}/contexts.mdx | 4 +-- .../{event-payloads => events}/debugmeta.mdx | 2 +- .../{event-payloads => events}/exception.mdx | 8 ++--- .../{event-payloads => events}/index.mdx | 4 +-- .../{event-payloads => events}/lockreason.mdx | 2 +- .../{event-payloads => events}/message.mdx | 0 .../properties/contexts_trace.mdx | 2 +- .../properties/description.mdx | 0 .../properties/event_id.mdx | 0 .../properties/measurements.mdx | 0 .../properties/op.mdx | 0 .../properties/parent_span_id.mdx | 0 .../properties/span_id.mdx | 0 .../properties/span_start_timestamp.mdx | 0 .../properties/span_timestamp.mdx | 0 .../properties/spans.mdx | 2 +- .../properties/status.mdx | 0 .../properties/tags.mdx | 0 .../properties/trace_id.mdx | 0 .../properties/transaction_info.mdx | 0 .../properties/type.mdx | 0 .../replay-recording.mdx | 2 +- .../{event-payloads => events}/request.mdx | 0 .../{event-payloads => events}/sdk.mdx | 4 +-- .../{event-payloads => events}/span.mdx | 4 +-- .../{event-payloads => events}/stacktrace.mdx | 6 ++-- .../{event-payloads => events}/template.mdx | 0 .../{event-payloads => events}/threads.mdx | 12 +++---- .../transaction.mdx | 14 ++++---- .../{event-payloads => events}/user.mdx | 2 +- .../foundations/transport/rate-limiting.mdx | 4 +-- develop-docs/sdk/miscellaneous/store.mdx | 4 +-- .../sdk/miscellaneous/unified-api/index.mdx | 2 +- develop-docs/sdk/processes/basics.mdx | 2 +- .../sdk/research/performance/index.mdx | 2 +- develop-docs/sdk/telemetry/check-ins.mdx | 2 +- develop-docs/sdk/telemetry/feedbacks.mdx | 8 ++--- develop-docs/sdk/telemetry/logs.mdx | 24 ++++++------- develop-docs/sdk/telemetry/metrics.mdx | 12 +++---- .../telemetry/profiles/sample-format-v1.mdx | 8 ++--- .../telemetry/profiles/sample-format-v2.mdx | 6 ++-- develop-docs/sdk/telemetry/replays.mdx | 6 ++-- develop-docs/sdk/telemetry/sessions/index.mdx | 2 +- .../sdk/telemetry/spans/span-protocol.mdx | 6 ++-- .../telemetry-processor/batch-processor.mdx | 2 +- .../telemetry/telemetry-processor/index.mdx | 2 +- .../traces/dynamic-sampling-context.mdx | 2 +- develop-docs/sdk/telemetry/traces/index.mdx | 8 ++--- .../sdk/telemetry/traces/opentelemetry.mdx | 4 +-- .../traces/span-data-conventions.mdx | 2 +- .../sdk/telemetry/traces/trace-origin.mdx | 6 ++-- .../traces/tracing-without-performance.mdx | 2 +- src/middleware.ts | 36 +++++++++---------- 61 files changed, 138 insertions(+), 138 deletions(-) rename develop-docs/sdk/foundations/{transport => data-model}/envelope-items.mdx (98%) rename develop-docs/sdk/foundations/{transport => data-model}/envelopes.mdx (97%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/breadcrumbs.mdx (100%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/contexts.mdx (99%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/debugmeta.mdx (99%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/exception.mdx (97%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/index.mdx (96%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/lockreason.mdx (91%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/message.mdx (100%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/properties/contexts_trace.mdx (82%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/properties/description.mdx (100%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/properties/event_id.mdx (100%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/properties/measurements.mdx (100%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/properties/op.mdx (100%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/properties/parent_span_id.mdx (100%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/properties/span_id.mdx (100%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/properties/span_start_timestamp.mdx (100%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/properties/span_timestamp.mdx (100%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/properties/spans.mdx (97%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/properties/status.mdx (100%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/properties/tags.mdx (100%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/properties/trace_id.mdx (100%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/properties/transaction_info.mdx (100%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/properties/type.mdx (100%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/replay-recording.mdx (99%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/request.mdx (100%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/sdk.mdx (95%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/span.mdx (95%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/stacktrace.mdx (98%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/template.mdx (100%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/threads.mdx (85%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/transaction.mdx (91%) rename develop-docs/sdk/foundations/data-model/{event-payloads => events}/user.mdx (98%) diff --git a/develop-docs/application-architecture/feedback-architecture.mdx b/develop-docs/application-architecture/feedback-architecture.mdx index 451b19066028f..19a4ba1c39408 100644 --- a/develop-docs/application-architecture/feedback-architecture.mdx +++ b/develop-docs/application-architecture/feedback-architecture.mdx @@ -16,12 +16,12 @@ When broken down, there are **4** ways to create feedback in our system, with `FeedbackCreationSource(Enum)` in [create_feedback.py](https://github.com/getsentry/sentry/blob/2b642e149c79b251e1c2f4339fc73d656347d74e/src/sentry/feedback/usecases/create_feedback.py#L33-L33). The 4 ways _clients_ can create feedback are: -`NEW_FEEDBACK_ENVELOPE`: [The new format](/sdk/foundations/transport/envelope-items/#user-feedback) created by the Replay team when adding +`NEW_FEEDBACK_ENVELOPE`: [The new format](/sdk/foundations/data-model/envelope-items/#user-feedback) created by the Replay team when adding the [User Feedback Widget](https://docs.sentry.io/product/user-feedback/#user-feedback-widget) to the JavaScript SDK. It allows adding more information, for example tags, release, url, etc. -`USER_REPORT_ENVELOPE`: [The older format](/sdk/foundations/transport/envelope-items/#user-report---deprecated) with name/email/comments, that requires +`USER_REPORT_ENVELOPE`: [The older format](/sdk/foundations/data-model/envelope-items/#user-report---deprecated) with name/email/comments, that requires `event_id` to link a Sentry error event. `USER_REPORT_DJANGO_ENDPOINT`: [The deprecated Web API](https://docs.sentry.io/api/projects/submit-user-feedback/) @@ -42,7 +42,7 @@ which ## Feedback events -The preferred way of sending feedback from the SDK is in [feedback envelope](/sdk/foundations/transport/envelope-items/#user-feedback). +The preferred way of sending feedback from the SDK is in [feedback envelope](/sdk/foundations/data-model/envelope-items/#user-feedback). The format is the same as error events, except the `type` header = `"feedback"`. While user reports have an associated event, **new feedback _is_ an event**. This offers 2 improvements: @@ -93,7 +93,7 @@ In Relay v24.5.1, we migrated feedback to its own kafka topic + consumer, ### Attachments -Attachments are another [item type](/sdk/foundations/transport/envelopes/#attachment) +Attachments are another [item type](/sdk/foundations/data-model/envelopes/#attachment) in an envelope. We use attachments for the widget’s screenshot feature. - SDK v8.0.0+, Relay v24.5.1+: Sends the feedback and attachment items in the same envelope. @@ -185,7 +185,7 @@ graph TD ### Envelopes -User reports are also sent to Relay in envelope format, item type [user_report](/sdk/foundations/transport/envelope-items/#user-report---deprecated). +User reports are also sent to Relay in envelope format, item type [user_report](/sdk/foundations/data-model/envelope-items/#user-report---deprecated). The SDK function that sends these is `captureUserFeedback`. diff --git a/develop-docs/backend/application-domains/transaction-clustering/index.mdx b/develop-docs/backend/application-domains/transaction-clustering/index.mdx index ea8cbae2a7ab4..9398937e17728 100644 --- a/develop-docs/backend/application-domains/transaction-clustering/index.mdx +++ b/develop-docs/backend/application-domains/transaction-clustering/index.mdx @@ -13,7 +13,7 @@ In terms of technical implementation, it is similar to [Data Scrubbing](/backend ## The Problem In our [Insights](https://docs.sentry.io/product/insights/overview/) product, transactions are grouped by their name -(the [`event.transaction`](/sdk/foundations/data-model/event-payloads/#optional-attributes) field). +(the [`event.transaction`](/sdk/foundations/data-model/events/#optional-attributes) field). This works well as long as the cardinality of distinct transaction names that the SDK sends is low, for example by using the [route of a web framework](https://docs.sentry.io/platforms/javascript/guides/react/configuration/integrations/react-router/) as the transaction name. diff --git a/develop-docs/backend/issue-platform/index.mdx b/develop-docs/backend/issue-platform/index.mdx index 4bc546a86af99..a71958a722991 100644 --- a/develop-docs/backend/issue-platform/index.mdx +++ b/develop-docs/backend/issue-platform/index.mdx @@ -145,7 +145,7 @@ The most current version of this schema is documented here: Schema -The event schema should match the Sentry event schema. Any fields/interfaces defined here can be passed along with your event. It's best to fill in as many of these as makes sense for your issue type. +The event schema should match the Sentry event schema. Any fields/interfaces defined here can be passed along with your event. It's best to fill in as many of these as makes sense for your issue type. There's a minimum set of fields which should be included: diff --git a/develop-docs/sdk/expected-features/data-handling.mdx b/develop-docs/sdk/expected-features/data-handling.mdx index 36ba1e1931841..00a83e11d8f91 100644 --- a/develop-docs/sdk/expected-features/data-handling.mdx +++ b/develop-docs/sdk/expected-features/data-handling.mdx @@ -152,5 +152,5 @@ Fields in the event payload that allow user-specified or dynamic values are rest Additionally, size limits apply to all store requests for the total size of the request, event payload, and attachments. Sentry rejects all requests exceeding these limits. Please refer the following resources for the exact size limits: -- Envelope Endpoint Size Limits +- Envelope Endpoint Size Limits - Store Endpoint Size Limits diff --git a/develop-docs/sdk/expected-features/index.mdx b/develop-docs/sdk/expected-features/index.mdx index 7af9e8f65fa02..d737733af0cfd 100644 --- a/develop-docs/sdk/expected-features/index.mdx +++ b/develop-docs/sdk/expected-features/index.mdx @@ -44,7 +44,7 @@ With deeper framework integration, the automatic recording of breadcrumbs is pos * System Events: low battery, low storage space, airplane mode started, memory warnings, device orientation changed, etc. * [Outgoing HTTP requests](#http-client-integrations) -Check out the [complete breadcrumb documentation](/sdk/foundations/data-model/event-payloads/breadcrumbs/#breadcrumb-types) for more types. +Check out the [complete breadcrumb documentation](/sdk/foundations/data-model/events/breadcrumbs/#breadcrumb-types) for more types. ## Event Sampling @@ -128,7 +128,7 @@ An SDK may optionally track feature flag evaluations. Feature flags can be attac When tracking feature flag evaluations on spans, we track the first 10 feature flags evaluated within the span's scope. Evaluations are span attributes and follow the existing span attribute schema. -When tracking on error feature flag evaluations, we record the 100 most recent, unique feature flag evaluations. Evaluations are stored on the scope. When the scope forks a copy of the collected feature flag evaluations are given to the child scope. Mutations to the child's copy of the feature flags object should not be propagated to the parent. Flag evaluations within a scope are considered local to the scope and do not propagate. Evaluations should be submitted to Sentry following the schema specified in the Feature Flag Context protocol documentation. +When tracking on error feature flag evaluations, we record the 100 most recent, unique feature flag evaluations. Evaluations are stored on the scope. When the scope forks a copy of the collected feature flag evaluations are given to the child scope. Mutations to the child's copy of the feature flags object should not be propagated to the parent. Flag evaluations within a scope are considered local to the scope and do not propagate. Evaluations should be submitted to Sentry following the schema specified in the Feature Flag Context protocol documentation. If an SDK supports feature flags it must expose a function `add_feature_flag` which has similar behavior to the `set_tag` function. It must accept a key of type string and a value which is a union of string, boolean, integer, float, and structure. @@ -146,7 +146,7 @@ Ability to get the ID of the last event sent. Event IDs are useful for correlati ## User Feedback -For all SDKs, it is strongly recommended to send the `User Feedback` as an [envelope item](/sdk/foundations/transport/envelope-items/#user-report---deprecated). Alternatively, the SDKs can +For all SDKs, it is strongly recommended to send the `User Feedback` as an [envelope item](/sdk/foundations/data-model/envelope-items/#user-report---deprecated). Alternatively, the SDKs can use the [User Feedback endpoint](https://docs.sentry.io/api/projects/submit-user-feedback/), which is not recommended. ### User Facing Platforms @@ -194,7 +194,7 @@ Envelope item: ## Attachments -Attachments are files stored alongside an event. To send an attachment, add it as an [envelope item](/sdk/foundations/transport/envelope-items/#attachment) +Attachments are files stored alongside an event. To send an attachment, add it as an [envelope item](/sdk/foundations/data-model/envelope-items/#attachment) to the corresponding event. We recommend implementing two types of attachments, one with a path and another with a byte array. @@ -206,7 +206,7 @@ The overload that takes a `path` should consider: * If reading the attachment fails, the SDK should not drop the whole envelope, but just the attachment's envelope item. * If the SDK is in debug mode log (`debug=true`) out errors to make debugging easier. -If the SDK supports [transactions](/sdk/foundations/transport/envelope-items/#transaction), the attachments should offer a flag `addToTransactions`, +If the SDK supports [transactions](/sdk/foundations/data-model/envelope-items/#transaction), the attachments should offer a flag `addToTransactions`, that specifies if SDK adds the attachment to every transaction or not. The default should be `false`. Use the implementations of [Java](https://github.com/getsentry/sentry-java/blob/main/sentry/src/main/java/io/sentry/Attachment.java), @@ -222,7 +222,7 @@ useful because attachments could quickly eat up the users' disk space. Furthermo ## Screenshots -When the user opts-in, if technically possible, take a screenshot of the application during a crash or error and include it as an [attachment](#attachments) to the [envelope](/sdk/foundations/transport/envelopes/) with the event. +When the user opts-in, if technically possible, take a screenshot of the application during a crash or error and include it as an [attachment](#attachments) to the [envelope](/sdk/foundations/data-model/envelopes/) with the event. This feature only applies to SDKs with a user interface, such as Mobile and Desktop. In some environments such as native iOS, taking a screenshot requires the UI thread and in the event of a crash, that might not be available. So inherently this feature will be a best effort solution. @@ -369,7 +369,7 @@ If Performance Monitoring is both supported by the SDK and enabled in the client - description: `$METHOD $url` (uppercase HTTP method), e.g. `GET https://sentry.io` - HTTP requests must be enhanced with a [`sentry-trace` HTTP header](/sdk/telemetry/traces/#header-sentry-trace) to support [distributed tracing](https://docs.sentry.io/product/sentry-basics/tracing/distributed-tracing) - HTTP requests must be enhanced with a [`baggage` HTTP header](/sdk/telemetry/traces/dynamic-sampling-context/#baggage-header) to support [dynamic sampling](/sdk/telemetry/traces/dynamic-sampling-context/) -- span status must match HTTP response status code ([see Span status to HTTP status code mapping](/sdk/foundations/data-model/event-payloads/span/)) +- span status must match HTTP response status code ([see Span status to HTTP status code mapping](/sdk/foundations/data-model/events/span/)) - when network error occurs, span status must be set to `internal_error` - span data must follow the [Span Data Conventions](/sdk/telemetry/traces/span-data-conventions/) @@ -390,9 +390,9 @@ The HTTP Client integration should have 3 configuration options: The HTTP Client integration should capture error events with the following properties: -The Request interface, see the Spec for details. +The Request interface, see the Spec for details. -The Response context, see the Spec for details. +The Response context, see the Spec for details. ```json { @@ -411,12 +411,12 @@ The Response context, see the Spec for details. +The Exception Interface, see the Spec for details. If the HTTP Client integration does not throw an exception for unsuccessful requests, you can create a synthetic exception following this Spec: -- Set the Exception Mechanism with a proper `type` such as `SentryOkHttpInterceptor`. -- Set the Stack Trace Interface with `snapshot=true`. +- Set the Exception Mechanism with a proper `type` such as `SentryOkHttpInterceptor`. +- Set the Stack Trace Interface with `snapshot=true`. - `HTTP Client Error with status code: $code`. When capturing error events, pass the original `Request` and `Response` objects from the HTTP Client as `hints`, so the users may filter out events in `beforeSend` with the full context. diff --git a/develop-docs/sdk/foundations/transport/envelope-items.mdx b/develop-docs/sdk/foundations/data-model/envelope-items.mdx similarity index 98% rename from develop-docs/sdk/foundations/transport/envelope-items.mdx rename to develop-docs/sdk/foundations/data-model/envelope-items.mdx index 68562d9ad5c06..d4982831a71f1 100644 --- a/develop-docs/sdk/foundations/transport/envelope-items.mdx +++ b/develop-docs/sdk/foundations/data-model/envelope-items.mdx @@ -16,7 +16,7 @@ The headers described in this section are **in addition to the common headers**. ### Event -Item type `"event"`. This Item contains an error or default [event payload](/sdk/foundations/data-model/event-payloads/) +Item type `"event"`. This Item contains an error or default [event payload](/sdk/foundations/data-model/events/) encoded in JSON. **Constraints:** @@ -230,7 +230,7 @@ Example payload: **Payload Attributes** We only document attributes for the `contexts.feedback` object, which is **required** -for this item type. For other attributes, see [Event Payloads](/sdk/foundations/data-model/event-payloads/). +for this item type. For other attributes, see [Event Payloads](/sdk/foundations/data-model/events/). `message` @@ -263,7 +263,7 @@ project. Sentry uses this ID to render a Replay clip in the feedback UI. **Attaching Files:** You can attach files of any type to a feedback (screenshots, logs, documents, etc.) by sending them as -[attachment items](/sdk/foundations/transport/envelope-items/#attachment), with `event_id` +[attachment items](/sdk/foundations/data-model/envelope-items/#attachment), with `event_id` corresponding to the feedback item. We recommend sending the attachment items in the same Envelope as the feedback item. diff --git a/develop-docs/sdk/foundations/transport/envelopes.mdx b/develop-docs/sdk/foundations/data-model/envelopes.mdx similarity index 97% rename from develop-docs/sdk/foundations/transport/envelopes.mdx rename to develop-docs/sdk/foundations/data-model/envelopes.mdx index a85eb319c263b..804e4281b494a 100644 --- a/develop-docs/sdk/foundations/transport/envelopes.mdx +++ b/develop-docs/sdk/foundations/data-model/envelopes.mdx @@ -44,7 +44,7 @@ POST /api//envelope/ ## Serialization Format This section defines the Envelope data format and serialization. For details on -data integrity and a list of valid Item types refer to [Envelope Items](/sdk/foundations/transport/envelope-items/). +data integrity and a list of valid Item types refer to [Envelope Items](/sdk/foundations/data-model/envelope-items/). ### Prerequisites @@ -101,7 +101,7 @@ Payload = { * } ; [Headers](#headers) section. Attributes defined in the Envelope header scope the contents of the Envelope and can be thought of as applying to all Items. - Based on the contents of the Envelope, certain header attributes may be - required. See [Envelope Items](/sdk/foundations/transport/envelope-items/) for a specification of required + required. See [Envelope Items](/sdk/foundations/data-model/envelope-items/) for a specification of required attributes. - **Items** comprise their own headers and a payload. There can be an arbitrary number of **Items** in an Envelope separated by a newline. An @@ -124,7 +124,7 @@ Envelopes can have a number of headers which are valid in all situations: `sdk` -: *Object, recommended.* This can carry the same payload as the [`sdk` interface](/sdk/foundations/data-model/event-payloads/sdk/) +: *Object, recommended.* This can carry the same payload as the [`sdk` interface](/sdk/foundations/data-model/events/sdk/) in the event payload but can be carried for all events. This means that SDK information can be carried for minidumps, session data and other submissions. @@ -184,7 +184,7 @@ There are two generic headers for every Item: `type` : **String, required.** Specifies the type of this Item and its contents. Based - on the Item type, more headers may be required. See [Envelope Items](/sdk/foundations/transport/envelope-items/) for a list + on the Item type, more headers may be required. See [Envelope Items](/sdk/foundations/data-model/envelope-items/) for a list of all Item types. `length` @@ -297,7 +297,7 @@ EOF:** ## Data Model -This section has been moved to [Envelope Items](/sdk/foundations/transport/envelope-items/). +This section has been moved to [Envelope Items](/sdk/foundations/data-model/envelope-items/). ## Ingestion This section describes how to ingest Envelopes into Relay or Sentry. The main diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/breadcrumbs.mdx b/develop-docs/sdk/foundations/data-model/events/breadcrumbs.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/event-payloads/breadcrumbs.mdx rename to develop-docs/sdk/foundations/data-model/events/breadcrumbs.mdx diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/contexts.mdx b/develop-docs/sdk/foundations/data-model/events/contexts.mdx similarity index 99% rename from develop-docs/sdk/foundations/data-model/event-payloads/contexts.mdx rename to develop-docs/sdk/foundations/data-model/events/contexts.mdx index 9a740a4083d34..72c5c6698a2b9 100644 --- a/develop-docs/sdk/foundations/data-model/event-payloads/contexts.mdx +++ b/develop-docs/sdk/foundations/data-model/events/contexts.mdx @@ -206,7 +206,7 @@ confusion about which OS context represents what. So here's some examples: the SDK (if at all). Additionally, the Sentry server will attempt to parse the `User-Agent` header - from the event's [Request Interface](/sdk/foundations/data-model/event-payloads/request/) and create a _secondary_ OS + from the event's [Request Interface](/sdk/foundations/data-model/events/request/) and create a _secondary_ OS context under the non-default key `"client_os"`. - In events reported from a JS web frontend, the SDK typically reports no OS @@ -604,7 +604,7 @@ The `type` and default key is `"cloud_resource"`. **Example Cloud Resource Context** -The following example illustrates the contexts part of the event payload and omits other attributes for simplicity. +The following example illustrates the contexts part of the event payload and omits other attributes for simplicity. ```json { diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/debugmeta.mdx b/develop-docs/sdk/foundations/data-model/events/debugmeta.mdx similarity index 99% rename from develop-docs/sdk/foundations/data-model/event-payloads/debugmeta.mdx rename to develop-docs/sdk/foundations/data-model/events/debugmeta.mdx index d25086e31c868..e5eabe7bb8b91 100644 --- a/develop-docs/sdk/foundations/data-model/event-payloads/debugmeta.mdx +++ b/develop-docs/sdk/foundations/data-model/events/debugmeta.mdx @@ -29,7 +29,7 @@ system symbols, and is not required for other SDKs. ## Debug Images The list of debug images contains all dynamic libraries loaded into the process -and their memory addresses. Instruction addresses in the [Stack Trace](/sdk/foundations/data-model/event-payloads/stacktrace/) are +and their memory addresses. Instruction addresses in the [Stack Trace](/sdk/foundations/data-model/events/stacktrace/) are mapped into the list of debug images in order to retrieve debug files for symbolication. diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/exception.mdx b/develop-docs/sdk/foundations/data-model/events/exception.mdx similarity index 97% rename from develop-docs/sdk/foundations/data-model/event-payloads/exception.mdx rename to develop-docs/sdk/foundations/data-model/events/exception.mdx index 5f427498dbb76..fd5ee5b7cf808 100644 --- a/develop-docs/sdk/foundations/data-model/event-payloads/exception.mdx +++ b/develop-docs/sdk/foundations/data-model/events/exception.mdx @@ -5,7 +5,7 @@ sidebar_order: 2 The Exception Interface specifies an exception or error that occurred in a program. -An event may contain one or more exceptions in an attribute named `exception`. +An event may contain one or more exceptions in an attribute named `exception`. The `exception` attribute should be an object with the attribute `values` containing a list of one or more values that are objects in the format described @@ -41,7 +41,7 @@ description of `ValueError`. `thread_id` -: An optional value which refers to a thread in the [Thread Interface](/sdk/foundations/data-model/event-payloads/threads/). +: An optional value which refers to a thread in the [Thread Interface](/sdk/foundations/data-model/events/threads/). `mechanism` @@ -50,7 +50,7 @@ created this exception. `stacktrace` -: An optional stack trace object corresponding to the [Stack Trace Interface](/sdk/foundations/data-model/event-payloads/stacktrace/). +: An optional stack trace object corresponding to the [Stack Trace Interface](/sdk/foundations/data-model/events/stacktrace/). ## Exception Mechanism The exception mechanism is an optional field residing in the _Exception Interface_. @@ -285,7 +285,7 @@ information. ## Examples The following examples illustrate multiple ways to send exceptions. Each example -contains the exception part of the event payload and omits other +contains the exception part of the event payload and omits other attributes for simplicity. A single exception: diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/index.mdx b/develop-docs/sdk/foundations/data-model/events/index.mdx similarity index 96% rename from develop-docs/sdk/foundations/data-model/event-payloads/index.mdx rename to develop-docs/sdk/foundations/data-model/events/index.mdx index ee399c2fcf296..939d0307235b1 100644 --- a/develop-docs/sdk/foundations/data-model/event-payloads/index.mdx +++ b/develop-docs/sdk/foundations/data-model/events/index.mdx @@ -6,7 +6,7 @@ sidebar_order: 3 Events are the fundamental data that clients, often through the use of an SDK, send to the Sentry server. -Events are packed into [envelopes](/sdk/foundations/transport/envelopes/) and are sent to the `/api/{PROJECT_ID}/envelope/` API endpoint. +Events are packed into [envelopes](/sdk/foundations/data-model/envelopes/) and are sent to the `/api/{PROJECT_ID}/envelope/` API endpoint. Sending event payloads to the `/api/{PROJECT_ID}/store/` API endpoint is deprecated. @@ -285,7 +285,7 @@ Fingerprints](https://docs.sentry.io/data-management/event-grouping/). ## Size Limits Event ingestion imposes limits on the size of events. -See [Envelope Size Limits](/sdk/foundations/transport/envelopes/#size-limits) for further details. +See [Envelope Size Limits](/sdk/foundations/data-model/envelopes/#size-limits) for further details. ## Core Interfaces diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/lockreason.mdx b/develop-docs/sdk/foundations/data-model/events/lockreason.mdx similarity index 91% rename from develop-docs/sdk/foundations/data-model/event-payloads/lockreason.mdx rename to develop-docs/sdk/foundations/data-model/events/lockreason.mdx index 738130b89d0a2..63d9772a2f92c 100644 --- a/develop-docs/sdk/foundations/data-model/event-payloads/lockreason.mdx +++ b/develop-docs/sdk/foundations/data-model/events/lockreason.mdx @@ -8,7 +8,7 @@ to determine which other thread is holding the lock in case the current thread i -Lock reasons are always part of a [thread](/sdk/foundations/data-model/event-payloads/threads/). They cannot be declared as a top-level event property. +Lock reasons are always part of a [thread](/sdk/foundations/data-model/events/threads/). They cannot be declared as a top-level event property. diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/message.mdx b/develop-docs/sdk/foundations/data-model/events/message.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/event-payloads/message.mdx rename to develop-docs/sdk/foundations/data-model/events/message.mdx diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/properties/contexts_trace.mdx b/develop-docs/sdk/foundations/data-model/events/properties/contexts_trace.mdx similarity index 82% rename from develop-docs/sdk/foundations/data-model/event-payloads/properties/contexts_trace.mdx rename to develop-docs/sdk/foundations/data-model/events/properties/contexts_trace.mdx index 0a39d118c5149..fc51b2b6a6bca 100644 --- a/develop-docs/sdk/foundations/data-model/event-payloads/properties/contexts_trace.mdx +++ b/develop-docs/sdk/foundations/data-model/events/properties/contexts_trace.mdx @@ -1,6 +1,6 @@ `contexts.trace` -: _Recommended_. A Transaction has to have a specific `contexts.trace` entry that contains tracing information. See the [Trace Context documentation](/sdk/foundations/data-model/event-payloads/contexts/#trace-context). +: _Recommended_. A Transaction has to have a specific `contexts.trace` entry that contains tracing information. See the [Trace Context documentation](/sdk/foundations/data-model/events/contexts/#trace-context). ```json { diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/properties/description.mdx b/develop-docs/sdk/foundations/data-model/events/properties/description.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/event-payloads/properties/description.mdx rename to develop-docs/sdk/foundations/data-model/events/properties/description.mdx diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/properties/event_id.mdx b/develop-docs/sdk/foundations/data-model/events/properties/event_id.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/event-payloads/properties/event_id.mdx rename to develop-docs/sdk/foundations/data-model/events/properties/event_id.mdx diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/properties/measurements.mdx b/develop-docs/sdk/foundations/data-model/events/properties/measurements.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/event-payloads/properties/measurements.mdx rename to develop-docs/sdk/foundations/data-model/events/properties/measurements.mdx diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/properties/op.mdx b/develop-docs/sdk/foundations/data-model/events/properties/op.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/event-payloads/properties/op.mdx rename to develop-docs/sdk/foundations/data-model/events/properties/op.mdx diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/properties/parent_span_id.mdx b/develop-docs/sdk/foundations/data-model/events/properties/parent_span_id.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/event-payloads/properties/parent_span_id.mdx rename to develop-docs/sdk/foundations/data-model/events/properties/parent_span_id.mdx diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/properties/span_id.mdx b/develop-docs/sdk/foundations/data-model/events/properties/span_id.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/event-payloads/properties/span_id.mdx rename to develop-docs/sdk/foundations/data-model/events/properties/span_id.mdx diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/properties/span_start_timestamp.mdx b/develop-docs/sdk/foundations/data-model/events/properties/span_start_timestamp.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/event-payloads/properties/span_start_timestamp.mdx rename to develop-docs/sdk/foundations/data-model/events/properties/span_start_timestamp.mdx diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/properties/span_timestamp.mdx b/develop-docs/sdk/foundations/data-model/events/properties/span_timestamp.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/event-payloads/properties/span_timestamp.mdx rename to develop-docs/sdk/foundations/data-model/events/properties/span_timestamp.mdx diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/properties/spans.mdx b/develop-docs/sdk/foundations/data-model/events/properties/spans.mdx similarity index 97% rename from develop-docs/sdk/foundations/data-model/event-payloads/properties/spans.mdx rename to develop-docs/sdk/foundations/data-model/events/properties/spans.mdx index 423bf037fdb47..24bf472a19c0b 100644 --- a/develop-docs/sdk/foundations/data-model/event-payloads/properties/spans.mdx +++ b/develop-docs/sdk/foundations/data-model/events/properties/spans.mdx @@ -1,6 +1,6 @@ `spans` -: _Recommended_. A list of [Spans](/sdk/foundations/data-model/event-payloads/span/). +: _Recommended_. A list of [Spans](/sdk/foundations/data-model/events/span/). ```json { diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/properties/status.mdx b/develop-docs/sdk/foundations/data-model/events/properties/status.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/event-payloads/properties/status.mdx rename to develop-docs/sdk/foundations/data-model/events/properties/status.mdx diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/properties/tags.mdx b/develop-docs/sdk/foundations/data-model/events/properties/tags.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/event-payloads/properties/tags.mdx rename to develop-docs/sdk/foundations/data-model/events/properties/tags.mdx diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/properties/trace_id.mdx b/develop-docs/sdk/foundations/data-model/events/properties/trace_id.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/event-payloads/properties/trace_id.mdx rename to develop-docs/sdk/foundations/data-model/events/properties/trace_id.mdx diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/properties/transaction_info.mdx b/develop-docs/sdk/foundations/data-model/events/properties/transaction_info.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/event-payloads/properties/transaction_info.mdx rename to develop-docs/sdk/foundations/data-model/events/properties/transaction_info.mdx diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/properties/type.mdx b/develop-docs/sdk/foundations/data-model/events/properties/type.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/event-payloads/properties/type.mdx rename to develop-docs/sdk/foundations/data-model/events/properties/type.mdx diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/replay-recording.mdx b/develop-docs/sdk/foundations/data-model/events/replay-recording.mdx similarity index 99% rename from develop-docs/sdk/foundations/data-model/event-payloads/replay-recording.mdx rename to develop-docs/sdk/foundations/data-model/events/replay-recording.mdx index a11d60abb3608..1c353590938a7 100644 --- a/develop-docs/sdk/foundations/data-model/event-payloads/replay-recording.mdx +++ b/develop-docs/sdk/foundations/data-model/events/replay-recording.mdx @@ -76,7 +76,7 @@ The payload for `"options"` is a record of configuration name -> configuration v ### Breadcrumbs -Breadcrumbs are named as such because they are intercepted from the web SDK and forwarded as a custom recording event. They have the same structure as describe in breadcrumbs interface. +Breadcrumbs are named as such because they are intercepted from the web SDK and forwarded as a custom recording event. They have the same structure as describe in breadcrumbs interface. ```json { diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/request.mdx b/develop-docs/sdk/foundations/data-model/events/request.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/event-payloads/request.mdx rename to develop-docs/sdk/foundations/data-model/events/request.mdx diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/sdk.mdx b/develop-docs/sdk/foundations/data-model/events/sdk.mdx similarity index 95% rename from develop-docs/sdk/foundations/data-model/event-payloads/sdk.mdx rename to develop-docs/sdk/foundations/data-model/events/sdk.mdx index 438546cd3b4e2..777994403af44 100644 --- a/develop-docs/sdk/foundations/data-model/event-payloads/sdk.mdx +++ b/develop-docs/sdk/foundations/data-model/events/sdk.mdx @@ -73,13 +73,13 @@ reference (branch, tag or SHA). : _Optional_. A collection of settings that are used to control behaviour. - `infer_ip`: Controls the behaviour of IP address inference based on request information. Following values are allowed: - - `auto`: infer the IP address based on available request information. This is equal to [setting the IP address to `{{auto}}`](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/user/#automatic-ip-addresses). + - `auto`: infer the IP address based on available request information. This is equal to [setting the IP address to `{{auto}}`](https://develop.sentry.dev/sdk/foundations/data-model/events/user/#automatic-ip-addresses). - `never`: Do not infer the IP address from the request. This is the default if an invalid value for `infer_ip` was sent. - `legacy`: Infer the IP address only if the value is `{{auto}}`. For Javascript and Cocoa it will also infer if `ip_address` is empty. This is the default if no value was sent. ## Example -The following example illustrates the SDK part of the event payload and omits other +The following example illustrates the SDK part of the event payload and omits other attributes for simplicity. ```json diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/span.mdx b/develop-docs/sdk/foundations/data-model/events/span.mdx similarity index 95% rename from develop-docs/sdk/foundations/data-model/event-payloads/span.mdx rename to develop-docs/sdk/foundations/data-model/events/span.mdx index 4e3748e15cf3a..2543673273a1d 100644 --- a/develop-docs/sdk/foundations/data-model/event-payloads/span.mdx +++ b/develop-docs/sdk/foundations/data-model/events/span.mdx @@ -4,7 +4,7 @@ title: Span Interface The Span Interface specifies a series of _timed_ application events that have a start and end time. -A [Transaction](/sdk/foundations/data-model/event-payloads/transaction/) may contain zero or more Spans in an array attribute named `spans`. Spans in the list don't have to be ordered, they will be ordered by start / end time on the Server. +A [Transaction](/sdk/foundations/data-model/events/transaction/) may contain zero or more Spans in an array attribute named `spans`. Spans in the list don't have to be ordered, they will be ordered by start / end time on the Server. While Span attributes will be normalized on the server, a Span is most useful when it includes at least an `op` and `description`. @@ -173,7 +173,7 @@ The semantic conventions for the `data` field are described in Envelopes are a new format and therefore only work on Sentry >= 10. More - information can be found on the Envelope page. + information can be found on the Envelope page. ## Anatomy -A Transaction is basically a [Span](/sdk/foundations/data-model/event-payloads/span/) combined with an [Event](/sdk/foundations/data-model/event-payloads/). When using +A Transaction is basically a [Span](/sdk/foundations/data-model/events/span/) combined with an [Event](/sdk/foundations/data-model/events/). When using tracing with our SDKs you usually create a Span tree, the root node and therefore the whole tree is considered to be the Transaction. -So technically a Transaction is just a Span. A Transaction must also have a `contexts.trace` (which contains some data of the [Span](/sdk/foundations/data-model/event-payloads/span/)) and some other +So technically a Transaction is just a Span. A Transaction must also have a `contexts.trace` (which contains some data of the [Span](/sdk/foundations/data-model/events/span/)) and some other properties that will be covered in the next section. -Transactions are [Events](/sdk/foundations/data-model/event-payloads/) enriched with [Span](/sdk/foundations/data-model/event-payloads/span/) data. +Transactions are [Events](/sdk/foundations/data-model/events/) enriched with [Span](/sdk/foundations/data-model/events/span/) data. We are only going to list here what is important for a Transaction. `type` @@ -78,7 +78,7 @@ or: `contexts.trace` -_Recommended_. A Transaction has to have a specific `contexts.trace` entry that contains tracing information. See the [Trace Context documentation](/sdk/foundations/data-model/event-payloads/contexts/#trace-context). +_Recommended_. A Transaction has to have a specific `contexts.trace` entry that contains tracing information. See the [Trace Context documentation](/sdk/foundations/data-model/events/contexts/#trace-context). ```json { @@ -97,7 +97,7 @@ _Recommended_. A Transaction has to have a specific `contexts.trace` entry that `spans` -_Recommended_. A list of [Spans](/sdk/foundations/data-model/event-payloads/span/). +_Recommended_. A list of [Spans](/sdk/foundations/data-model/events/span/). ```json { diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/user.mdx b/develop-docs/sdk/foundations/data-model/events/user.mdx similarity index 98% rename from develop-docs/sdk/foundations/data-model/event-payloads/user.mdx rename to develop-docs/sdk/foundations/data-model/events/user.mdx index a5410199fc972..1c70810b8efa9 100644 --- a/develop-docs/sdk/foundations/data-model/event-payloads/user.mdx +++ b/develop-docs/sdk/foundations/data-model/events/user.mdx @@ -65,7 +65,7 @@ Approximate geographical location of the end user or device. SDKs running on client platforms, such as browsers and mobile applications, should set `ip_address = "{{auto}}"` by default. Server-side SDKs should -populate the [Request Interface](/sdk/foundations/data-model/event-payloads/request/), instead. Sentry +populate the [Request Interface](/sdk/foundations/data-model/events/request/), instead. Sentry employs several fallbacks to backfill the IP address: 1. Use `user.ip_address`, if set directly. diff --git a/develop-docs/sdk/foundations/transport/rate-limiting.mdx b/develop-docs/sdk/foundations/transport/rate-limiting.mdx index 7cebc01b4f23b..f9a53fc745c36 100644 --- a/develop-docs/sdk/foundations/transport/rate-limiting.mdx +++ b/develop-docs/sdk/foundations/transport/rate-limiting.mdx @@ -15,7 +15,7 @@ Each *quota_limit* has the form `retry_after:categories:scope:reason_code:namesp - `retry_after`: Number of seconds (as an integer or a floating point number) until this rate limit expires. - `categories`: Semicolon-separated list of [data categories](https://github.com/getsentry/relay/blob/master/relay-base-schema/src/data_category.rs#L91). **If empty, this limit applies to all categories**. - While these categories might look similar to the [envelope item types](/sdk/foundations/transport/envelope-items/), they are not identical, and have slight differences. + While these categories might look similar to the [envelope item types](/sdk/foundations/data-model/envelope-items/), they are not identical, and have slight differences. - `scope`: The scope that this limit applies to. Can be ignored by SDKs. - `reason_code`: A unique identifier for the quota hinting at the rate limiting reason. Can be ignored by SDKs. - `namespaces`: Semicolon-separated list of metric namespace identifiers. This will only be present if the rate limit applies to the `metric_bucket` data category. If the namespace is not present, the backoff applies to all metrics. @@ -83,7 +83,7 @@ Guidelines for how SDKs should determine the current rate limits: As stated earlier, SDKs can ignore the `scope` dimension. These definitions are here as a supplement to explain what the `X-Sentry-Rate-Limits` header is made of. - **Category:** Classifies the type of data that is being counted. Arbitrary categories can be added as long as they can be inferred from the event or data being ingested. -While these [data categories](https://github.com/getsentry/relay/blob/master/relay-base-schema/src/data_category.rs#L91) might look similar to the [envelope item types](/sdk/foundations/transport/envelope-items/), they are not identical, and have slight differences. +While these [data categories](https://github.com/getsentry/relay/blob/master/relay-base-schema/src/data_category.rs#L91) might look similar to the [envelope item types](/sdk/foundations/data-model/envelope-items/), they are not identical, and have slight differences. - `default`: Events with an event_type not listed explicitly below. - `error`: Error events. - `transaction`: Transaction type events. diff --git a/develop-docs/sdk/miscellaneous/store.mdx b/develop-docs/sdk/miscellaneous/store.mdx index 921c997eee723..8d076dd714569 100644 --- a/develop-docs/sdk/miscellaneous/store.mdx +++ b/develop-docs/sdk/miscellaneous/store.mdx @@ -5,7 +5,7 @@ sidebar_order: 2 -The `/store` endpoint is deprecated. All data should be sent to the `/envelope` endpoint. See [Envelopes](/sdk/foundations/transport/envelopes/). +The `/store` endpoint is deprecated. All data should be sent to the `/envelope` endpoint. See [Envelopes](/sdk/foundations/data-model/envelopes/). @@ -43,7 +43,7 @@ between them is that attributes are very barebones key/value pairs (for the most part) and interfaces are rich styled interface elements. Examples of attribute are `event_id` or `tags` whereas the `exception` key is an interface. -For a list of all supported attributes and interfaces in event payloads, see Event Payloads. +For a list of all supported attributes and interfaces in event payloads, see Event Payloads. ## HTTP Headers diff --git a/develop-docs/sdk/miscellaneous/unified-api/index.mdx b/develop-docs/sdk/miscellaneous/unified-api/index.mdx index e4dbbef70ec61..7fa5d6ecdd5a5 100644 --- a/develop-docs/sdk/miscellaneous/unified-api/index.mdx +++ b/develop-docs/sdk/miscellaneous/unified-api/index.mdx @@ -67,7 +67,7 @@ meant that certain integrations (such as breadcrumbs) were often not possible. - **client options**: Are parameters that are language and runtime specific and used to configure the client. This can be release and environment but also things like which integrations to configure, how in-app works etc. -- **context**: Contexts give extra data to Sentry. There are the special contexts (user and similar) and the generic ones (`runtime`, `os`, `device`), etc. Check out Contexts for some predefined keys - users can also add arbitrary context keys. _Note: In older SDKs, you might encounter an unrelated concept of context, which is now deprecated by scopes_ +- **context**: Contexts give extra data to Sentry. There are the special contexts (user and similar) and the generic ones (`runtime`, `os`, `device`), etc. Check out Contexts for some predefined keys - users can also add arbitrary context keys. _Note: In older SDKs, you might encounter an unrelated concept of context, which is now deprecated by scopes_ - **tags**: Tags can be arbitrary string→string pairs by which events can be searched. Contexts are converted into tags. diff --git a/develop-docs/sdk/processes/basics.mdx b/develop-docs/sdk/processes/basics.mdx index 4dcdc03b59eb3..47e5ba56cc1c7 100644 --- a/develop-docs/sdk/processes/basics.mdx +++ b/develop-docs/sdk/processes/basics.mdx @@ -54,7 +54,7 @@ Before shipping new or changed SDK behavior, make sure the relevant definitions 2. Get an approval from at least one code owner. 3. Wait at least 3 business days after the first approval to give other code owners a chance to review. -- **Context types:** Any newly added [context](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/contexts/) **SHOULD** also be typed out in [Relay](https://github.com/getsentry/relay/tree/master/relay-event-schema/src/protocol/contexts) so that the schema stays in sync with what SDKs emit. +- **Context types:** Any newly added [context](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/) **SHOULD** also be typed out in [Relay](https://github.com/getsentry/relay/tree/master/relay-event-schema/src/protocol/contexts) so that the schema stays in sync with what SDKs emit. ## Join us on Discord diff --git a/develop-docs/sdk/research/performance/index.mdx b/develop-docs/sdk/research/performance/index.mdx index 88beace816c26..de9a61275632d 100644 --- a/develop-docs/sdk/research/performance/index.mdx +++ b/develop-docs/sdk/research/performance/index.mdx @@ -14,7 +14,7 @@ After settling with an API, performance monitoring support was then expanded to Our initial implementation reused the mechanisms we had in place for error reporting: -- The [Event type](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/) was extended with new fields. That meant that instead of designing and implementing a whole new ingestion pipeline, we could save time and quickly start sending "events" to Sentry, this time, instead of errors, a new "transaction" event type. +- The [Event type](https://develop.sentry.dev/sdk/foundations/data-model/events/) was extended with new fields. That meant that instead of designing and implementing a whole new ingestion pipeline, we could save time and quickly start sending "events" to Sentry, this time, instead of errors, a new "transaction" event type. - Since we were just sending a new type of event, the SDK transport layer was also reused. - And since we were sharing the ingestion pipeline, that meant we were sharing storage and the many parts of the processing that happens to all events. diff --git a/develop-docs/sdk/telemetry/check-ins.mdx b/develop-docs/sdk/telemetry/check-ins.mdx index d9dfaa08cdee3..7f060826bbf19 100644 --- a/develop-docs/sdk/telemetry/check-ins.mdx +++ b/develop-docs/sdk/telemetry/check-ins.mdx @@ -66,7 +66,7 @@ The following fields exist: `contexts` : _Object, optional_. A dictionary of contextual information about the environment running - the check-in. Right now we only support the [trace context](/sdk/foundations/data-model/event-payloads/contexts/#trace-context) + the check-in. Right now we only support the [trace context](/sdk/foundations/data-model/events/contexts/#trace-context) and use the `trace_id` in order to link check-ins to associated errors. ## Monitor upsert support diff --git a/develop-docs/sdk/telemetry/feedbacks.mdx b/develop-docs/sdk/telemetry/feedbacks.mdx index d0c1bb86e40b2..386629a8f60e6 100644 --- a/develop-docs/sdk/telemetry/feedbacks.mdx +++ b/develop-docs/sdk/telemetry/feedbacks.mdx @@ -7,7 +7,7 @@ This document is meant for Sentry SDK developers and maintainers of the Feedback ## Feedback Protocol -Item type `"feedback"`. This Item contains an [event payload](/sdk/foundations/data-model/event-payloads/) encoded in JSON, with an additional `feedback` context object. +Item type `"feedback"`. This Item contains an [event payload](/sdk/foundations/data-model/events/) encoded in JSON, with an additional `feedback` context object. ## `"feedback"` Item @@ -24,8 +24,8 @@ Item type `"feedback"`. This Item contains an [event payload](/sdk/foundations/d ### Event Attributes -Below is a recap of the [required attributes](/sdk/foundations/data-model/event-payloads/#required-attributes) for the event payload. -For the full list of attributes, see [Event Payloads](/sdk/foundations/data-model/event-payloads/). +Below is a recap of the [required attributes](/sdk/foundations/data-model/events/#required-attributes) for the event payload. +For the full list of attributes, see [Event Payloads](/sdk/foundations/data-model/events/). | Key | Type | Description | | -------------------------- | ------ | ----------------------------------------------- | @@ -55,7 +55,7 @@ For the full list of attributes, see [Event Payloads](/sdk/foundations/data-mode ### Attaching Files You can attach files of any type to a feedback (screenshots, logs, documents, etc.) by sending them as -[attachment items](/sdk/foundations/transport/envelope-items/#attachment), with `event_id` +[attachment items](/sdk/foundations/data-model/envelope-items/#attachment), with `event_id` corresponding to the feedback item. We recommend sending the attachment items in the same Envelope as the feedback item. diff --git a/develop-docs/sdk/telemetry/logs.mdx b/develop-docs/sdk/telemetry/logs.mdx index 31fb56e64e2dc..f5855029d1018 100644 --- a/develop-docs/sdk/telemetry/logs.mdx +++ b/develop-docs/sdk/telemetry/logs.mdx @@ -13,7 +13,7 @@ All SDKs are required to send logs via the `log` envelope and Sentry Log protoco ### `log` Envelope Item -The `log` envelope item is an object that contains an array of log payloads encoded as JSON. This allows for multiple log payloads to be sent in a single envelope item. For more details on the `log` envelope item, see the [Log Envelope Item](/sdk/foundations/transport/envelope-items/#log) documentation. See [Appendix A](#appendix-a-log-envelope-item-payload) for an example `log` envelope. +The `log` envelope item is an object that contains an array of log payloads encoded as JSON. This allows for multiple log payloads to be sent in a single envelope item. For more details on the `log` envelope item, see the [Log Envelope Item](/sdk/foundations/data-model/envelope-items/#log) documentation. See [Appendix A](#appendix-a-log-envelope-item-payload) for an example `log` envelope. ```json { @@ -320,9 +320,9 @@ Logs can be generated in three ways: SDKs may optionally attach user information as attributes (guarded by `sendDefaultPii`): -1. `user.id`: The user ID. Maps to `id` in the [User](/sdk/foundations/data-model/event-payloads/user/) payload. -2. `user.name`: The username. Maps to `username` in the [User](/sdk/foundations/data-model/event-payloads/user/) payload. -3. `user.email`: The email address. Maps to `email` in the [User](/sdk/foundations/data-model/event-payloads/user/) payload. +1. `user.id`: The user ID. Maps to `id` in the [User](/sdk/foundations/data-model/events/user/) payload. +2. `user.name`: The username. Maps to `username` in the [User](/sdk/foundations/data-model/events/user/) payload. +3. `user.email`: The email address. Maps to `email` in the [User](/sdk/foundations/data-model/events/user/) payload. ```json { @@ -338,8 +338,8 @@ SDKs may optionally attach user information as attributes (guarded by `sendDefau By default, Relay should parse the user agent attached to an incoming log envelope to parse `browser` and `os` information for logs. These attributes should be attached by Relay, but SDKs can attach them if they do not forward a user agent when sending logs to Sentry. -1. `browser.name`: Display name of the browser application. Maps to `name` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#browser-context) payload. -2. `browser.version`: Version string of the browser. Maps to `version` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#browser-context) payload. +1. `browser.name`: Display name of the browser application. Maps to `name` in the [Contexts](/sdk/foundations/data-model/events/contexts/#browser-context) payload. +2. `browser.version`: Version string of the browser. Maps to `version` in the [Contexts](/sdk/foundations/data-model/events/contexts/#browser-context) payload. ```json { @@ -354,7 +354,7 @@ By default, Relay should parse the user agent attached to an incoming log envelo For backend SDKs (Node.js, Python, PHP, etc.), the SDKs should attach the following: -1. `server.address`: The address of the server that sent the log. Equivalent to [`server_name`](/sdk/foundations/data-model/event-payloads/#optional-attributes) we attach to errors and transactions. +1. `server.address`: The address of the server that sent the log. Equivalent to [`server_name`](/sdk/foundations/data-model/events/#optional-attributes) we attach to errors and transactions. ```json { @@ -368,11 +368,11 @@ For backend SDKs (Node.js, Python, PHP, etc.), the SDKs should attach the follow For mobile, desktop, and native SDKs (Android, Apple, Electron, etc.), the SDKs should attach the following: -1. `os.name`: The name of the operating system. Maps to `name` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#os-context) payload. -2. `os.version`: The version of the operating system. Maps to `version` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#os-context) payload. -3. `device.brand`: The brand of the device. Maps to `brand` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#device-context) payload. -4. `device.model`: The model of the device. Maps to `model` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#device-context) payload. -5. `device.family`: The family of the device. Maps to `family` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#device-context) payload. +1. `os.name`: The name of the operating system. Maps to `name` in the [Contexts](/sdk/foundations/data-model/events/contexts/#os-context) payload. +2. `os.version`: The version of the operating system. Maps to `version` in the [Contexts](/sdk/foundations/data-model/events/contexts/#os-context) payload. +3. `device.brand`: The brand of the device. Maps to `brand` in the [Contexts](/sdk/foundations/data-model/events/contexts/#device-context) payload. +4. `device.model`: The model of the device. Maps to `model` in the [Contexts](/sdk/foundations/data-model/events/contexts/#device-context) payload. +5. `device.family`: The family of the device. Maps to `family` in the [Contexts](/sdk/foundations/data-model/events/contexts/#device-context) payload. ```json { diff --git a/develop-docs/sdk/telemetry/metrics.mdx b/develop-docs/sdk/telemetry/metrics.mdx index 1e84bf92631cb..350df2d219d79 100644 --- a/develop-docs/sdk/telemetry/metrics.mdx +++ b/develop-docs/sdk/telemetry/metrics.mdx @@ -395,9 +395,9 @@ By default the SDK should attach the following attributes to a metric: SDKs may optionally attach user information as attributes (guarded by `sendDefaultPii` [unless manually set by user](/sdk/expected-features/data-handling/#sensitive-data)): -1. `user.id`: The user ID. Maps to `id` in the [User](/sdk/foundations/data-model/event-payloads/user/) payload. -2. `user.name`: The username. Maps to `username` in the [User](/sdk/foundations/data-model/event-payloads/user/) payload. -3. `user.email`: The email address. Maps to `email` in the [User](/sdk/foundations/data-model/event-payloads/user/) payload. +1. `user.id`: The user ID. Maps to `id` in the [User](/sdk/foundations/data-model/events/user/) payload. +2. `user.name`: The username. Maps to `username` in the [User](/sdk/foundations/data-model/events/user/) payload. +3. `user.email`: The email address. Maps to `email` in the [User](/sdk/foundations/data-model/events/user/) payload. ```json { @@ -413,8 +413,8 @@ SDKs may optionally attach user information as attributes (guarded by `sendDefau By default, Relay should parse the user agent attached to an incoming metric envelope to parse `browser` and `os` information for metrics. These attributes should be attached by Relay, but client-side SDKs can attach them if they do not forward a user agent when sending metrics to Sentry. -1. `browser.name`: Display name of the browser application. Maps to `name` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#browser-context) payload. -2. `browser.version`: Version string of the browser. Maps to `version` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#browser-context) payload. +1. `browser.name`: Display name of the browser application. Maps to `name` in the [Contexts](/sdk/foundations/data-model/events/contexts/#browser-context) payload. +2. `browser.version`: Version string of the browser. Maps to `version` in the [Contexts](/sdk/foundations/data-model/events/contexts/#browser-context) payload. ```json { @@ -429,7 +429,7 @@ By default, Relay should parse the user agent attached to an incoming metric env For backend SDKs (Node.js, Python, PHP, etc.), the SDKs should attach the following: -1. `server.address`: The address of the server that sent the metric. Equivalent to [`server_name`](/sdk/foundations/data-model/event-payloads/#optional-attributes) we attach to errors and transactions. +1. `server.address`: The address of the server that sent the metric. Equivalent to [`server_name`](/sdk/foundations/data-model/events/#optional-attributes) we attach to errors and transactions. ```json { diff --git a/develop-docs/sdk/telemetry/profiles/sample-format-v1.mdx b/develop-docs/sdk/telemetry/profiles/sample-format-v1.mdx index 65097b7d39eab..3be3e515fa60e 100644 --- a/develop-docs/sdk/telemetry/profiles/sample-format-v1.mdx +++ b/develop-docs/sdk/telemetry/profiles/sample-format-v1.mdx @@ -83,7 +83,7 @@ in the same envelope as the associated transaction. `debug_meta` -: *Object, required on native platforms.* This carries the same payload as the [`debug_meta` interface](/sdk/foundations/data-model/event-payloads/sdk/). +: *Object, required on native platforms.* This carries the same payload as the [`debug_meta` interface](/sdk/foundations/data-model/events/sdk/). It is required to have it for native platforms in order to symbolicate. For non-native platforms, you can omit this. `device` @@ -342,7 +342,7 @@ the same `stack_id` for each sample that needs it. `frames` -: *List, required*. Contains a list of frame objects (see [Frame Attributes](/sdk/foundations/data-model/event-payloads/stacktrace/#frame-attributes)). +: *List, required*. Contains a list of frame objects (see [Frame Attributes](/sdk/foundations/data-model/events/stacktrace/#frame-attributes)). Each object should contain at least a `filename`, `function` or `instruction_addr` attribute. All values are optional, but recommended. @@ -404,8 +404,8 @@ It's suggested to remove unnecessary data like thread data without samples from ## Ingestion After this payload is generated, serialize it as JSON, pack it into the same -[Envelope](/sdk/foundations/transport/envelopes/) as the associated transaction with the item type -[`profile`](/sdk/foundations/transport/envelope-items/#profile) and send it to Relay. +[Envelope](/sdk/foundations/data-model/envelopes/) as the associated transaction with the item type +[`profile`](/sdk/foundations/data-model/envelope-items/#profile) and send it to Relay. This envelope should look like this: diff --git a/develop-docs/sdk/telemetry/profiles/sample-format-v2.mdx b/develop-docs/sdk/telemetry/profiles/sample-format-v2.mdx index 884b3984cd63e..14078779da953 100644 --- a/develop-docs/sdk/telemetry/profiles/sample-format-v2.mdx +++ b/develop-docs/sdk/telemetry/profiles/sample-format-v2.mdx @@ -64,7 +64,7 @@ The *Sample Format V2* is designed for use in continuous profiling. Therefore, a `debug_meta` -: *Object, required on native platforms.* This carries the same payload as the [`debug_meta` interface](/sdk/foundations/data-model/event-payloads/sdk/). +: *Object, required on native platforms.* This carries the same payload as the [`debug_meta` interface](/sdk/foundations/data-model/events/sdk/). It is required to have it for native platforms in order to symbolicate, otherwise you can omit it. For non-native platforms, you can omit this. @@ -223,7 +223,7 @@ the same `stack_id` for each sample that needs it. `frames` -: *List, required*. Contains a list of frame objects (see [Frame Attributes](/sdk/foundations/data-model/event-payloads/stacktrace/#frame-attributes)). +: *List, required*. Contains a list of frame objects (see [Frame Attributes](/sdk/foundations/data-model/events/stacktrace/#frame-attributes)). Each object should contain at least a `filename`, `function` or `instruction_addr` attribute. All values are optional, but recommended. @@ -280,7 +280,7 @@ It's suggested to remove unnecessary data like thread data without samples from ## Ingestion -After this payload is generated, serialize it as JSON, pack it into an [Envelope](/sdk/foundations/transport/envelopes/) with the item type [`profile_chunk`](/sdk/foundations/transport/envelope-items/#profile-chunk) and send it to Relay. +After this payload is generated, serialize it as JSON, pack it into an [Envelope](/sdk/foundations/data-model/envelopes/) with the item type [`profile_chunk`](/sdk/foundations/data-model/envelope-items/#profile-chunk) and send it to Relay. The `platform` item header is required for rate limiting and categorization of the profile chunk and must match the `platform` in the payload. diff --git a/develop-docs/sdk/telemetry/replays.mdx b/develop-docs/sdk/telemetry/replays.mdx index 3b6664d03bffa..70ec1b3b05ca3 100644 --- a/develop-docs/sdk/telemetry/replays.mdx +++ b/develop-docs/sdk/telemetry/replays.mdx @@ -19,7 +19,7 @@ The following attributes are specific to the `"replay_event"` Item type. | Key | Type | Description | | ---------------------- | ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | type | `"replay_event"` | Must be `"replay_event"` | -| replay_id | string | A unique ID for the replay. Follows the [same requirements](/sdk/foundations/data-model/event-payloads/#required-attributes) as an `event_id`: Hexadecimal string representing a uuid4 value. The length is exactly 32 characters. Dashes are not allowed. Has to be lowercase. | +| replay_id | string | A unique ID for the replay. Follows the [same requirements](/sdk/foundations/data-model/events/#required-attributes) as an `event_id`: Hexadecimal string representing a uuid4 value. The length is exactly 32 characters. Dashes are not allowed. Has to be lowercase. | | replay_type | `"session"` \| `"buffer"` | Describes the type of replay. `buffer` means the replay is buffered while waiting for an error to occur or until a manual flush. `session` means the replay starts recording immediately and continues through the lifespan of the replay session. | | segment_id | number | The segment id. | | replay_start_timestamp | number | UNIX timestamp of the start of the replay (in seconds). This is only required on the first segment. | @@ -29,7 +29,7 @@ The following attributes are specific to the `"replay_event"` Item type. ### Event Attributes -The following attributes are a subset of the [optional attributes](/sdk/foundations/data-model/event-payloads/#optional-attributes) of an Event. +The following attributes are a subset of the [optional attributes](/sdk/foundations/data-model/events/#optional-attributes) of an Event. | Key | Type | Description | | -------------------------- | ------ | ------------------------------------------------ | @@ -100,7 +100,7 @@ The `"replay_recording"` item consists of two sub-items that are delimited by ne {"segment_id": 0} ``` -The other sub-item is the replay recording's instructions set. This payload should be gzipped, but uncompressed payloads are also accepted. Read more about replay recording events here. +The other sub-item is the replay recording's instructions set. This payload should be gzipped, but uncompressed payloads are also accepted. Read more about replay recording events here. ```json [ diff --git a/develop-docs/sdk/telemetry/sessions/index.mdx b/develop-docs/sdk/telemetry/sessions/index.mdx index eaef8ba5adea9..e56903eb9d5f6 100644 --- a/develop-docs/sdk/telemetry/sessions/index.mdx +++ b/develop-docs/sdk/telemetry/sessions/index.mdx @@ -10,7 +10,7 @@ Looking for Sentry's **Session Replay**? Click
envelopes +For basic health tracking Sentry accepts envelopes containing session update events. These session update events can be used to inform Sentry about release and project associated project health. diff --git a/develop-docs/sdk/telemetry/spans/span-protocol.mdx b/develop-docs/sdk/telemetry/spans/span-protocol.mdx index ce29a4e9a727c..ed85bbb1a4dbe 100644 --- a/develop-docs/sdk/telemetry/spans/span-protocol.mdx +++ b/develop-docs/sdk/telemetry/spans/span-protocol.mdx @@ -26,7 +26,7 @@ There are no special requirements for the Span v2 envelope header. } ``` -Also see [Envelope Headers](/sdk/foundations/transport/envelopes/#headers). +Also see [Envelope Headers](/sdk/foundations/data-model/envelopes/#headers). ## Span v2 Envelope Item Header @@ -169,7 +169,7 @@ Empty attributes must be omitted. | `sentry.environment` | string | The environment name (e.g., "production", "staging", "development") | | `sentry.segment.name` | string | The segment name (e.g., "GET /users") | | `sentry.segment.id` | string | The segment span id | -| `sentry.span.source` | string | The source of the span name. **MUST** be set on segment spans, **MAY** be set on child spans.
See [Sentry Conventions](https://github.com/getsentry/sentry-conventions/attributes/sentry#sentry-span-source) for all supported sources.
See [Transaction Annotations](/sdk/foundations/data-model/event-payloads/transaction/#transaction-annotations) and [Clustering](/backend/application-domains/transaction-clustering/#automatic-transaction-clustering) for more information.| +| `sentry.span.source` | string | The source of the span name. **MUST** be set on segment spans, **MAY** be set on child spans.
See [Sentry Conventions](https://github.com/getsentry/sentry-conventions/attributes/sentry#sentry-span-source) for all supported sources.
See [Transaction Annotations](/sdk/foundations/data-model/events/transaction/#transaction-annotations) and [Clustering](/backend/application-domains/transaction-clustering/#automatic-transaction-clustering) for more information.| | `sentry.profiler_id` | string | The id of the currently running profiler (continuous profiling) | | `sentry.replay_id` | string | The id of the currently running replay (if available) | | `os.name` | string | The operating system name (e.g., "Linux", "Windows", "macOS") | @@ -226,7 +226,7 @@ span_id: "438f40bd3b4a41ee" Span attachments are an experimental feature that is still under development. -To associate an attachment with a span, submit a [trace attachment](/sdk/foundations/transport/envelope-items/#trace-attachment) item with an additional `span_id` item header. The trace attachment _should_ be submitted in the same envelope as the span itself. +To associate an attachment with a span, submit a [trace attachment](/sdk/foundations/data-model/envelope-items/#trace-attachment) item with an additional `span_id` item header. The trace attachment _should_ be submitted in the same envelope as the span itself. - `span_id` is the ID of the span that owns the attachment. If set, the attachment will be dropped with the span if the span is dropped by dynamic sampling, inbound filters or rate limits. That is, Relay treats `span_id` as the owner of the attachment. - The SDK _may_ set the `span_id` item header to an explicit `null` value. `span_id: null` is treated as “owned by spans”, but not owned by a specific span. That is, the attachment can be dropped if the span quota is exceeded, but it will not be dropped with a specific span because of e.g. inbound filters. diff --git a/develop-docs/sdk/telemetry/telemetry-processor/batch-processor.mdx b/develop-docs/sdk/telemetry/telemetry-processor/batch-processor.mdx index 786b171c6a087..4c9a7f9f161ce 100644 --- a/develop-docs/sdk/telemetry/telemetry-processor/batch-processor.mdx +++ b/develop-docs/sdk/telemetry/telemetry-processor/batch-processor.mdx @@ -28,7 +28,7 @@ Whenever the SDK finishes a span or captures a log, it **MUST** put it into the The BatchProcessor **MUST** start a timeout of 5 seconds when the SDK adds the first span or log. When the timeout expires, the BatchProcessor **MUST** forward all spans or logs to the transport, no matter how many items it contains. The SDK **MAY** choose a different value for the timeout, but it **MUST NOT** exceed 30 seconds, as this can lead to problems with the span buffer on the backend, which uses a time interval of 60 seconds for determining segments for spans. The BatchProcessor **SHOULD** only start a new timeout when it has spans or logs to send, this avoids running the timeout unnecessarily. -The BatchProcessor **MUST** forward all items to the transport after the SDK when containing spans or logs exceeding 1MiB in size. The SDK **MAY** choose a different value for the max batch size keeping the [envelope max sizes](/sdk/foundations/transport/envelopes/#size-limits) in mind. The SDK **MUST** calculate the size of a span or a log to manage the BatchProcessor's memory footprint, as well as serialize the span or log and calculate the size based on the serialized JSON bytes. As serialization is expensive, the BatchProcessor **SHOULD** keep track of the serialized spans and logs and pass these to the envelope to avoid serializing multiple times. +The BatchProcessor **MUST** forward all items to the transport after the SDK when containing spans or logs exceeding 1MiB in size. The SDK **MAY** choose a different value for the max batch size keeping the [envelope max sizes](/sdk/foundations/data-model/envelopes/#size-limits) in mind. The SDK **MUST** calculate the size of a span or a log to manage the BatchProcessor's memory footprint, as well as serialize the span or log and calculate the size based on the serialized JSON bytes. As serialization is expensive, the BatchProcessor **SHOULD** keep track of the serialized spans and logs and pass these to the envelope to avoid serializing multiple times. When the BatchProcessor forwards all spans or logs to the transport, it **MUST** reset its timeout and remove all spans and logs. The SDK **MUST** apply filtering and sampling before adding spans or logs to the BatchProcessor. The SDK **MUST** apply rate limits to spans and logs after they leave the BatchProcessor to send as much data as possible by dropping data as late as possible. diff --git a/develop-docs/sdk/telemetry/telemetry-processor/index.mdx b/develop-docs/sdk/telemetry/telemetry-processor/index.mdx index b95de841a4623..9553c946a7c61 100644 --- a/develop-docs/sdk/telemetry/telemetry-processor/index.mdx +++ b/develop-docs/sdk/telemetry/telemetry-processor/index.mdx @@ -104,7 +104,7 @@ SDKs **SHOULD** use the following size limits for the telemetry buffer. SDKs **M - 100 items for metrics - 1000 items for spans -While the [envelope size limits](/sdk/foundations/transport/envelopes/#size-limits) would allow higher size limits for specific categories, these limits are optimized for Relay and exceeding them is absolutely discouraged. +While the [envelope size limits](/sdk/foundations/data-model/envelopes/#size-limits) would allow higher size limits for specific categories, these limits are optimized for Relay and exceeding them is absolutely discouraged. ## Data Forwarding Scenarios diff --git a/develop-docs/sdk/telemetry/traces/dynamic-sampling-context.mdx b/develop-docs/sdk/telemetry/traces/dynamic-sampling-context.mdx index d9779d02b9a53..5506c035b6b1f 100644 --- a/develop-docs/sdk/telemetry/traces/dynamic-sampling-context.mdx +++ b/develop-docs/sdk/telemetry/traces/dynamic-sampling-context.mdx @@ -94,7 +94,7 @@ For that reason: **Only if a transaction name has good quality, it should be inc - `"/organization/:organizationId/user/:userId"` - `"UserListUIComponent"` -SDKs can leverage transaction annotations (in particular the `source` of the transaction name) to determine which transaction names have a good quality. +SDKs can leverage transaction annotations (in particular the `source` of the transaction name) to determine which transaction names have a good quality. diff --git a/develop-docs/sdk/telemetry/traces/index.mdx b/develop-docs/sdk/telemetry/traces/index.mdx index 7c6e589ce8d84..09095bca874af 100644 --- a/develop-docs/sdk/telemetry/traces/index.mdx +++ b/develop-docs/sdk/telemetry/traces/index.mdx @@ -220,14 +220,14 @@ Over the wire, transactions are serialized to JSON as an augmented `Event`, and In the Sentry UI, you can use Discover to look at all events regardless of type, and the Issues and Performance sections to dive into errors and transactions, respectively. The [user-facing tracing documentation](https://docs.sentry.io/product/performance/distributed-tracing/#traces-transactions-and-spans) explains more of the concepts on the product level. -The [Span](/sdk/foundations/data-model/event-payloads/span/) class stores each individual span in a +The [Span](/sdk/foundations/data-model/events/span/) class stores each individual span in a trace. -The [Transaction](/sdk/foundations/data-model/event-payloads/transaction/) class is like a span, with a +The [Transaction](/sdk/foundations/data-model/events/transaction/) class is like a span, with a few key differences: - Transactions have `name`, spans don't. -- Transactions must specify the [source](/sdk/foundations/data-model/event-payloads/transaction/#transaction-annotations) of its `name` to indicate how the transaction name was generated. +- Transactions must specify the [source](/sdk/foundations/data-model/events/transaction/#transaction-annotations) of its `name` to indicate how the transaction name was generated. - Calling the `finish` method on spans record the span's end timestamp. For transactions, the `finish` method additionally sends an event to Sentry. @@ -263,7 +263,7 @@ tree as well as the unit of reporting to Sentry. - `super.finish()` (call finish on Span) - Send it to Sentry only if `sampled == true` - Like spans, can be given an optional `endTimestamp` value that should be passed into the `span.finish()` call - - A `Transaction` needs to be wrapped in an `Envelope` and sent to the [Envelope Endpoint](/sdk/foundations/transport/envelopes/) + - A `Transaction` needs to be wrapped in an `Envelope` and sent to the [Envelope Endpoint](/sdk/foundations/data-model/envelopes/) - The `Transport` should use the same internal queue for `Transactions` / `Events` - The `Transport` should implement category-based rate limiting → - The `Transport` should deal with wrapping a `Transaction` in an `Envelope` internally diff --git a/develop-docs/sdk/telemetry/traces/opentelemetry.mdx b/develop-docs/sdk/telemetry/traces/opentelemetry.mdx index 2dcdccc544282..cdec7b802a819 100644 --- a/develop-docs/sdk/telemetry/traces/opentelemetry.mdx +++ b/develop-docs/sdk/telemetry/traces/opentelemetry.mdx @@ -400,7 +400,7 @@ function generateSentryErrorsFromOtelSpan(otelSpan) { ## Span Protocol -Below describe the transformations between an OpenTelemetry span and a Sentry Span. Related: [the interface for a Sentry Span](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/span/), [the Relay spec for a Sentry Span](https://github.com/getsentry/relay/blob/master/relay-event-schema/src/protocol/span.rs) and the spec for an [OpenTelemetry span](https://github.com/open-telemetry/opentelemetry-proto/blob/724e427879e3d2bae2edc0218fff06e37b9eb46e/opentelemetry/proto/trace/v1/trace.proto#L80-L256). +Below describe the transformations between an OpenTelemetry span and a Sentry Span. Related: [the interface for a Sentry Span](https://develop.sentry.dev/sdk/foundations/data-model/events/span/), [the Relay spec for a Sentry Span](https://github.com/getsentry/relay/blob/master/relay-event-schema/src/protocol/span.rs) and the spec for an [OpenTelemetry span](https://github.com/open-telemetry/opentelemetry-proto/blob/724e427879e3d2bae2edc0218fff06e37b9eb46e/opentelemetry/proto/trace/v1/trace.proto#L80-L256). This is based on a mapping done as part of work on the [OpenTelemetry Sentry Exporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/exporter/sentryexporter/docs/transformation.md). @@ -432,7 +432,7 @@ import {Span as OtelSpan} from '@opentelemetry/sdk-trace-base'; import {SemanticAttributes} from '@opentelemetry/semantic-conventions'; import {SpanStatusType as SentryStatus} from '@sentry/tracing'; -// canonicalCodesHTTPMap maps some HTTP codes to Sentry's span statuses. See possible mapping in https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/span/ +// canonicalCodesHTTPMap maps some HTTP codes to Sentry's span statuses. See possible mapping in https://develop.sentry.dev/sdk/foundations/data-model/events/span/ const canonicalCodesHTTPMap: Record = { '400': 'failed_precondition', '401': 'unauthenticated', diff --git a/develop-docs/sdk/telemetry/traces/span-data-conventions.mdx b/develop-docs/sdk/telemetry/traces/span-data-conventions.mdx index 0f14f676eef6e..d396473e3a03f 100644 --- a/develop-docs/sdk/telemetry/traces/span-data-conventions.mdx +++ b/develop-docs/sdk/telemetry/traces/span-data-conventions.mdx @@ -38,7 +38,7 @@ Below describes the conventions for the Span interface for the `data` field on t | Attribute | Type | Description | Examples | | --------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- | | `blocked_main_thread` | boolean | Whether the main thread was blocked by the span. | `true` | -| `call_stack` | StackFrame[] | The most relevant stack frames, that lead to the File I/O span. The stack frame should adhere to the [`StackFrame`](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/stacktrace/#frame-attributes) interface. | | +| `call_stack` | StackFrame[] | The most relevant stack frames, that lead to the File I/O span. The stack frame should adhere to the [`StackFrame`](https://develop.sentry.dev/sdk/foundations/data-model/events/stacktrace/#frame-attributes) interface. | | | `url` | string | The URL of the resource that was fetched. | `https://example.com` | | `type` | string | More granular type of the operation happening. | `fetch` | | `frames.total` | int | The number of total frames rendered during the lifetime of the span. | `60` | diff --git a/develop-docs/sdk/telemetry/traces/trace-origin.mdx b/develop-docs/sdk/telemetry/traces/trace-origin.mdx index 626a941231bc8..6cfcd55fa1989 100644 --- a/develop-docs/sdk/telemetry/traces/trace-origin.mdx +++ b/develop-docs/sdk/telemetry/traces/trace-origin.mdx @@ -4,7 +4,7 @@ title: Trace Origin Trace origin indicates what created a trace, span or log. Not all traces, spans or logs contain enough information to tell whether the user or what precisely in the SDK created it. Origin solves this problem. Origin can be sent with -the trace context, spans, or logs. +the trace context, spans, or logs. For logs and standalone spans, the origin should be set as the `sentry.origin` attribute key. @@ -62,7 +62,7 @@ automatically creates a span. In this case we end up with the following origins: ## See also: -- Span Interface -- Trace Context +- Span Interface +- Trace Context - Logs Interface - Related [RFC](https://github.com/getsentry/rfcs/pull/73/) diff --git a/develop-docs/sdk/telemetry/traces/tracing-without-performance.mdx b/develop-docs/sdk/telemetry/traces/tracing-without-performance.mdx index 000359aa57642..de0cc73b2b795 100644 --- a/develop-docs/sdk/telemetry/traces/tracing-without-performance.mdx +++ b/develop-docs/sdk/telemetry/traces/tracing-without-performance.mdx @@ -96,7 +96,7 @@ This means that: ### Attaching Trace Data to Events and Envelopes -Any event created by an SDK in TwP mode must include the [`trace` context](/sdk/event-payloads/contexts/#trace-context). +Any event created by an SDK in TwP mode must include the [`trace` context](/sdk/foundations/data-model/events/contexts/#trace-context). This context should contain the trace data of the current trace, if available, just like in regular tracing mode. Furthermore, the [`trace` envelope header](/sdk/telemetry/traces/dynamic-sampling-context/#envelope-header) (populated from the dynamic sampling context) must be attached to any outgoing event envelope. diff --git a/src/middleware.ts b/src/middleware.ts index ae19495cb6f7f..793db0ff1651c 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -4332,11 +4332,11 @@ const DEVELOPER_DOCS_REDIRECTS: Redirect[] = [ }, { from: '/sdk/data-model/envelopes/', - to: '/sdk/foundations/transport/envelopes/', + to: '/sdk/foundations/data-model/envelopes/', }, { from: '/sdk/data-model/envelope-items/', - to: '/sdk/foundations/transport/envelope-items/', + to: '/sdk/foundations/data-model/envelope-items/', }, { from: '/sdk/expected-features/rate-limiting/', @@ -4352,67 +4352,67 @@ const DEVELOPER_DOCS_REDIRECTS: Redirect[] = [ }, { from: '/sdk/data-model/event-payloads/', - to: '/sdk/foundations/data-model/event-payloads/', + to: '/sdk/foundations/data-model/events/', }, { from: '/sdk/data-model/event-payloads/breadcrumbs/', - to: '/sdk/foundations/data-model/event-payloads/breadcrumbs/', + to: '/sdk/foundations/data-model/events/breadcrumbs/', }, { from: '/sdk/data-model/event-payloads/contexts/', - to: '/sdk/foundations/data-model/event-payloads/contexts/', + to: '/sdk/foundations/data-model/events/contexts/', }, { from: '/sdk/data-model/event-payloads/debugmeta/', - to: '/sdk/foundations/data-model/event-payloads/debugmeta/', + to: '/sdk/foundations/data-model/events/debugmeta/', }, { from: '/sdk/data-model/event-payloads/exception/', - to: '/sdk/foundations/data-model/event-payloads/exception/', + to: '/sdk/foundations/data-model/events/exception/', }, { from: '/sdk/data-model/event-payloads/lockreason/', - to: '/sdk/foundations/data-model/event-payloads/lockreason/', + to: '/sdk/foundations/data-model/events/lockreason/', }, { from: '/sdk/data-model/event-payloads/message/', - to: '/sdk/foundations/data-model/event-payloads/message/', + to: '/sdk/foundations/data-model/events/message/', }, { from: '/sdk/data-model/event-payloads/replay-recording/', - to: '/sdk/foundations/data-model/event-payloads/replay-recording/', + to: '/sdk/foundations/data-model/events/replay-recording/', }, { from: '/sdk/data-model/event-payloads/request/', - to: '/sdk/foundations/data-model/event-payloads/request/', + to: '/sdk/foundations/data-model/events/request/', }, { from: '/sdk/data-model/event-payloads/sdk/', - to: '/sdk/foundations/data-model/event-payloads/sdk/', + to: '/sdk/foundations/data-model/events/sdk/', }, { from: '/sdk/data-model/event-payloads/span/', - to: '/sdk/foundations/data-model/event-payloads/span/', + to: '/sdk/foundations/data-model/events/span/', }, { from: '/sdk/data-model/event-payloads/stacktrace/', - to: '/sdk/foundations/data-model/event-payloads/stacktrace/', + to: '/sdk/foundations/data-model/events/stacktrace/', }, { from: '/sdk/data-model/event-payloads/template/', - to: '/sdk/foundations/data-model/event-payloads/template/', + to: '/sdk/foundations/data-model/events/template/', }, { from: '/sdk/data-model/event-payloads/threads/', - to: '/sdk/foundations/data-model/event-payloads/threads/', + to: '/sdk/foundations/data-model/events/threads/', }, { from: '/sdk/data-model/event-payloads/transaction/', - to: '/sdk/foundations/data-model/event-payloads/transaction/', + to: '/sdk/foundations/data-model/events/transaction/', }, { from: '/sdk/data-model/event-payloads/user/', - to: '/sdk/foundations/data-model/event-payloads/user/', + to: '/sdk/foundations/data-model/events/user/', }, ]; From 33ff4db9e262780ad88bb8512fec2cad99030f5c Mon Sep 17 00:00:00 2001 From: Stephanie Anderson Date: Tue, 17 Feb 2026 17:11:10 +0100 Subject: [PATCH 5/7] docs(sdk): Update event-payloads URLs in user-facing docs and redirects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update full develop.sentry.dev URLs in docs/ and platform-includes/ to reflect the event-payloads → events rename. Also update legacy redirects in redirects.js. Co-Authored-By: Claude --- .../sdk/foundations/data-model/events/index.mdx | 2 +- docs/cli/send-event.mdx | 2 +- .../search/searchable-properties/events.mdx | 4 ++-- .../search/searchable-properties/issues.mdx | 2 +- docs/platforms/android/configuration/filtering.mdx | 2 +- .../android/enriching-events/breadcrumbs/index.mdx | 2 +- .../android/enriching-events/context/index.mdx | 2 +- .../apple/common/configuration/filtering.mdx | 2 +- .../common/enriching-events/breadcrumbs/index.mdx | 2 +- .../apple/common/enriching-events/context/index.mdx | 2 +- docs/platforms/apple/common/migration/index.mdx | 2 +- .../dart/common/configuration/filtering.mdx | 2 +- .../common/enriching-events/breadcrumbs/index.mdx | 2 +- .../dart/common/enriching-events/context/index.mdx | 2 +- .../dart/guides/flutter/configuration/filtering.mdx | 2 +- .../flutter/enriching-events/breadcrumbs/index.mdx | 2 +- .../flutter/enriching-events/context/index.mdx | 2 +- .../dotnet/common/configuration/filtering.mdx | 2 +- .../common/enriching-events/breadcrumbs/index.mdx | 2 +- .../common/enriching-events/context/index.mdx | 2 +- docs/platforms/elixir/configuration/filtering.mdx | 2 +- .../elixir/enriching-events/breadcrumbs/index.mdx | 2 +- .../elixir/enriching-events/context/index.mdx | 2 +- .../platforms/go/common/configuration/filtering.mdx | 2 +- .../common/enriching-events/breadcrumbs/index.mdx | 2 +- .../go/common/enriching-events/context/index.mdx | 2 +- docs/platforms/godot/configuration/filtering.mdx | 2 +- .../godot/enriching-events/breadcrumbs/index.mdx | 2 +- .../godot/enriching-events/context/index.mdx | 2 +- .../java/common/configuration/filtering.mdx | 2 +- .../common/enriching-events/breadcrumbs/index.mdx | 2 +- .../java/common/enriching-events/context/index.mdx | 2 +- .../javascript/common/configuration/apis.mdx | 2 +- .../javascript/common/configuration/filtering.mdx | 2 +- .../common/enriching-events/breadcrumbs/index.mdx | 2 +- .../javascript/common/troubleshooting/index.mdx | 2 +- .../configuration/filtering.mdx | 2 +- .../enriching-events/breadcrumbs/index.mdx | 2 +- .../enriching-events/context/index.mdx | 2 +- .../native/common/configuration/filtering.mdx | 2 +- .../common/enriching-events/breadcrumbs/index.mdx | 2 +- .../common/enriching-events/context/index.mdx | 2 +- docs/platforms/native/guides/minidumps/index.mdx | 4 ++-- docs/platforms/native/guides/wasm/index.mdx | 2 +- .../php/common/configuration/filtering.mdx | 2 +- .../common/enriching-events/breadcrumbs/index.mdx | 2 +- .../php/common/enriching-events/context/index.mdx | 2 +- .../powershell/configuration/filtering.mdx | 2 +- .../enriching-events/breadcrumbs/index.mdx | 2 +- .../powershell/enriching-events/context/index.mdx | 2 +- .../python/configuration/filtering/index.mdx | 2 +- .../python/enriching-events/breadcrumbs/index.mdx | 2 +- .../python/enriching-events/context/index.mdx | 2 +- .../integrations/cloudresourcecontext/index.mdx | 2 +- docs/platforms/python/legacy-sdk/breadcrumbs.mdx | 2 +- .../react-native/configuration/filtering.mdx | 4 ++-- .../enriching-events/breadcrumbs/index.mdx | 2 +- .../react-native/enriching-events/context/index.mdx | 2 +- .../ruby/common/configuration/filtering.mdx | 2 +- .../common/enriching-events/breadcrumbs/index.mdx | 2 +- .../ruby/common/enriching-events/context/index.mdx | 2 +- .../rust/common/configuration/filtering.mdx | 2 +- .../common/enriching-events/breadcrumbs/index.mdx | 2 +- .../rust/common/enriching-events/context/index.mdx | 2 +- docs/platforms/unity/configuration/filtering.mdx | 2 +- .../unity/enriching-events/breadcrumbs/index.mdx | 2 +- .../unity/enriching-events/context/index.mdx | 2 +- docs/platforms/unreal/configuration/filtering.mdx | 2 +- .../configuration/setup-crashreporter/index.mdx | 2 +- .../unreal/enriching-events/breadcrumbs/index.mdx | 2 +- .../unreal/enriching-events/context/index.mdx | 2 +- docs/product/insights/overview/metrics.mdx | 2 +- .../issues/issue-details/breadcrumbs/index.mdx | 4 ++-- platform-includes/capture-message/native.mdx | 2 +- platform-includes/capture-message/unreal.mdx | 2 +- .../breadcrumbs/automatic-breadcrumbs/dart.mdx | 2 +- redirects.js | 13 ++++++++----- src/middleware.ts | 2 +- 78 files changed, 89 insertions(+), 86 deletions(-) diff --git a/develop-docs/sdk/foundations/data-model/events/index.mdx b/develop-docs/sdk/foundations/data-model/events/index.mdx index 939d0307235b1..dfcb27ff5970c 100644 --- a/develop-docs/sdk/foundations/data-model/events/index.mdx +++ b/develop-docs/sdk/foundations/data-model/events/index.mdx @@ -1,5 +1,5 @@ --- -title: Event Payloads +title: Events sidebar_order: 3 --- diff --git a/docs/cli/send-event.mdx b/docs/cli/send-event.mdx index d93fa5f9404f7..971effc1d0738 100644 --- a/docs/cli/send-event.mdx +++ b/docs/cli/send-event.mdx @@ -69,7 +69,7 @@ sentry-cli send-event -m "a failure" -t task:create-user ## Stored Events -As of version `1.71`, the `send-event` command can accept an optional argument that specifies a path to the stored JSON representation of an [event payload](https://develop.sentry.dev/sdk/data-model/event-payloads/). When used, it will load the file, validate the event and send it to Sentry. +As of version `1.71`, the `send-event` command can accept an optional argument that specifies a path to the stored JSON representation of an [event payload](https://develop.sentry.dev/sdk/foundations/data-model/events/). When used, it will load the file, validate the event and send it to Sentry. ```bash sentry-cli send-event ./events/20211029150006.json diff --git a/docs/concepts/search/searchable-properties/events.mdx b/docs/concepts/search/searchable-properties/events.mdx index 94d8e84c4e908..9178a9d0c74ab 100644 --- a/docs/concepts/search/searchable-properties/events.mdx +++ b/docs/concepts/search/searchable-properties/events.mdx @@ -282,7 +282,7 @@ Returns results with the defined tag or field, but not the value of that tag or ### `http.method` -HTTP method of the [request](https://develop.sentry.dev/sdk/data-model/event-payloads/request/) that created the event. +HTTP method of the [request](https://develop.sentry.dev/sdk/foundations/data-model/events/request/) that created the event. - **Type:** string @@ -703,7 +703,7 @@ Short code identifying the [type of operation](https://develop.sentry.dev/sdk/pe ### `transaction.status` -Describes the status of the span/transaction. Check out our [Transaction Payloads documentation](https://develop.sentry.dev/sdk/data-model/event-payloads/transaction/) for all possible statuses. +Describes the status of the span/transaction. Check out our [Transaction Payloads documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/transaction/) for all possible statuses. - **Type:** string diff --git a/docs/concepts/search/searchable-properties/issues.mdx b/docs/concepts/search/searchable-properties/issues.mdx index 99499380f3e6f..da48780c13f42 100644 --- a/docs/concepts/search/searchable-properties/issues.mdx +++ b/docs/concepts/search/searchable-properties/issues.mdx @@ -210,7 +210,7 @@ Returns results with the defined tag or field, but not the value of that tag or ### `http.method` -HTTP method of the [request](https://develop.sentry.dev/sdk/data-model/event-payloads/request/) that created the event. +HTTP method of the [request](https://develop.sentry.dev/sdk/foundations/data-model/events/request/) that created the event. - **Type:** string diff --git a/docs/platforms/android/configuration/filtering.mdx b/docs/platforms/android/configuration/filtering.mdx index 5b1245e5c7d0a..57051de9c5655 100644 --- a/docs/platforms/android/configuration/filtering.mdx +++ b/docs/platforms/android/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/). +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/foundations/data-model/events/). ## Filtering Error Events diff --git a/docs/platforms/android/enriching-events/breadcrumbs/index.mdx b/docs/platforms/android/enriching-events/breadcrumbs/index.mdx index 8b14c67b17bd9..9883be8b7000c 100644 --- a/docs/platforms/android/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/android/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/data-model/event-payloads/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). diff --git a/docs/platforms/android/enriching-events/context/index.mdx b/docs/platforms/android/enriching-events/context/index.mdx index 36da3d54f7593..8129ade312056 100644 --- a/docs/platforms/android/enriching-events/context/index.mdx +++ b/docs/platforms/android/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/data-model/event-payloads/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). ## Size Limitations diff --git a/docs/platforms/apple/common/configuration/filtering.mdx b/docs/platforms/apple/common/configuration/filtering.mdx index f184ba21aa98c..f14d747b493ef 100644 --- a/docs/platforms/apple/common/configuration/filtering.mdx +++ b/docs/platforms/apple/common/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/). +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/foundations/data-model/events/). ## Filtering Error Events diff --git a/docs/platforms/apple/common/enriching-events/breadcrumbs/index.mdx b/docs/platforms/apple/common/enriching-events/breadcrumbs/index.mdx index a80f773451614..ca8750a5517fa 100644 --- a/docs/platforms/apple/common/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/apple/common/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/data-model/event-payloads/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). diff --git a/docs/platforms/apple/common/enriching-events/context/index.mdx b/docs/platforms/apple/common/enriching-events/context/index.mdx index 36da3d54f7593..8129ade312056 100644 --- a/docs/platforms/apple/common/enriching-events/context/index.mdx +++ b/docs/platforms/apple/common/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/data-model/event-payloads/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). ## Size Limitations diff --git a/docs/platforms/apple/common/migration/index.mdx b/docs/platforms/apple/common/migration/index.mdx index 40be530e5ae82..deb4a2d1c2107 100644 --- a/docs/platforms/apple/common/migration/index.mdx +++ b/docs/platforms/apple/common/migration/index.mdx @@ -404,7 +404,7 @@ if (eventId != SentryId.empty) { #### New type SentryMessage for Event.message -In 6.x, we introduce a new type [SentryMessage](https://develop.sentry.dev/sdk/data-model/event-payloads/message/) for `event.message`. SentryMessage provides you the ability to pass a format string with parameters to Sentry, which can help group similar messages into the same issue. +In 6.x, we introduce a new type [SentryMessage](https://develop.sentry.dev/sdk/foundations/data-model/events/message/) for `event.message`. SentryMessage provides you the ability to pass a format string with parameters to Sentry, which can help group similar messages into the same issue. Example in 5.x: diff --git a/docs/platforms/dart/common/configuration/filtering.mdx b/docs/platforms/dart/common/configuration/filtering.mdx index cbfd6077f23ca..14760857fc8f9 100644 --- a/docs/platforms/dart/common/configuration/filtering.mdx +++ b/docs/platforms/dart/common/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/). +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/foundations/data-model/events/). ## Filtering Error Events diff --git a/docs/platforms/dart/common/enriching-events/breadcrumbs/index.mdx b/docs/platforms/dart/common/enriching-events/breadcrumbs/index.mdx index 8b14c67b17bd9..9883be8b7000c 100644 --- a/docs/platforms/dart/common/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/dart/common/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/data-model/event-payloads/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). diff --git a/docs/platforms/dart/common/enriching-events/context/index.mdx b/docs/platforms/dart/common/enriching-events/context/index.mdx index 36da3d54f7593..8129ade312056 100644 --- a/docs/platforms/dart/common/enriching-events/context/index.mdx +++ b/docs/platforms/dart/common/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/data-model/event-payloads/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). ## Size Limitations diff --git a/docs/platforms/dart/guides/flutter/configuration/filtering.mdx b/docs/platforms/dart/guides/flutter/configuration/filtering.mdx index 38ca91e3271c1..f5adf1ce0281e 100644 --- a/docs/platforms/dart/guides/flutter/configuration/filtering.mdx +++ b/docs/platforms/dart/guides/flutter/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/). +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/foundations/data-model/events/). ## Filtering Error Events diff --git a/docs/platforms/dart/guides/flutter/enriching-events/breadcrumbs/index.mdx b/docs/platforms/dart/guides/flutter/enriching-events/breadcrumbs/index.mdx index 8b14c67b17bd9..9883be8b7000c 100644 --- a/docs/platforms/dart/guides/flutter/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/dart/guides/flutter/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/data-model/event-payloads/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). diff --git a/docs/platforms/dart/guides/flutter/enriching-events/context/index.mdx b/docs/platforms/dart/guides/flutter/enriching-events/context/index.mdx index 36da3d54f7593..8129ade312056 100644 --- a/docs/platforms/dart/guides/flutter/enriching-events/context/index.mdx +++ b/docs/platforms/dart/guides/flutter/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/data-model/event-payloads/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). ## Size Limitations diff --git a/docs/platforms/dotnet/common/configuration/filtering.mdx b/docs/platforms/dotnet/common/configuration/filtering.mdx index ccfb6cdf672a6..655bd9f542d6b 100644 --- a/docs/platforms/dotnet/common/configuration/filtering.mdx +++ b/docs/platforms/dotnet/common/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/). +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/foundations/data-model/events/). ## Filtering Error Events diff --git a/docs/platforms/dotnet/common/enriching-events/breadcrumbs/index.mdx b/docs/platforms/dotnet/common/enriching-events/breadcrumbs/index.mdx index 95a268ad88192..10b39d9bf2752 100644 --- a/docs/platforms/dotnet/common/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/dotnet/common/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/data-model/event-payloads/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). diff --git a/docs/platforms/dotnet/common/enriching-events/context/index.mdx b/docs/platforms/dotnet/common/enriching-events/context/index.mdx index 3c36bc77e1f8b..2839ad2ca87d2 100644 --- a/docs/platforms/dotnet/common/enriching-events/context/index.mdx +++ b/docs/platforms/dotnet/common/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use `Contexts` and give the context a unique name: There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/data-model/event-payloads/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). ## Size Limitations diff --git a/docs/platforms/elixir/configuration/filtering.mdx b/docs/platforms/elixir/configuration/filtering.mdx index d97ca31054711..556353ab2b3d5 100644 --- a/docs/platforms/elixir/configuration/filtering.mdx +++ b/docs/platforms/elixir/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/). +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/foundations/data-model/events/). ## Filtering Error Events diff --git a/docs/platforms/elixir/enriching-events/breadcrumbs/index.mdx b/docs/platforms/elixir/enriching-events/breadcrumbs/index.mdx index 8af656caaa6a4..91d2059e1ab1b 100644 --- a/docs/platforms/elixir/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/elixir/enriching-events/breadcrumbs/index.mdx @@ -9,7 +9,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/data-model/event-payloads/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). diff --git a/docs/platforms/elixir/enriching-events/context/index.mdx b/docs/platforms/elixir/enriching-events/context/index.mdx index 58466e0238a1e..0ae5e73a60dea 100644 --- a/docs/platforms/elixir/enriching-events/context/index.mdx +++ b/docs/platforms/elixir/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/data-model/event-payloads/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). ## Size Limitations diff --git a/docs/platforms/go/common/configuration/filtering.mdx b/docs/platforms/go/common/configuration/filtering.mdx index a5bf49e5e9f0b..b8c0c9c84843e 100644 --- a/docs/platforms/go/common/configuration/filtering.mdx +++ b/docs/platforms/go/common/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/). +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/foundations/data-model/events/). ## Filtering Error Events diff --git a/docs/platforms/go/common/enriching-events/breadcrumbs/index.mdx b/docs/platforms/go/common/enriching-events/breadcrumbs/index.mdx index b0548bf2edb10..f956735995431 100644 --- a/docs/platforms/go/common/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/go/common/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/data-model/event-payloads/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). diff --git a/docs/platforms/go/common/enriching-events/context/index.mdx b/docs/platforms/go/common/enriching-events/context/index.mdx index e71058c2634d2..7a59704d5d335 100644 --- a/docs/platforms/go/common/enriching-events/context/index.mdx +++ b/docs/platforms/go/common/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/data-model/event-payloads/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). ## Size Limitations diff --git a/docs/platforms/godot/configuration/filtering.mdx b/docs/platforms/godot/configuration/filtering.mdx index d97ca31054711..556353ab2b3d5 100644 --- a/docs/platforms/godot/configuration/filtering.mdx +++ b/docs/platforms/godot/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/). +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/foundations/data-model/events/). ## Filtering Error Events diff --git a/docs/platforms/godot/enriching-events/breadcrumbs/index.mdx b/docs/platforms/godot/enriching-events/breadcrumbs/index.mdx index 3c8c9791569a6..b23d23777f741 100644 --- a/docs/platforms/godot/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/godot/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/data-model/event-payloads/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). diff --git a/docs/platforms/godot/enriching-events/context/index.mdx b/docs/platforms/godot/enriching-events/context/index.mdx index 472e99c3a3e2c..a1059c2e9ca13 100644 --- a/docs/platforms/godot/enriching-events/context/index.mdx +++ b/docs/platforms/godot/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/data-model/event-payloads/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). ## Size Limitations diff --git a/docs/platforms/java/common/configuration/filtering.mdx b/docs/platforms/java/common/configuration/filtering.mdx index 841289a570f78..79ce3512d875d 100644 --- a/docs/platforms/java/common/configuration/filtering.mdx +++ b/docs/platforms/java/common/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/). +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/foundations/data-model/events/). ## Filtering Error Events diff --git a/docs/platforms/java/common/enriching-events/breadcrumbs/index.mdx b/docs/platforms/java/common/enriching-events/breadcrumbs/index.mdx index b0548bf2edb10..f956735995431 100644 --- a/docs/platforms/java/common/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/java/common/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/data-model/event-payloads/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). diff --git a/docs/platforms/java/common/enriching-events/context/index.mdx b/docs/platforms/java/common/enriching-events/context/index.mdx index e71058c2634d2..7a59704d5d335 100644 --- a/docs/platforms/java/common/enriching-events/context/index.mdx +++ b/docs/platforms/java/common/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/data-model/event-payloads/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). ## Size Limitations diff --git a/docs/platforms/javascript/common/configuration/apis.mdx b/docs/platforms/javascript/common/configuration/apis.mdx index 99e96fea44833..096f24cda4f91 100644 --- a/docs/platforms/javascript/common/configuration/apis.mdx +++ b/docs/platforms/javascript/common/configuration/apis.mdx @@ -340,7 +340,7 @@ By default, Sentry SDKs normalize nested structured context data up to three lev Any data beyond this depth will be trimmed and marked using its type instead. To adjust this default, use the `normalizeDepth` SDK option. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/data-model/event-payloads/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). Context data is structured and can contain any data you want: diff --git a/docs/platforms/javascript/common/configuration/filtering.mdx b/docs/platforms/javascript/common/configuration/filtering.mdx index 877c86348ce5b..066792637440f 100644 --- a/docs/platforms/javascript/common/configuration/filtering.mdx +++ b/docs/platforms/javascript/common/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err Sentry offers [Inbound Filters](/concepts/data-management/filtering/) that you can enable per project to filter out various events in sentry.io. You can use our pre-defined inbound filters (e.g. filtering known browser extensions), as well as add your own message-based filters. -However, we recommend filtering at the client-level, because it removes the overhead of sending events you don't actually want. The [Sentry SDKs](/platforms/) have several configuration options, which are described in this document, to help you filter out events. To learn more about the event fields you can use for filtering, see [Event Payloads](https://develop.sentry.dev/sdk/data-model/event-payloads/). +However, we recommend filtering at the client-level, because it removes the overhead of sending events you don't actually want. The [Sentry SDKs](/platforms/) have several configuration options, which are described in this document, to help you filter out events. To learn more about the event fields you can use for filtering, see [Event Payloads](https://develop.sentry.dev/sdk/foundations/data-model/events/). ## Filtering Error Events diff --git a/docs/platforms/javascript/common/enriching-events/breadcrumbs/index.mdx b/docs/platforms/javascript/common/enriching-events/breadcrumbs/index.mdx index 60ab450c8ac1e..8f73f0ff2232e 100644 --- a/docs/platforms/javascript/common/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/javascript/common/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/data-model/event-payloads/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). diff --git a/docs/platforms/javascript/common/troubleshooting/index.mdx b/docs/platforms/javascript/common/troubleshooting/index.mdx index 281cab065eb8e..fa7a22a5eb642 100644 --- a/docs/platforms/javascript/common/troubleshooting/index.mdx +++ b/docs/platforms/javascript/common/troubleshooting/index.mdx @@ -52,7 +52,7 @@ You can view the JSON payload of an event to see how Sentry stores additional da ![Red box highlighting where to find the JSON connected to an event](./img/event_JSON.png) -For more details, see the [full documentation on Event Payload](https://develop.sentry.dev/sdk/data-model/event-payloads/). +For more details, see the [full documentation on Event Payload](https://develop.sentry.dev/sdk/foundations/data-model/events/). diff --git a/docs/platforms/kotlin/guides/kotlin-multiplatform/configuration/filtering.mdx b/docs/platforms/kotlin/guides/kotlin-multiplatform/configuration/filtering.mdx index d97ca31054711..556353ab2b3d5 100644 --- a/docs/platforms/kotlin/guides/kotlin-multiplatform/configuration/filtering.mdx +++ b/docs/platforms/kotlin/guides/kotlin-multiplatform/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/). +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/foundations/data-model/events/). ## Filtering Error Events diff --git a/docs/platforms/kotlin/guides/kotlin-multiplatform/enriching-events/breadcrumbs/index.mdx b/docs/platforms/kotlin/guides/kotlin-multiplatform/enriching-events/breadcrumbs/index.mdx index 0fce666395cab..375d78a908cd6 100644 --- a/docs/platforms/kotlin/guides/kotlin-multiplatform/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/kotlin/guides/kotlin-multiplatform/enriching-events/breadcrumbs/index.mdx @@ -9,7 +9,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/data-model/event-payloads/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). diff --git a/docs/platforms/kotlin/guides/kotlin-multiplatform/enriching-events/context/index.mdx b/docs/platforms/kotlin/guides/kotlin-multiplatform/enriching-events/context/index.mdx index e71058c2634d2..7a59704d5d335 100644 --- a/docs/platforms/kotlin/guides/kotlin-multiplatform/enriching-events/context/index.mdx +++ b/docs/platforms/kotlin/guides/kotlin-multiplatform/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/data-model/event-payloads/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). ## Size Limitations diff --git a/docs/platforms/native/common/configuration/filtering.mdx b/docs/platforms/native/common/configuration/filtering.mdx index 46e7aaf2db073..3de34c48308e8 100644 --- a/docs/platforms/native/common/configuration/filtering.mdx +++ b/docs/platforms/native/common/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/). +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/foundations/data-model/events/). ## Filtering Error Events diff --git a/docs/platforms/native/common/enriching-events/breadcrumbs/index.mdx b/docs/platforms/native/common/enriching-events/breadcrumbs/index.mdx index 01f0427a8fa47..34fc817ab703d 100644 --- a/docs/platforms/native/common/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/native/common/enriching-events/breadcrumbs/index.mdx @@ -16,7 +16,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/data-model/event-payloads/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). diff --git a/docs/platforms/native/common/enriching-events/context/index.mdx b/docs/platforms/native/common/enriching-events/context/index.mdx index 4f1ffe56cf761..bb7984407961f 100644 --- a/docs/platforms/native/common/enriching-events/context/index.mdx +++ b/docs/platforms/native/common/enriching-events/context/index.mdx @@ -28,7 +28,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/data-model/event-payloads/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). ## Size Limitations diff --git a/docs/platforms/native/guides/minidumps/index.mdx b/docs/platforms/native/guides/minidumps/index.mdx index 2d96407dda846..0dbd588cb1a61 100644 --- a/docs/platforms/native/guides/minidumps/index.mdx +++ b/docs/platforms/native/guides/minidumps/index.mdx @@ -41,7 +41,7 @@ they might contain sensitive information on the target system, such as environment variables, local pathnames or maybe even in-memory representations of input fields, including passwords. **Sentry does not store these memory dumps by default**. Once processed, they are removed immediately, and all sensitive -information is stripped from the resulting issues. +information is stripped from the resulting issues. You can configure Sentry to store the minidump as attachment. @@ -109,7 +109,7 @@ curl -X POST \ -F 'sentry[tags][mytag]=value' ``` -For the full list of supported values, see [_Event Payloads_](https://develop.sentry.dev/sdk/data-model/event-payloads/) and linked +For the full list of supported values, see [_Event Payloads_](https://develop.sentry.dev/sdk/foundations/data-model/events/) and linked documents. 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. diff --git a/docs/platforms/native/guides/wasm/index.mdx b/docs/platforms/native/guides/wasm/index.mdx index 9ec44b87158d4..f18cb38b04c0d 100644 --- a/docs/platforms/native/guides/wasm/index.mdx +++ b/docs/platforms/native/guides/wasm/index.mdx @@ -56,7 +56,7 @@ This is [documented in detail](/platforms/javascript/guides/wasm/) in the JavaSc It's likely that if you're working with WebAssembly, you want to send custom crash reports; for example, if you don't execute WebAssembly in a browser, but in your own runtime. In that case, you can follow the general protocol documentation which -also covers how to describe WebAssembly frames: [stack trace interface](https://develop.sentry.dev/sdk/data-model/event-payloads/stacktrace/). +also covers how to describe WebAssembly frames: [stack trace interface](https://develop.sentry.dev/sdk/foundations/data-model/events/stacktrace/). Here is an example event for WebAssembly: diff --git a/docs/platforms/php/common/configuration/filtering.mdx b/docs/platforms/php/common/configuration/filtering.mdx index da0c40d850b1d..2e34c9bea6659 100644 --- a/docs/platforms/php/common/configuration/filtering.mdx +++ b/docs/platforms/php/common/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/). +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/foundations/data-model/events/). ## Filtering Error Events diff --git a/docs/platforms/php/common/enriching-events/breadcrumbs/index.mdx b/docs/platforms/php/common/enriching-events/breadcrumbs/index.mdx index 15ca7976802b9..4a71705f08318 100644 --- a/docs/platforms/php/common/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/php/common/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/data-model/event-payloads/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). diff --git a/docs/platforms/php/common/enriching-events/context/index.mdx b/docs/platforms/php/common/enriching-events/context/index.mdx index e71058c2634d2..7a59704d5d335 100644 --- a/docs/platforms/php/common/enriching-events/context/index.mdx +++ b/docs/platforms/php/common/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/data-model/event-payloads/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). ## Size Limitations diff --git a/docs/platforms/powershell/configuration/filtering.mdx b/docs/platforms/powershell/configuration/filtering.mdx index 5f7e82455996e..9f8aedf3d5396 100644 --- a/docs/platforms/powershell/configuration/filtering.mdx +++ b/docs/platforms/powershell/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/). +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/foundations/data-model/events/). ## Filtering Error Events diff --git a/docs/platforms/powershell/enriching-events/breadcrumbs/index.mdx b/docs/platforms/powershell/enriching-events/breadcrumbs/index.mdx index c780b4de862d2..870947a97714a 100644 --- a/docs/platforms/powershell/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/powershell/enriching-events/breadcrumbs/index.mdx @@ -9,7 +9,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/data-model/event-payloads/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). diff --git a/docs/platforms/powershell/enriching-events/context/index.mdx b/docs/platforms/powershell/enriching-events/context/index.mdx index 3c36bc77e1f8b..2839ad2ca87d2 100644 --- a/docs/platforms/powershell/enriching-events/context/index.mdx +++ b/docs/platforms/powershell/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use `Contexts` and give the context a unique name: There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/data-model/event-payloads/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). ## Size Limitations diff --git a/docs/platforms/python/configuration/filtering/index.mdx b/docs/platforms/python/configuration/filtering/index.mdx index c3865d08a9501..1f253dd0bf4ca 100644 --- a/docs/platforms/python/configuration/filtering/index.mdx +++ b/docs/platforms/python/configuration/filtering/index.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/). +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/foundations/data-model/events/). ## Filtering Error Events diff --git a/docs/platforms/python/enriching-events/breadcrumbs/index.mdx b/docs/platforms/python/enriching-events/breadcrumbs/index.mdx index 3c9cfba72bcf5..42e5a35d6d55d 100644 --- a/docs/platforms/python/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/python/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/data-model/event-payloads/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). diff --git a/docs/platforms/python/enriching-events/context/index.mdx b/docs/platforms/python/enriching-events/context/index.mdx index e71058c2634d2..7a59704d5d335 100644 --- a/docs/platforms/python/enriching-events/context/index.mdx +++ b/docs/platforms/python/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/data-model/event-payloads/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). ## Size Limitations diff --git a/docs/platforms/python/integrations/cloudresourcecontext/index.mdx b/docs/platforms/python/integrations/cloudresourcecontext/index.mdx index 578a8bead6fca..3cacd79464b26 100644 --- a/docs/platforms/python/integrations/cloudresourcecontext/index.mdx +++ b/docs/platforms/python/integrations/cloudresourcecontext/index.mdx @@ -71,7 +71,7 @@ Trigger an error in the code running in your cloud and see the error and perform ## Behavior When the SDK starts up, information from the cloud provider the app is running in is retrieved and added to all error and performance events sent to Sentry. -The [developer documentation](https://develop.sentry.dev/sdk/data-model/event-payloads/contexts/#runtime-context) lists all the information that's being added. +The [developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/#runtime-context) lists all the information that's being added. In AWS EC2 the context looks like this: diff --git a/docs/platforms/python/legacy-sdk/breadcrumbs.mdx b/docs/platforms/python/legacy-sdk/breadcrumbs.mdx index a9e91b7092345..f30057f867138 100644 --- a/docs/platforms/python/legacy-sdk/breadcrumbs.mdx +++ b/docs/platforms/python/legacy-sdk/breadcrumbs.mdx @@ -71,7 +71,7 @@ If you want to manually record breadcrumbs the most convenient way to do that is `raven.breadcrumbs.record(**options)` -This function accepts keyword arguments matching the attributes of a breadcrumb. For more information see [_Event Payloads_](https://develop.sentry.dev/sdk/data-model/event-payloads/). Additionally, a _processor_ callback can be passed which will be invoked to process the data if the crumb was not rejected. +This function accepts keyword arguments matching the attributes of a breadcrumb. For more information see [_Event Payloads_](https://develop.sentry.dev/sdk/foundations/data-model/events/). Additionally, a _processor_ callback can be passed which will be invoked to process the data if the crumb was not rejected. The most important parameters: diff --git a/docs/platforms/react-native/configuration/filtering.mdx b/docs/platforms/react-native/configuration/filtering.mdx index 93da17209a75b..f626cf2bc9c80 100644 --- a/docs/platforms/react-native/configuration/filtering.mdx +++ b/docs/platforms/react-native/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/). +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/foundations/data-model/events/). ## Filtering Error Events @@ -20,7 +20,7 @@ All Sentry SDKs support the callback m -The beforeSend callback in the React Native SDK only filters events generated from the JavaScript layer. Native events (from Android, iOS, or other native code) are not filtered. +The beforeSend callback in the React Native SDK only filters events generated from the JavaScript layer. Native events (from Android, iOS, or other native code) are not filtered. Note also that breadcrumbs can be filtered, as discussed in [our Breadcrumbs documentation](/product/error-monitoring/breadcrumbs/). diff --git a/docs/platforms/react-native/enriching-events/breadcrumbs/index.mdx b/docs/platforms/react-native/enriching-events/breadcrumbs/index.mdx index 3027c2b0bf7db..208f60dd8cb26 100644 --- a/docs/platforms/react-native/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/react-native/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/data-model/event-payloads/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). diff --git a/docs/platforms/react-native/enriching-events/context/index.mdx b/docs/platforms/react-native/enriching-events/context/index.mdx index c89cf5697bf25..baeb9bef07bb0 100644 --- a/docs/platforms/react-native/enriching-events/context/index.mdx +++ b/docs/platforms/react-native/enriching-events/context/index.mdx @@ -29,7 +29,7 @@ There are no restrictions on context name. In the context object, all keys are a By default, Sentry SDKs normalize nested structured context data up to three levels deep. Any data beyond this depth will be trimmed and marked using its type instead. To adjust this default, use the `normalizeDepth` SDK option. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/data-model/event-payloads/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). ## Size Limitations diff --git a/docs/platforms/ruby/common/configuration/filtering.mdx b/docs/platforms/ruby/common/configuration/filtering.mdx index ce39ee8928a0a..501e4b15830a2 100644 --- a/docs/platforms/ruby/common/configuration/filtering.mdx +++ b/docs/platforms/ruby/common/configuration/filtering.mdx @@ -9,7 +9,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/). +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/foundations/data-model/events/). ## Filtering Error Events diff --git a/docs/platforms/ruby/common/enriching-events/breadcrumbs/index.mdx b/docs/platforms/ruby/common/enriching-events/breadcrumbs/index.mdx index 17d6f87b0812a..fd3895e09dcb3 100644 --- a/docs/platforms/ruby/common/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/ruby/common/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/data-model/event-payloads/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). diff --git a/docs/platforms/ruby/common/enriching-events/context/index.mdx b/docs/platforms/ruby/common/enriching-events/context/index.mdx index e71058c2634d2..7a59704d5d335 100644 --- a/docs/platforms/ruby/common/enriching-events/context/index.mdx +++ b/docs/platforms/ruby/common/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/data-model/event-payloads/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). ## Size Limitations diff --git a/docs/platforms/rust/common/configuration/filtering.mdx b/docs/platforms/rust/common/configuration/filtering.mdx index e466dfedce1df..b03e8edd7bcf0 100644 --- a/docs/platforms/rust/common/configuration/filtering.mdx +++ b/docs/platforms/rust/common/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/). +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/foundations/data-model/events/). ## Filtering Error Events diff --git a/docs/platforms/rust/common/enriching-events/breadcrumbs/index.mdx b/docs/platforms/rust/common/enriching-events/breadcrumbs/index.mdx index 37152cc309740..046c1c0158cdf 100644 --- a/docs/platforms/rust/common/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/rust/common/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/data-model/event-payloads/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). diff --git a/docs/platforms/rust/common/enriching-events/context/index.mdx b/docs/platforms/rust/common/enriching-events/context/index.mdx index e71058c2634d2..7a59704d5d335 100644 --- a/docs/platforms/rust/common/enriching-events/context/index.mdx +++ b/docs/platforms/rust/common/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/data-model/event-payloads/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). ## Size Limitations diff --git a/docs/platforms/unity/configuration/filtering.mdx b/docs/platforms/unity/configuration/filtering.mdx index a192c3c5e5a86..f8744d54f2200 100644 --- a/docs/platforms/unity/configuration/filtering.mdx +++ b/docs/platforms/unity/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/). +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/foundations/data-model/events/). ## Filtering Error Events diff --git a/docs/platforms/unity/enriching-events/breadcrumbs/index.mdx b/docs/platforms/unity/enriching-events/breadcrumbs/index.mdx index 909b014f6d0e8..ba4e2c3ae93dc 100644 --- a/docs/platforms/unity/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/unity/enriching-events/breadcrumbs/index.mdx @@ -9,7 +9,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/data-model/event-payloads/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). diff --git a/docs/platforms/unity/enriching-events/context/index.mdx b/docs/platforms/unity/enriching-events/context/index.mdx index 50397edad32d7..35ac808536182 100644 --- a/docs/platforms/unity/enriching-events/context/index.mdx +++ b/docs/platforms/unity/enriching-events/context/index.mdx @@ -29,7 +29,7 @@ The class must be serializable and only properties are included; fields are not. There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/data-model/event-payloads/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). ## Size Limitations diff --git a/docs/platforms/unreal/configuration/filtering.mdx b/docs/platforms/unreal/configuration/filtering.mdx index d97ca31054711..556353ab2b3d5 100644 --- a/docs/platforms/unreal/configuration/filtering.mdx +++ b/docs/platforms/unreal/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/). +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/foundations/data-model/events/). ## Filtering Error Events diff --git a/docs/platforms/unreal/configuration/setup-crashreporter/index.mdx b/docs/platforms/unreal/configuration/setup-crashreporter/index.mdx index f74c0ac1bff94..cc9117292bebe 100644 --- a/docs/platforms/unreal/configuration/setup-crashreporter/index.mdx +++ b/docs/platforms/unreal/configuration/setup-crashreporter/index.mdx @@ -150,7 +150,7 @@ void ConfigureCrashReporter() ``` You need to call the `ConfigureCrashReporter` some time after your game -starts. Any [event attribute](https://develop.sentry.dev/sdk/data-model/event-payloads/) can be set. +starts. Any [event attribute](https://develop.sentry.dev/sdk/foundations/data-model/events/) can be set. diff --git a/docs/platforms/unreal/enriching-events/breadcrumbs/index.mdx b/docs/platforms/unreal/enriching-events/breadcrumbs/index.mdx index 0bd7ec5ae8b06..d1bbeb34dc60c 100644 --- a/docs/platforms/unreal/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/unreal/enriching-events/breadcrumbs/index.mdx @@ -14,7 +14,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/data-model/event-payloads/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). diff --git a/docs/platforms/unreal/enriching-events/context/index.mdx b/docs/platforms/unreal/enriching-events/context/index.mdx index 046d19092e9e4..295f054d07813 100644 --- a/docs/platforms/unreal/enriching-events/context/index.mdx +++ b/docs/platforms/unreal/enriching-events/context/index.mdx @@ -46,7 +46,7 @@ Sentry's SDK automatically attaches certain context values such as `Engine versi There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/data-model/event-payloads/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). ## Size Limitations diff --git a/docs/product/insights/overview/metrics.mdx b/docs/product/insights/overview/metrics.mdx index c239f534afb7d..bd7abe93497c9 100644 --- a/docs/product/insights/overview/metrics.mdx +++ b/docs/product/insights/overview/metrics.mdx @@ -26,7 +26,7 @@ Configure what a satisfactory response time threshold (ms) is for Apdex in **Set ## Failure Rate -`failure_rate()` indicates the percentage of unsuccessful transactions. Sentry treats transactions with a status other than “ok,” “cancelled,” and “unknown” as failures. For more details, see a [list of possible status values](https://develop.sentry.dev/sdk/data-model/event-payloads/span/). +`failure_rate()` indicates the percentage of unsuccessful transactions. Sentry treats transactions with a status other than “ok,” “cancelled,” and “unknown” as failures. For more details, see a [list of possible status values](https://develop.sentry.dev/sdk/foundations/data-model/events/span/). ## Throughput (Total, TPM, TPS) diff --git a/docs/product/issues/issue-details/breadcrumbs/index.mdx b/docs/product/issues/issue-details/breadcrumbs/index.mdx index 28bfae414d719..0c0e8de6b49a6 100644 --- a/docs/product/issues/issue-details/breadcrumbs/index.mdx +++ b/docs/product/issues/issue-details/breadcrumbs/index.mdx @@ -36,7 +36,7 @@ Here are all the ways you can narrow down what you see: Each breadcrumb is composed of the following: -- **Type**: `type` is a semi-internal attribute that controls how breadcrumbs are categorized. If left unchanged, all breadcrumbs are recorded as `default`, but Sentry provides other [types](https://develop.sentry.dev/sdk/data-model/event-payloads/breadcrumbs/#breadcrumb-types) that each have their own color/icon in the UI. +- **Type**: `type` is a semi-internal attribute that controls how breadcrumbs are categorized. If left unchanged, all breadcrumbs are recorded as `default`, but Sentry provides other [types](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/#breadcrumb-types) that each have their own color/icon in the UI. - **Category**: The event category. This data is similar to a logger name and helps you understand where an event took place, such as `auth`. @@ -49,4 +49,4 @@ Each breadcrumb is composed of the following: - **Time**: A timestamp showing when the breadcrumb occurred. The format is either a string, as defined in [RFC 3339](https://tools.ietf.org/html/rfc3339), or a numeric value representing the number of seconds that have elapsed since the Unix epoch. -Learn more detailed information about breadcrumb data in the [Breadcrumbs Interface developer documentation](https://develop.sentry.dev/sdk/data-model/event-payloads/breadcrumbs/). +Learn more detailed information about breadcrumb data in the [Breadcrumbs Interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). diff --git a/platform-includes/capture-message/native.mdx b/platform-includes/capture-message/native.mdx index b09c560aa43a5..5b2ba1db646f2 100644 --- a/platform-includes/capture-message/native.mdx +++ b/platform-includes/capture-message/native.mdx @@ -37,4 +37,4 @@ sentry_value_set_by_key(event, "contexts", contexts); sentry_capture_event(event); ``` -For the full list of supported values, see [_Event Payloads_](https://develop.sentry.dev/sdk/data-model/event-payloads/) and linked documents. +For the full list of supported values, see [_Event Payloads_](https://develop.sentry.dev/sdk/foundations/data-model/events/) and linked documents. diff --git a/platform-includes/capture-message/unreal.mdx b/platform-includes/capture-message/unreal.mdx index 9295565c2d811..642458dbab8e3 100644 --- a/platform-includes/capture-message/unreal.mdx +++ b/platform-includes/capture-message/unreal.mdx @@ -88,4 +88,4 @@ Scoped events capturing is supported only on macOS, iOS and Android platforms. -For the full list of supported values, check out [_Event Payloads_](https://develop.sentry.dev/sdk/data-model/event-payloads/) and linked documents. +For the full list of supported values, check out [_Event Payloads_](https://develop.sentry.dev/sdk/foundations/data-model/events/) and linked documents. diff --git a/platform-includes/enriching-events/breadcrumbs/automatic-breadcrumbs/dart.mdx b/platform-includes/enriching-events/breadcrumbs/automatic-breadcrumbs/dart.mdx index 17efd502ca499..1a08800c2ae69 100644 --- a/platform-includes/enriching-events/breadcrumbs/automatic-breadcrumbs/dart.mdx +++ b/platform-includes/enriching-events/breadcrumbs/automatic-breadcrumbs/dart.mdx @@ -1,4 +1,4 @@ -To track automatic [Breadcrumbs for HTTP requests](https://develop.sentry.dev/sdk/data-model/event-payloads/breadcrumbs/#breadcrumb-types), you can add a Sentry wrapper that does it automatically for you. +To track automatic [Breadcrumbs for HTTP requests](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/#breadcrumb-types), you can add a Sentry wrapper that does it automatically for you. The following code applies if you are using the [http.Client](https://pub.dev/documentation/http/latest/http/Client-class.html) class from the [http](https://pub.dev/packages/http) library. If you're using package `Dio`, please refer to our [`sentry_dio`](https://pub.dev/packages/sentry_dio) integration. diff --git a/redirects.js b/redirects.js index 3625635638a91..42ff17ad1c072 100644 --- a/redirects.js +++ b/redirects.js @@ -28,7 +28,7 @@ const developerDocsRedirects = [ }, { source: '/sdk/data-model/event-payloads/types/', - destination: '/sdk/data-model/event-payloads/', + destination: '/sdk/foundations/data-model/events/', }, { source: '/sdk/basics/:path*', @@ -52,7 +52,7 @@ const developerDocsRedirects = [ }, { source: '/sdk/event-payloads/:path*', - destination: '/sdk/data-model/event-payloads/:path*', + destination: '/sdk/foundations/data-model/events/:path*', }, { source: '/sdk/hub_and_scope_refactoring/:path*', @@ -1067,15 +1067,18 @@ const userDocsRedirects = [ destination: '/platforms/javascript/ai-agent-monitoring/:path*', }, { - source: '/platforms/javascript/guides/:guide/tracing/instrumentation/ai-agents-module/:path*', + source: + '/platforms/javascript/guides/:guide/tracing/instrumentation/ai-agents-module/:path*', destination: '/platforms/javascript/guides/:guide/ai-agent-monitoring/:path*', }, { - source: '/platforms/javascript/tracing/instrumentation/ai-agents-module-browser/:path*', + source: + '/platforms/javascript/tracing/instrumentation/ai-agents-module-browser/:path*', destination: '/platforms/javascript/ai-agent-monitoring-browser/:path*', }, { - source: '/platforms/javascript/guides/:guide/tracing/instrumentation/ai-agents-module-browser/:path*', + source: + '/platforms/javascript/guides/:guide/tracing/instrumentation/ai-agents-module-browser/:path*', destination: '/platforms/javascript/guides/:guide/ai-agent-monitoring-browser/', }, // Browser JS doesn't have server-side AI Agent Monitoring, redirect to browser version diff --git a/src/middleware.ts b/src/middleware.ts index 793db0ff1651c..71d6a23a2be0a 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -3072,7 +3072,7 @@ const USER_DOCS_REDIRECTS: Redirect[] = [ }, { from: '/clientdev/interfaces/http/', - to: 'https://develop.sentry.dev/sdk/data-model/event-payloads/request', + to: 'https://develop.sentry.dev/sdk/foundation/data-model/events/request', }, { from: '/clients/csharp/', From 00295d665f281d598a384db973a82804c02046d9 Mon Sep 17 00:00:00 2001 From: Stephanie Anderson Date: Tue, 17 Feb 2026 17:22:51 +0100 Subject: [PATCH 6/7] revert: Undo event-payloads to events rename Revert the rename of event-payloads/ to events/ and restore all cross-references, redirects, and full URLs back to event-payloads. Co-Authored-By: Claude --- .../transaction-clustering/index.mdx | 2 +- develop-docs/backend/issue-platform/index.mdx | 2 +- develop-docs/sdk/expected-features/index.mdx | 16 ++++----- .../foundations/data-model/envelope-items.mdx | 4 +-- .../sdk/foundations/data-model/envelopes.mdx | 2 +- .../breadcrumbs.mdx | 0 .../{events => event-payloads}/contexts.mdx | 4 +-- .../{events => event-payloads}/debugmeta.mdx | 2 +- .../{events => event-payloads}/exception.mdx | 8 ++--- .../{events => event-payloads}/index.mdx | 0 .../{events => event-payloads}/lockreason.mdx | 2 +- .../{events => event-payloads}/message.mdx | 0 .../properties/contexts_trace.mdx | 2 +- .../properties/description.mdx | 0 .../properties/event_id.mdx | 0 .../properties/measurements.mdx | 0 .../properties/op.mdx | 0 .../properties/parent_span_id.mdx | 0 .../properties/span_id.mdx | 0 .../properties/span_start_timestamp.mdx | 0 .../properties/span_timestamp.mdx | 0 .../properties/spans.mdx | 2 +- .../properties/status.mdx | 0 .../properties/tags.mdx | 0 .../properties/trace_id.mdx | 0 .../properties/transaction_info.mdx | 0 .../properties/type.mdx | 0 .../replay-recording.mdx | 2 +- .../{events => event-payloads}/request.mdx | 0 .../{events => event-payloads}/sdk.mdx | 4 +-- .../{events => event-payloads}/span.mdx | 4 +-- .../{events => event-payloads}/stacktrace.mdx | 6 ++-- .../{events => event-payloads}/template.mdx | 0 .../{events => event-payloads}/threads.mdx | 12 +++---- .../transaction.mdx | 10 +++--- .../{events => event-payloads}/user.mdx | 2 +- develop-docs/sdk/miscellaneous/store.mdx | 2 +- .../sdk/miscellaneous/unified-api/index.mdx | 2 +- develop-docs/sdk/processes/basics.mdx | 2 +- .../sdk/research/performance/index.mdx | 2 +- develop-docs/sdk/telemetry/check-ins.mdx | 2 +- develop-docs/sdk/telemetry/feedbacks.mdx | 6 ++-- develop-docs/sdk/telemetry/logs.mdx | 22 ++++++------ develop-docs/sdk/telemetry/metrics.mdx | 12 +++---- .../telemetry/profiles/sample-format-v1.mdx | 4 +-- .../telemetry/profiles/sample-format-v2.mdx | 4 +-- develop-docs/sdk/telemetry/replays.mdx | 6 ++-- .../sdk/telemetry/spans/span-protocol.mdx | 2 +- .../traces/dynamic-sampling-context.mdx | 2 +- develop-docs/sdk/telemetry/traces/index.mdx | 6 ++-- .../sdk/telemetry/traces/opentelemetry.mdx | 4 +-- .../traces/span-data-conventions.mdx | 2 +- .../sdk/telemetry/traces/trace-origin.mdx | 6 ++-- .../traces/tracing-without-performance.mdx | 2 +- docs/cli/send-event.mdx | 2 +- .../search/searchable-properties/events.mdx | 4 +-- .../search/searchable-properties/issues.mdx | 2 +- .../android/configuration/filtering.mdx | 2 +- .../enriching-events/breadcrumbs/index.mdx | 2 +- .../enriching-events/context/index.mdx | 2 +- .../apple/common/configuration/filtering.mdx | 2 +- .../enriching-events/breadcrumbs/index.mdx | 2 +- .../common/enriching-events/context/index.mdx | 2 +- .../apple/common/migration/index.mdx | 2 +- .../dart/common/configuration/filtering.mdx | 2 +- .../enriching-events/breadcrumbs/index.mdx | 2 +- .../common/enriching-events/context/index.mdx | 2 +- .../flutter/configuration/filtering.mdx | 2 +- .../enriching-events/breadcrumbs/index.mdx | 2 +- .../enriching-events/context/index.mdx | 2 +- .../dotnet/common/configuration/filtering.mdx | 2 +- .../enriching-events/breadcrumbs/index.mdx | 2 +- .../common/enriching-events/context/index.mdx | 2 +- .../elixir/configuration/filtering.mdx | 2 +- .../enriching-events/breadcrumbs/index.mdx | 2 +- .../elixir/enriching-events/context/index.mdx | 2 +- .../go/common/configuration/filtering.mdx | 2 +- .../enriching-events/breadcrumbs/index.mdx | 2 +- .../common/enriching-events/context/index.mdx | 2 +- .../godot/configuration/filtering.mdx | 2 +- .../enriching-events/breadcrumbs/index.mdx | 2 +- .../godot/enriching-events/context/index.mdx | 2 +- .../java/common/configuration/filtering.mdx | 2 +- .../enriching-events/breadcrumbs/index.mdx | 2 +- .../common/enriching-events/context/index.mdx | 2 +- .../javascript/common/configuration/apis.mdx | 2 +- .../common/configuration/filtering.mdx | 2 +- .../enriching-events/breadcrumbs/index.mdx | 2 +- .../common/troubleshooting/index.mdx | 2 +- .../configuration/filtering.mdx | 2 +- .../enriching-events/breadcrumbs/index.mdx | 2 +- .../enriching-events/context/index.mdx | 2 +- .../native/common/configuration/filtering.mdx | 2 +- .../enriching-events/breadcrumbs/index.mdx | 2 +- .../common/enriching-events/context/index.mdx | 2 +- .../native/guides/minidumps/index.mdx | 2 +- docs/platforms/native/guides/wasm/index.mdx | 2 +- .../php/common/configuration/filtering.mdx | 2 +- .../enriching-events/breadcrumbs/index.mdx | 2 +- .../common/enriching-events/context/index.mdx | 2 +- .../powershell/configuration/filtering.mdx | 2 +- .../enriching-events/breadcrumbs/index.mdx | 2 +- .../enriching-events/context/index.mdx | 2 +- .../python/configuration/filtering/index.mdx | 2 +- .../enriching-events/breadcrumbs/index.mdx | 2 +- .../python/enriching-events/context/index.mdx | 2 +- .../cloudresourcecontext/index.mdx | 2 +- .../python/legacy-sdk/breadcrumbs.mdx | 2 +- .../react-native/configuration/filtering.mdx | 2 +- .../enriching-events/breadcrumbs/index.mdx | 2 +- .../enriching-events/context/index.mdx | 2 +- .../ruby/common/configuration/filtering.mdx | 2 +- .../enriching-events/breadcrumbs/index.mdx | 2 +- .../common/enriching-events/context/index.mdx | 2 +- .../rust/common/configuration/filtering.mdx | 2 +- .../enriching-events/breadcrumbs/index.mdx | 2 +- .../common/enriching-events/context/index.mdx | 2 +- .../unity/configuration/filtering.mdx | 2 +- .../enriching-events/breadcrumbs/index.mdx | 2 +- .../unity/enriching-events/context/index.mdx | 2 +- .../unreal/configuration/filtering.mdx | 2 +- .../setup-crashreporter/index.mdx | 2 +- .../enriching-events/breadcrumbs/index.mdx | 2 +- .../unreal/enriching-events/context/index.mdx | 2 +- docs/product/insights/overview/metrics.mdx | 2 +- .../issue-details/breadcrumbs/index.mdx | 4 +-- platform-includes/capture-message/native.mdx | 2 +- platform-includes/capture-message/unreal.mdx | 2 +- .../automatic-breadcrumbs/dart.mdx | 2 +- redirects.js | 4 +-- src/middleware.ts | 34 +++++++++---------- 131 files changed, 183 insertions(+), 183 deletions(-) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/breadcrumbs.mdx (100%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/contexts.mdx (99%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/debugmeta.mdx (99%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/exception.mdx (97%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/index.mdx (100%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/lockreason.mdx (91%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/message.mdx (100%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/properties/contexts_trace.mdx (82%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/properties/description.mdx (100%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/properties/event_id.mdx (100%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/properties/measurements.mdx (100%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/properties/op.mdx (100%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/properties/parent_span_id.mdx (100%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/properties/span_id.mdx (100%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/properties/span_start_timestamp.mdx (100%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/properties/span_timestamp.mdx (100%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/properties/spans.mdx (97%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/properties/status.mdx (100%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/properties/tags.mdx (100%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/properties/trace_id.mdx (100%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/properties/transaction_info.mdx (100%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/properties/type.mdx (100%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/replay-recording.mdx (99%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/request.mdx (100%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/sdk.mdx (95%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/span.mdx (95%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/stacktrace.mdx (98%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/template.mdx (100%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/threads.mdx (85%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/transaction.mdx (94%) rename develop-docs/sdk/foundations/data-model/{events => event-payloads}/user.mdx (98%) diff --git a/develop-docs/backend/application-domains/transaction-clustering/index.mdx b/develop-docs/backend/application-domains/transaction-clustering/index.mdx index 9398937e17728..ea8cbae2a7ab4 100644 --- a/develop-docs/backend/application-domains/transaction-clustering/index.mdx +++ b/develop-docs/backend/application-domains/transaction-clustering/index.mdx @@ -13,7 +13,7 @@ In terms of technical implementation, it is similar to [Data Scrubbing](/backend ## The Problem In our [Insights](https://docs.sentry.io/product/insights/overview/) product, transactions are grouped by their name -(the [`event.transaction`](/sdk/foundations/data-model/events/#optional-attributes) field). +(the [`event.transaction`](/sdk/foundations/data-model/event-payloads/#optional-attributes) field). This works well as long as the cardinality of distinct transaction names that the SDK sends is low, for example by using the [route of a web framework](https://docs.sentry.io/platforms/javascript/guides/react/configuration/integrations/react-router/) as the transaction name. diff --git a/develop-docs/backend/issue-platform/index.mdx b/develop-docs/backend/issue-platform/index.mdx index a71958a722991..4bc546a86af99 100644 --- a/develop-docs/backend/issue-platform/index.mdx +++ b/develop-docs/backend/issue-platform/index.mdx @@ -145,7 +145,7 @@ The most current version of this schema is documented here: Schema -The event schema should match the Sentry event schema. Any fields/interfaces defined here can be passed along with your event. It's best to fill in as many of these as makes sense for your issue type. +The event schema should match the Sentry event schema. Any fields/interfaces defined here can be passed along with your event. It's best to fill in as many of these as makes sense for your issue type. There's a minimum set of fields which should be included: diff --git a/develop-docs/sdk/expected-features/index.mdx b/develop-docs/sdk/expected-features/index.mdx index d737733af0cfd..dc901f2396e62 100644 --- a/develop-docs/sdk/expected-features/index.mdx +++ b/develop-docs/sdk/expected-features/index.mdx @@ -44,7 +44,7 @@ With deeper framework integration, the automatic recording of breadcrumbs is pos * System Events: low battery, low storage space, airplane mode started, memory warnings, device orientation changed, etc. * [Outgoing HTTP requests](#http-client-integrations) -Check out the [complete breadcrumb documentation](/sdk/foundations/data-model/events/breadcrumbs/#breadcrumb-types) for more types. +Check out the [complete breadcrumb documentation](/sdk/foundations/data-model/event-payloads/breadcrumbs/#breadcrumb-types) for more types. ## Event Sampling @@ -128,7 +128,7 @@ An SDK may optionally track feature flag evaluations. Feature flags can be attac When tracking feature flag evaluations on spans, we track the first 10 feature flags evaluated within the span's scope. Evaluations are span attributes and follow the existing span attribute schema. -When tracking on error feature flag evaluations, we record the 100 most recent, unique feature flag evaluations. Evaluations are stored on the scope. When the scope forks a copy of the collected feature flag evaluations are given to the child scope. Mutations to the child's copy of the feature flags object should not be propagated to the parent. Flag evaluations within a scope are considered local to the scope and do not propagate. Evaluations should be submitted to Sentry following the schema specified in the Feature Flag Context protocol documentation. +When tracking on error feature flag evaluations, we record the 100 most recent, unique feature flag evaluations. Evaluations are stored on the scope. When the scope forks a copy of the collected feature flag evaluations are given to the child scope. Mutations to the child's copy of the feature flags object should not be propagated to the parent. Flag evaluations within a scope are considered local to the scope and do not propagate. Evaluations should be submitted to Sentry following the schema specified in the Feature Flag Context protocol documentation. If an SDK supports feature flags it must expose a function `add_feature_flag` which has similar behavior to the `set_tag` function. It must accept a key of type string and a value which is a union of string, boolean, integer, float, and structure. @@ -369,7 +369,7 @@ If Performance Monitoring is both supported by the SDK and enabled in the client - description: `$METHOD $url` (uppercase HTTP method), e.g. `GET https://sentry.io` - HTTP requests must be enhanced with a [`sentry-trace` HTTP header](/sdk/telemetry/traces/#header-sentry-trace) to support [distributed tracing](https://docs.sentry.io/product/sentry-basics/tracing/distributed-tracing) - HTTP requests must be enhanced with a [`baggage` HTTP header](/sdk/telemetry/traces/dynamic-sampling-context/#baggage-header) to support [dynamic sampling](/sdk/telemetry/traces/dynamic-sampling-context/) -- span status must match HTTP response status code ([see Span status to HTTP status code mapping](/sdk/foundations/data-model/events/span/)) +- span status must match HTTP response status code ([see Span status to HTTP status code mapping](/sdk/foundations/data-model/event-payloads/span/)) - when network error occurs, span status must be set to `internal_error` - span data must follow the [Span Data Conventions](/sdk/telemetry/traces/span-data-conventions/) @@ -390,9 +390,9 @@ The HTTP Client integration should have 3 configuration options: The HTTP Client integration should capture error events with the following properties: -The Request interface, see the Spec for details. +The Request interface, see the Spec for details. -The Response context, see the Spec for details. +The Response context, see the Spec for details. ```json { @@ -411,12 +411,12 @@ The Response context, see the Spec for details. +The Exception Interface, see the Spec for details. If the HTTP Client integration does not throw an exception for unsuccessful requests, you can create a synthetic exception following this Spec: -- Set the Exception Mechanism with a proper `type` such as `SentryOkHttpInterceptor`. -- Set the Stack Trace Interface with `snapshot=true`. +- Set the Exception Mechanism with a proper `type` such as `SentryOkHttpInterceptor`. +- Set the Stack Trace Interface with `snapshot=true`. - `HTTP Client Error with status code: $code`. When capturing error events, pass the original `Request` and `Response` objects from the HTTP Client as `hints`, so the users may filter out events in `beforeSend` with the full context. diff --git a/develop-docs/sdk/foundations/data-model/envelope-items.mdx b/develop-docs/sdk/foundations/data-model/envelope-items.mdx index d4982831a71f1..faa289cb9c7de 100644 --- a/develop-docs/sdk/foundations/data-model/envelope-items.mdx +++ b/develop-docs/sdk/foundations/data-model/envelope-items.mdx @@ -16,7 +16,7 @@ The headers described in this section are **in addition to the common headers**. ### Event -Item type `"event"`. This Item contains an error or default [event payload](/sdk/foundations/data-model/events/) +Item type `"event"`. This Item contains an error or default [event payload](/sdk/foundations/data-model/event-payloads/) encoded in JSON. **Constraints:** @@ -230,7 +230,7 @@ Example payload: **Payload Attributes** We only document attributes for the `contexts.feedback` object, which is **required** -for this item type. For other attributes, see [Event Payloads](/sdk/foundations/data-model/events/). +for this item type. For other attributes, see [Event Payloads](/sdk/foundations/data-model/event-payloads/). `message` diff --git a/develop-docs/sdk/foundations/data-model/envelopes.mdx b/develop-docs/sdk/foundations/data-model/envelopes.mdx index 804e4281b494a..84c959873f963 100644 --- a/develop-docs/sdk/foundations/data-model/envelopes.mdx +++ b/develop-docs/sdk/foundations/data-model/envelopes.mdx @@ -124,7 +124,7 @@ Envelopes can have a number of headers which are valid in all situations: `sdk` -: *Object, recommended.* This can carry the same payload as the [`sdk` interface](/sdk/foundations/data-model/events/sdk/) +: *Object, recommended.* This can carry the same payload as the [`sdk` interface](/sdk/foundations/data-model/event-payloads/sdk/) in the event payload but can be carried for all events. This means that SDK information can be carried for minidumps, session data and other submissions. diff --git a/develop-docs/sdk/foundations/data-model/events/breadcrumbs.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/breadcrumbs.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/events/breadcrumbs.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/breadcrumbs.mdx diff --git a/develop-docs/sdk/foundations/data-model/events/contexts.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/contexts.mdx similarity index 99% rename from develop-docs/sdk/foundations/data-model/events/contexts.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/contexts.mdx index 72c5c6698a2b9..9a740a4083d34 100644 --- a/develop-docs/sdk/foundations/data-model/events/contexts.mdx +++ b/develop-docs/sdk/foundations/data-model/event-payloads/contexts.mdx @@ -206,7 +206,7 @@ confusion about which OS context represents what. So here's some examples: the SDK (if at all). Additionally, the Sentry server will attempt to parse the `User-Agent` header - from the event's [Request Interface](/sdk/foundations/data-model/events/request/) and create a _secondary_ OS + from the event's [Request Interface](/sdk/foundations/data-model/event-payloads/request/) and create a _secondary_ OS context under the non-default key `"client_os"`. - In events reported from a JS web frontend, the SDK typically reports no OS @@ -604,7 +604,7 @@ The `type` and default key is `"cloud_resource"`. **Example Cloud Resource Context** -The following example illustrates the contexts part of the event payload and omits other attributes for simplicity. +The following example illustrates the contexts part of the event payload and omits other attributes for simplicity. ```json { diff --git a/develop-docs/sdk/foundations/data-model/events/debugmeta.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/debugmeta.mdx similarity index 99% rename from develop-docs/sdk/foundations/data-model/events/debugmeta.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/debugmeta.mdx index e5eabe7bb8b91..d25086e31c868 100644 --- a/develop-docs/sdk/foundations/data-model/events/debugmeta.mdx +++ b/develop-docs/sdk/foundations/data-model/event-payloads/debugmeta.mdx @@ -29,7 +29,7 @@ system symbols, and is not required for other SDKs. ## Debug Images The list of debug images contains all dynamic libraries loaded into the process -and their memory addresses. Instruction addresses in the [Stack Trace](/sdk/foundations/data-model/events/stacktrace/) are +and their memory addresses. Instruction addresses in the [Stack Trace](/sdk/foundations/data-model/event-payloads/stacktrace/) are mapped into the list of debug images in order to retrieve debug files for symbolication. diff --git a/develop-docs/sdk/foundations/data-model/events/exception.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/exception.mdx similarity index 97% rename from develop-docs/sdk/foundations/data-model/events/exception.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/exception.mdx index fd5ee5b7cf808..5f427498dbb76 100644 --- a/develop-docs/sdk/foundations/data-model/events/exception.mdx +++ b/develop-docs/sdk/foundations/data-model/event-payloads/exception.mdx @@ -5,7 +5,7 @@ sidebar_order: 2 The Exception Interface specifies an exception or error that occurred in a program. -An event may contain one or more exceptions in an attribute named `exception`. +An event may contain one or more exceptions in an attribute named `exception`. The `exception` attribute should be an object with the attribute `values` containing a list of one or more values that are objects in the format described @@ -41,7 +41,7 @@ description of `ValueError`. `thread_id` -: An optional value which refers to a thread in the [Thread Interface](/sdk/foundations/data-model/events/threads/). +: An optional value which refers to a thread in the [Thread Interface](/sdk/foundations/data-model/event-payloads/threads/). `mechanism` @@ -50,7 +50,7 @@ created this exception. `stacktrace` -: An optional stack trace object corresponding to the [Stack Trace Interface](/sdk/foundations/data-model/events/stacktrace/). +: An optional stack trace object corresponding to the [Stack Trace Interface](/sdk/foundations/data-model/event-payloads/stacktrace/). ## Exception Mechanism The exception mechanism is an optional field residing in the _Exception Interface_. @@ -285,7 +285,7 @@ information. ## Examples The following examples illustrate multiple ways to send exceptions. Each example -contains the exception part of the event payload and omits other +contains the exception part of the event payload and omits other attributes for simplicity. A single exception: diff --git a/develop-docs/sdk/foundations/data-model/events/index.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/index.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/events/index.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/index.mdx diff --git a/develop-docs/sdk/foundations/data-model/events/lockreason.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/lockreason.mdx similarity index 91% rename from develop-docs/sdk/foundations/data-model/events/lockreason.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/lockreason.mdx index 63d9772a2f92c..738130b89d0a2 100644 --- a/develop-docs/sdk/foundations/data-model/events/lockreason.mdx +++ b/develop-docs/sdk/foundations/data-model/event-payloads/lockreason.mdx @@ -8,7 +8,7 @@ to determine which other thread is holding the lock in case the current thread i -Lock reasons are always part of a [thread](/sdk/foundations/data-model/events/threads/). They cannot be declared as a top-level event property. +Lock reasons are always part of a [thread](/sdk/foundations/data-model/event-payloads/threads/). They cannot be declared as a top-level event property. diff --git a/develop-docs/sdk/foundations/data-model/events/message.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/message.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/events/message.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/message.mdx diff --git a/develop-docs/sdk/foundations/data-model/events/properties/contexts_trace.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/contexts_trace.mdx similarity index 82% rename from develop-docs/sdk/foundations/data-model/events/properties/contexts_trace.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/contexts_trace.mdx index fc51b2b6a6bca..0a39d118c5149 100644 --- a/develop-docs/sdk/foundations/data-model/events/properties/contexts_trace.mdx +++ b/develop-docs/sdk/foundations/data-model/event-payloads/properties/contexts_trace.mdx @@ -1,6 +1,6 @@ `contexts.trace` -: _Recommended_. A Transaction has to have a specific `contexts.trace` entry that contains tracing information. See the [Trace Context documentation](/sdk/foundations/data-model/events/contexts/#trace-context). +: _Recommended_. A Transaction has to have a specific `contexts.trace` entry that contains tracing information. See the [Trace Context documentation](/sdk/foundations/data-model/event-payloads/contexts/#trace-context). ```json { diff --git a/develop-docs/sdk/foundations/data-model/events/properties/description.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/description.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/events/properties/description.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/description.mdx diff --git a/develop-docs/sdk/foundations/data-model/events/properties/event_id.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/event_id.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/events/properties/event_id.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/event_id.mdx diff --git a/develop-docs/sdk/foundations/data-model/events/properties/measurements.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/measurements.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/events/properties/measurements.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/measurements.mdx diff --git a/develop-docs/sdk/foundations/data-model/events/properties/op.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/op.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/events/properties/op.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/op.mdx diff --git a/develop-docs/sdk/foundations/data-model/events/properties/parent_span_id.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/parent_span_id.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/events/properties/parent_span_id.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/parent_span_id.mdx diff --git a/develop-docs/sdk/foundations/data-model/events/properties/span_id.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/span_id.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/events/properties/span_id.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/span_id.mdx diff --git a/develop-docs/sdk/foundations/data-model/events/properties/span_start_timestamp.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/span_start_timestamp.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/events/properties/span_start_timestamp.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/span_start_timestamp.mdx diff --git a/develop-docs/sdk/foundations/data-model/events/properties/span_timestamp.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/span_timestamp.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/events/properties/span_timestamp.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/span_timestamp.mdx diff --git a/develop-docs/sdk/foundations/data-model/events/properties/spans.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/spans.mdx similarity index 97% rename from develop-docs/sdk/foundations/data-model/events/properties/spans.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/spans.mdx index 24bf472a19c0b..423bf037fdb47 100644 --- a/develop-docs/sdk/foundations/data-model/events/properties/spans.mdx +++ b/develop-docs/sdk/foundations/data-model/event-payloads/properties/spans.mdx @@ -1,6 +1,6 @@ `spans` -: _Recommended_. A list of [Spans](/sdk/foundations/data-model/events/span/). +: _Recommended_. A list of [Spans](/sdk/foundations/data-model/event-payloads/span/). ```json { diff --git a/develop-docs/sdk/foundations/data-model/events/properties/status.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/status.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/events/properties/status.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/status.mdx diff --git a/develop-docs/sdk/foundations/data-model/events/properties/tags.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/tags.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/events/properties/tags.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/tags.mdx diff --git a/develop-docs/sdk/foundations/data-model/events/properties/trace_id.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/trace_id.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/events/properties/trace_id.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/trace_id.mdx diff --git a/develop-docs/sdk/foundations/data-model/events/properties/transaction_info.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/transaction_info.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/events/properties/transaction_info.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/transaction_info.mdx diff --git a/develop-docs/sdk/foundations/data-model/events/properties/type.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/properties/type.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/events/properties/type.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/properties/type.mdx diff --git a/develop-docs/sdk/foundations/data-model/events/replay-recording.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/replay-recording.mdx similarity index 99% rename from develop-docs/sdk/foundations/data-model/events/replay-recording.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/replay-recording.mdx index 1c353590938a7..a11d60abb3608 100644 --- a/develop-docs/sdk/foundations/data-model/events/replay-recording.mdx +++ b/develop-docs/sdk/foundations/data-model/event-payloads/replay-recording.mdx @@ -76,7 +76,7 @@ The payload for `"options"` is a record of configuration name -> configuration v ### Breadcrumbs -Breadcrumbs are named as such because they are intercepted from the web SDK and forwarded as a custom recording event. They have the same structure as describe in breadcrumbs interface. +Breadcrumbs are named as such because they are intercepted from the web SDK and forwarded as a custom recording event. They have the same structure as describe in breadcrumbs interface. ```json { diff --git a/develop-docs/sdk/foundations/data-model/events/request.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/request.mdx similarity index 100% rename from develop-docs/sdk/foundations/data-model/events/request.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/request.mdx diff --git a/develop-docs/sdk/foundations/data-model/events/sdk.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/sdk.mdx similarity index 95% rename from develop-docs/sdk/foundations/data-model/events/sdk.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/sdk.mdx index 777994403af44..438546cd3b4e2 100644 --- a/develop-docs/sdk/foundations/data-model/events/sdk.mdx +++ b/develop-docs/sdk/foundations/data-model/event-payloads/sdk.mdx @@ -73,13 +73,13 @@ reference (branch, tag or SHA). : _Optional_. A collection of settings that are used to control behaviour. - `infer_ip`: Controls the behaviour of IP address inference based on request information. Following values are allowed: - - `auto`: infer the IP address based on available request information. This is equal to [setting the IP address to `{{auto}}`](https://develop.sentry.dev/sdk/foundations/data-model/events/user/#automatic-ip-addresses). + - `auto`: infer the IP address based on available request information. This is equal to [setting the IP address to `{{auto}}`](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/user/#automatic-ip-addresses). - `never`: Do not infer the IP address from the request. This is the default if an invalid value for `infer_ip` was sent. - `legacy`: Infer the IP address only if the value is `{{auto}}`. For Javascript and Cocoa it will also infer if `ip_address` is empty. This is the default if no value was sent. ## Example -The following example illustrates the SDK part of the event payload and omits other +The following example illustrates the SDK part of the event payload and omits other attributes for simplicity. ```json diff --git a/develop-docs/sdk/foundations/data-model/events/span.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/span.mdx similarity index 95% rename from develop-docs/sdk/foundations/data-model/events/span.mdx rename to develop-docs/sdk/foundations/data-model/event-payloads/span.mdx index 2543673273a1d..4e3748e15cf3a 100644 --- a/develop-docs/sdk/foundations/data-model/events/span.mdx +++ b/develop-docs/sdk/foundations/data-model/event-payloads/span.mdx @@ -4,7 +4,7 @@ title: Span Interface The Span Interface specifies a series of _timed_ application events that have a start and end time. -A [Transaction](/sdk/foundations/data-model/events/transaction/) may contain zero or more Spans in an array attribute named `spans`. Spans in the list don't have to be ordered, they will be ordered by start / end time on the Server. +A [Transaction](/sdk/foundations/data-model/event-payloads/transaction/) may contain zero or more Spans in an array attribute named `spans`. Spans in the list don't have to be ordered, they will be ordered by start / end time on the Server. While Span attributes will be normalized on the server, a Span is most useful when it includes at least an `op` and `description`. @@ -173,7 +173,7 @@ The semantic conventions for the `data` field are described in Event Payloads. +For a list of all supported attributes and interfaces in event payloads, see Event Payloads. ## HTTP Headers diff --git a/develop-docs/sdk/miscellaneous/unified-api/index.mdx b/develop-docs/sdk/miscellaneous/unified-api/index.mdx index 7fa5d6ecdd5a5..e4dbbef70ec61 100644 --- a/develop-docs/sdk/miscellaneous/unified-api/index.mdx +++ b/develop-docs/sdk/miscellaneous/unified-api/index.mdx @@ -67,7 +67,7 @@ meant that certain integrations (such as breadcrumbs) were often not possible. - **client options**: Are parameters that are language and runtime specific and used to configure the client. This can be release and environment but also things like which integrations to configure, how in-app works etc. -- **context**: Contexts give extra data to Sentry. There are the special contexts (user and similar) and the generic ones (`runtime`, `os`, `device`), etc. Check out Contexts for some predefined keys - users can also add arbitrary context keys. _Note: In older SDKs, you might encounter an unrelated concept of context, which is now deprecated by scopes_ +- **context**: Contexts give extra data to Sentry. There are the special contexts (user and similar) and the generic ones (`runtime`, `os`, `device`), etc. Check out Contexts for some predefined keys - users can also add arbitrary context keys. _Note: In older SDKs, you might encounter an unrelated concept of context, which is now deprecated by scopes_ - **tags**: Tags can be arbitrary string→string pairs by which events can be searched. Contexts are converted into tags. diff --git a/develop-docs/sdk/processes/basics.mdx b/develop-docs/sdk/processes/basics.mdx index 47e5ba56cc1c7..4dcdc03b59eb3 100644 --- a/develop-docs/sdk/processes/basics.mdx +++ b/develop-docs/sdk/processes/basics.mdx @@ -54,7 +54,7 @@ Before shipping new or changed SDK behavior, make sure the relevant definitions 2. Get an approval from at least one code owner. 3. Wait at least 3 business days after the first approval to give other code owners a chance to review. -- **Context types:** Any newly added [context](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/) **SHOULD** also be typed out in [Relay](https://github.com/getsentry/relay/tree/master/relay-event-schema/src/protocol/contexts) so that the schema stays in sync with what SDKs emit. +- **Context types:** Any newly added [context](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/contexts/) **SHOULD** also be typed out in [Relay](https://github.com/getsentry/relay/tree/master/relay-event-schema/src/protocol/contexts) so that the schema stays in sync with what SDKs emit. ## Join us on Discord diff --git a/develop-docs/sdk/research/performance/index.mdx b/develop-docs/sdk/research/performance/index.mdx index de9a61275632d..88beace816c26 100644 --- a/develop-docs/sdk/research/performance/index.mdx +++ b/develop-docs/sdk/research/performance/index.mdx @@ -14,7 +14,7 @@ After settling with an API, performance monitoring support was then expanded to Our initial implementation reused the mechanisms we had in place for error reporting: -- The [Event type](https://develop.sentry.dev/sdk/foundations/data-model/events/) was extended with new fields. That meant that instead of designing and implementing a whole new ingestion pipeline, we could save time and quickly start sending "events" to Sentry, this time, instead of errors, a new "transaction" event type. +- The [Event type](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/) was extended with new fields. That meant that instead of designing and implementing a whole new ingestion pipeline, we could save time and quickly start sending "events" to Sentry, this time, instead of errors, a new "transaction" event type. - Since we were just sending a new type of event, the SDK transport layer was also reused. - And since we were sharing the ingestion pipeline, that meant we were sharing storage and the many parts of the processing that happens to all events. diff --git a/develop-docs/sdk/telemetry/check-ins.mdx b/develop-docs/sdk/telemetry/check-ins.mdx index 7f060826bbf19..d9dfaa08cdee3 100644 --- a/develop-docs/sdk/telemetry/check-ins.mdx +++ b/develop-docs/sdk/telemetry/check-ins.mdx @@ -66,7 +66,7 @@ The following fields exist: `contexts` : _Object, optional_. A dictionary of contextual information about the environment running - the check-in. Right now we only support the [trace context](/sdk/foundations/data-model/events/contexts/#trace-context) + the check-in. Right now we only support the [trace context](/sdk/foundations/data-model/event-payloads/contexts/#trace-context) and use the `trace_id` in order to link check-ins to associated errors. ## Monitor upsert support diff --git a/develop-docs/sdk/telemetry/feedbacks.mdx b/develop-docs/sdk/telemetry/feedbacks.mdx index 386629a8f60e6..addabf09150c1 100644 --- a/develop-docs/sdk/telemetry/feedbacks.mdx +++ b/develop-docs/sdk/telemetry/feedbacks.mdx @@ -7,7 +7,7 @@ This document is meant for Sentry SDK developers and maintainers of the Feedback ## Feedback Protocol -Item type `"feedback"`. This Item contains an [event payload](/sdk/foundations/data-model/events/) encoded in JSON, with an additional `feedback` context object. +Item type `"feedback"`. This Item contains an [event payload](/sdk/foundations/data-model/event-payloads/) encoded in JSON, with an additional `feedback` context object. ## `"feedback"` Item @@ -24,8 +24,8 @@ Item type `"feedback"`. This Item contains an [event payload](/sdk/foundations/d ### Event Attributes -Below is a recap of the [required attributes](/sdk/foundations/data-model/events/#required-attributes) for the event payload. -For the full list of attributes, see [Event Payloads](/sdk/foundations/data-model/events/). +Below is a recap of the [required attributes](/sdk/foundations/data-model/event-payloads/#required-attributes) for the event payload. +For the full list of attributes, see [Event Payloads](/sdk/foundations/data-model/event-payloads/). | Key | Type | Description | | -------------------------- | ------ | ----------------------------------------------- | diff --git a/develop-docs/sdk/telemetry/logs.mdx b/develop-docs/sdk/telemetry/logs.mdx index f5855029d1018..9665021793afa 100644 --- a/develop-docs/sdk/telemetry/logs.mdx +++ b/develop-docs/sdk/telemetry/logs.mdx @@ -320,9 +320,9 @@ Logs can be generated in three ways: SDKs may optionally attach user information as attributes (guarded by `sendDefaultPii`): -1. `user.id`: The user ID. Maps to `id` in the [User](/sdk/foundations/data-model/events/user/) payload. -2. `user.name`: The username. Maps to `username` in the [User](/sdk/foundations/data-model/events/user/) payload. -3. `user.email`: The email address. Maps to `email` in the [User](/sdk/foundations/data-model/events/user/) payload. +1. `user.id`: The user ID. Maps to `id` in the [User](/sdk/foundations/data-model/event-payloads/user/) payload. +2. `user.name`: The username. Maps to `username` in the [User](/sdk/foundations/data-model/event-payloads/user/) payload. +3. `user.email`: The email address. Maps to `email` in the [User](/sdk/foundations/data-model/event-payloads/user/) payload. ```json { @@ -338,8 +338,8 @@ SDKs may optionally attach user information as attributes (guarded by `sendDefau By default, Relay should parse the user agent attached to an incoming log envelope to parse `browser` and `os` information for logs. These attributes should be attached by Relay, but SDKs can attach them if they do not forward a user agent when sending logs to Sentry. -1. `browser.name`: Display name of the browser application. Maps to `name` in the [Contexts](/sdk/foundations/data-model/events/contexts/#browser-context) payload. -2. `browser.version`: Version string of the browser. Maps to `version` in the [Contexts](/sdk/foundations/data-model/events/contexts/#browser-context) payload. +1. `browser.name`: Display name of the browser application. Maps to `name` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#browser-context) payload. +2. `browser.version`: Version string of the browser. Maps to `version` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#browser-context) payload. ```json { @@ -354,7 +354,7 @@ By default, Relay should parse the user agent attached to an incoming log envelo For backend SDKs (Node.js, Python, PHP, etc.), the SDKs should attach the following: -1. `server.address`: The address of the server that sent the log. Equivalent to [`server_name`](/sdk/foundations/data-model/events/#optional-attributes) we attach to errors and transactions. +1. `server.address`: The address of the server that sent the log. Equivalent to [`server_name`](/sdk/foundations/data-model/event-payloads/#optional-attributes) we attach to errors and transactions. ```json { @@ -368,11 +368,11 @@ For backend SDKs (Node.js, Python, PHP, etc.), the SDKs should attach the follow For mobile, desktop, and native SDKs (Android, Apple, Electron, etc.), the SDKs should attach the following: -1. `os.name`: The name of the operating system. Maps to `name` in the [Contexts](/sdk/foundations/data-model/events/contexts/#os-context) payload. -2. `os.version`: The version of the operating system. Maps to `version` in the [Contexts](/sdk/foundations/data-model/events/contexts/#os-context) payload. -3. `device.brand`: The brand of the device. Maps to `brand` in the [Contexts](/sdk/foundations/data-model/events/contexts/#device-context) payload. -4. `device.model`: The model of the device. Maps to `model` in the [Contexts](/sdk/foundations/data-model/events/contexts/#device-context) payload. -5. `device.family`: The family of the device. Maps to `family` in the [Contexts](/sdk/foundations/data-model/events/contexts/#device-context) payload. +1. `os.name`: The name of the operating system. Maps to `name` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#os-context) payload. +2. `os.version`: The version of the operating system. Maps to `version` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#os-context) payload. +3. `device.brand`: The brand of the device. Maps to `brand` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#device-context) payload. +4. `device.model`: The model of the device. Maps to `model` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#device-context) payload. +5. `device.family`: The family of the device. Maps to `family` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#device-context) payload. ```json { diff --git a/develop-docs/sdk/telemetry/metrics.mdx b/develop-docs/sdk/telemetry/metrics.mdx index 350df2d219d79..1e84bf92631cb 100644 --- a/develop-docs/sdk/telemetry/metrics.mdx +++ b/develop-docs/sdk/telemetry/metrics.mdx @@ -395,9 +395,9 @@ By default the SDK should attach the following attributes to a metric: SDKs may optionally attach user information as attributes (guarded by `sendDefaultPii` [unless manually set by user](/sdk/expected-features/data-handling/#sensitive-data)): -1. `user.id`: The user ID. Maps to `id` in the [User](/sdk/foundations/data-model/events/user/) payload. -2. `user.name`: The username. Maps to `username` in the [User](/sdk/foundations/data-model/events/user/) payload. -3. `user.email`: The email address. Maps to `email` in the [User](/sdk/foundations/data-model/events/user/) payload. +1. `user.id`: The user ID. Maps to `id` in the [User](/sdk/foundations/data-model/event-payloads/user/) payload. +2. `user.name`: The username. Maps to `username` in the [User](/sdk/foundations/data-model/event-payloads/user/) payload. +3. `user.email`: The email address. Maps to `email` in the [User](/sdk/foundations/data-model/event-payloads/user/) payload. ```json { @@ -413,8 +413,8 @@ SDKs may optionally attach user information as attributes (guarded by `sendDefau By default, Relay should parse the user agent attached to an incoming metric envelope to parse `browser` and `os` information for metrics. These attributes should be attached by Relay, but client-side SDKs can attach them if they do not forward a user agent when sending metrics to Sentry. -1. `browser.name`: Display name of the browser application. Maps to `name` in the [Contexts](/sdk/foundations/data-model/events/contexts/#browser-context) payload. -2. `browser.version`: Version string of the browser. Maps to `version` in the [Contexts](/sdk/foundations/data-model/events/contexts/#browser-context) payload. +1. `browser.name`: Display name of the browser application. Maps to `name` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#browser-context) payload. +2. `browser.version`: Version string of the browser. Maps to `version` in the [Contexts](/sdk/foundations/data-model/event-payloads/contexts/#browser-context) payload. ```json { @@ -429,7 +429,7 @@ By default, Relay should parse the user agent attached to an incoming metric env For backend SDKs (Node.js, Python, PHP, etc.), the SDKs should attach the following: -1. `server.address`: The address of the server that sent the metric. Equivalent to [`server_name`](/sdk/foundations/data-model/events/#optional-attributes) we attach to errors and transactions. +1. `server.address`: The address of the server that sent the metric. Equivalent to [`server_name`](/sdk/foundations/data-model/event-payloads/#optional-attributes) we attach to errors and transactions. ```json { diff --git a/develop-docs/sdk/telemetry/profiles/sample-format-v1.mdx b/develop-docs/sdk/telemetry/profiles/sample-format-v1.mdx index 3be3e515fa60e..a2fbed3ccf202 100644 --- a/develop-docs/sdk/telemetry/profiles/sample-format-v1.mdx +++ b/develop-docs/sdk/telemetry/profiles/sample-format-v1.mdx @@ -83,7 +83,7 @@ in the same envelope as the associated transaction. `debug_meta` -: *Object, required on native platforms.* This carries the same payload as the [`debug_meta` interface](/sdk/foundations/data-model/events/sdk/). +: *Object, required on native platforms.* This carries the same payload as the [`debug_meta` interface](/sdk/foundations/data-model/event-payloads/sdk/). It is required to have it for native platforms in order to symbolicate. For non-native platforms, you can omit this. `device` @@ -342,7 +342,7 @@ the same `stack_id` for each sample that needs it. `frames` -: *List, required*. Contains a list of frame objects (see [Frame Attributes](/sdk/foundations/data-model/events/stacktrace/#frame-attributes)). +: *List, required*. Contains a list of frame objects (see [Frame Attributes](/sdk/foundations/data-model/event-payloads/stacktrace/#frame-attributes)). Each object should contain at least a `filename`, `function` or `instruction_addr` attribute. All values are optional, but recommended. diff --git a/develop-docs/sdk/telemetry/profiles/sample-format-v2.mdx b/develop-docs/sdk/telemetry/profiles/sample-format-v2.mdx index 14078779da953..59fc2370a71ec 100644 --- a/develop-docs/sdk/telemetry/profiles/sample-format-v2.mdx +++ b/develop-docs/sdk/telemetry/profiles/sample-format-v2.mdx @@ -64,7 +64,7 @@ The *Sample Format V2* is designed for use in continuous profiling. Therefore, a `debug_meta` -: *Object, required on native platforms.* This carries the same payload as the [`debug_meta` interface](/sdk/foundations/data-model/events/sdk/). +: *Object, required on native platforms.* This carries the same payload as the [`debug_meta` interface](/sdk/foundations/data-model/event-payloads/sdk/). It is required to have it for native platforms in order to symbolicate, otherwise you can omit it. For non-native platforms, you can omit this. @@ -223,7 +223,7 @@ the same `stack_id` for each sample that needs it. `frames` -: *List, required*. Contains a list of frame objects (see [Frame Attributes](/sdk/foundations/data-model/events/stacktrace/#frame-attributes)). +: *List, required*. Contains a list of frame objects (see [Frame Attributes](/sdk/foundations/data-model/event-payloads/stacktrace/#frame-attributes)). Each object should contain at least a `filename`, `function` or `instruction_addr` attribute. All values are optional, but recommended. diff --git a/develop-docs/sdk/telemetry/replays.mdx b/develop-docs/sdk/telemetry/replays.mdx index 70ec1b3b05ca3..3b6664d03bffa 100644 --- a/develop-docs/sdk/telemetry/replays.mdx +++ b/develop-docs/sdk/telemetry/replays.mdx @@ -19,7 +19,7 @@ The following attributes are specific to the `"replay_event"` Item type. | Key | Type | Description | | ---------------------- | ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | type | `"replay_event"` | Must be `"replay_event"` | -| replay_id | string | A unique ID for the replay. Follows the [same requirements](/sdk/foundations/data-model/events/#required-attributes) as an `event_id`: Hexadecimal string representing a uuid4 value. The length is exactly 32 characters. Dashes are not allowed. Has to be lowercase. | +| replay_id | string | A unique ID for the replay. Follows the [same requirements](/sdk/foundations/data-model/event-payloads/#required-attributes) as an `event_id`: Hexadecimal string representing a uuid4 value. The length is exactly 32 characters. Dashes are not allowed. Has to be lowercase. | | replay_type | `"session"` \| `"buffer"` | Describes the type of replay. `buffer` means the replay is buffered while waiting for an error to occur or until a manual flush. `session` means the replay starts recording immediately and continues through the lifespan of the replay session. | | segment_id | number | The segment id. | | replay_start_timestamp | number | UNIX timestamp of the start of the replay (in seconds). This is only required on the first segment. | @@ -29,7 +29,7 @@ The following attributes are specific to the `"replay_event"` Item type. ### Event Attributes -The following attributes are a subset of the [optional attributes](/sdk/foundations/data-model/events/#optional-attributes) of an Event. +The following attributes are a subset of the [optional attributes](/sdk/foundations/data-model/event-payloads/#optional-attributes) of an Event. | Key | Type | Description | | -------------------------- | ------ | ------------------------------------------------ | @@ -100,7 +100,7 @@ The `"replay_recording"` item consists of two sub-items that are delimited by ne {"segment_id": 0} ``` -The other sub-item is the replay recording's instructions set. This payload should be gzipped, but uncompressed payloads are also accepted. Read more about replay recording events here. +The other sub-item is the replay recording's instructions set. This payload should be gzipped, but uncompressed payloads are also accepted. Read more about replay recording events here. ```json [ diff --git a/develop-docs/sdk/telemetry/spans/span-protocol.mdx b/develop-docs/sdk/telemetry/spans/span-protocol.mdx index ed85bbb1a4dbe..dba07d008545d 100644 --- a/develop-docs/sdk/telemetry/spans/span-protocol.mdx +++ b/develop-docs/sdk/telemetry/spans/span-protocol.mdx @@ -169,7 +169,7 @@ Empty attributes must be omitted. | `sentry.environment` | string | The environment name (e.g., "production", "staging", "development") | | `sentry.segment.name` | string | The segment name (e.g., "GET /users") | | `sentry.segment.id` | string | The segment span id | -| `sentry.span.source` | string | The source of the span name. **MUST** be set on segment spans, **MAY** be set on child spans.
See [Sentry Conventions](https://github.com/getsentry/sentry-conventions/attributes/sentry#sentry-span-source) for all supported sources.
See [Transaction Annotations](/sdk/foundations/data-model/events/transaction/#transaction-annotations) and [Clustering](/backend/application-domains/transaction-clustering/#automatic-transaction-clustering) for more information.| +| `sentry.span.source` | string | The source of the span name. **MUST** be set on segment spans, **MAY** be set on child spans.
See [Sentry Conventions](https://github.com/getsentry/sentry-conventions/attributes/sentry#sentry-span-source) for all supported sources.
See [Transaction Annotations](/sdk/foundations/data-model/event-payloads/transaction/#transaction-annotations) and [Clustering](/backend/application-domains/transaction-clustering/#automatic-transaction-clustering) for more information.| | `sentry.profiler_id` | string | The id of the currently running profiler (continuous profiling) | | `sentry.replay_id` | string | The id of the currently running replay (if available) | | `os.name` | string | The operating system name (e.g., "Linux", "Windows", "macOS") | diff --git a/develop-docs/sdk/telemetry/traces/dynamic-sampling-context.mdx b/develop-docs/sdk/telemetry/traces/dynamic-sampling-context.mdx index 5506c035b6b1f..d9779d02b9a53 100644 --- a/develop-docs/sdk/telemetry/traces/dynamic-sampling-context.mdx +++ b/develop-docs/sdk/telemetry/traces/dynamic-sampling-context.mdx @@ -94,7 +94,7 @@ For that reason: **Only if a transaction name has good quality, it should be inc - `"/organization/:organizationId/user/:userId"` - `"UserListUIComponent"` -SDKs can leverage transaction annotations (in particular the `source` of the transaction name) to determine which transaction names have a good quality. +SDKs can leverage transaction annotations (in particular the `source` of the transaction name) to determine which transaction names have a good quality. diff --git a/develop-docs/sdk/telemetry/traces/index.mdx b/develop-docs/sdk/telemetry/traces/index.mdx index 09095bca874af..e0ccde826811b 100644 --- a/develop-docs/sdk/telemetry/traces/index.mdx +++ b/develop-docs/sdk/telemetry/traces/index.mdx @@ -220,14 +220,14 @@ Over the wire, transactions are serialized to JSON as an augmented `Event`, and In the Sentry UI, you can use Discover to look at all events regardless of type, and the Issues and Performance sections to dive into errors and transactions, respectively. The [user-facing tracing documentation](https://docs.sentry.io/product/performance/distributed-tracing/#traces-transactions-and-spans) explains more of the concepts on the product level. -The [Span](/sdk/foundations/data-model/events/span/) class stores each individual span in a +The [Span](/sdk/foundations/data-model/event-payloads/span/) class stores each individual span in a trace. -The [Transaction](/sdk/foundations/data-model/events/transaction/) class is like a span, with a +The [Transaction](/sdk/foundations/data-model/event-payloads/transaction/) class is like a span, with a few key differences: - Transactions have `name`, spans don't. -- Transactions must specify the [source](/sdk/foundations/data-model/events/transaction/#transaction-annotations) of its `name` to indicate how the transaction name was generated. +- Transactions must specify the [source](/sdk/foundations/data-model/event-payloads/transaction/#transaction-annotations) of its `name` to indicate how the transaction name was generated. - Calling the `finish` method on spans record the span's end timestamp. For transactions, the `finish` method additionally sends an event to Sentry. diff --git a/develop-docs/sdk/telemetry/traces/opentelemetry.mdx b/develop-docs/sdk/telemetry/traces/opentelemetry.mdx index cdec7b802a819..2dcdccc544282 100644 --- a/develop-docs/sdk/telemetry/traces/opentelemetry.mdx +++ b/develop-docs/sdk/telemetry/traces/opentelemetry.mdx @@ -400,7 +400,7 @@ function generateSentryErrorsFromOtelSpan(otelSpan) { ## Span Protocol -Below describe the transformations between an OpenTelemetry span and a Sentry Span. Related: [the interface for a Sentry Span](https://develop.sentry.dev/sdk/foundations/data-model/events/span/), [the Relay spec for a Sentry Span](https://github.com/getsentry/relay/blob/master/relay-event-schema/src/protocol/span.rs) and the spec for an [OpenTelemetry span](https://github.com/open-telemetry/opentelemetry-proto/blob/724e427879e3d2bae2edc0218fff06e37b9eb46e/opentelemetry/proto/trace/v1/trace.proto#L80-L256). +Below describe the transformations between an OpenTelemetry span and a Sentry Span. Related: [the interface for a Sentry Span](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/span/), [the Relay spec for a Sentry Span](https://github.com/getsentry/relay/blob/master/relay-event-schema/src/protocol/span.rs) and the spec for an [OpenTelemetry span](https://github.com/open-telemetry/opentelemetry-proto/blob/724e427879e3d2bae2edc0218fff06e37b9eb46e/opentelemetry/proto/trace/v1/trace.proto#L80-L256). This is based on a mapping done as part of work on the [OpenTelemetry Sentry Exporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/exporter/sentryexporter/docs/transformation.md). @@ -432,7 +432,7 @@ import {Span as OtelSpan} from '@opentelemetry/sdk-trace-base'; import {SemanticAttributes} from '@opentelemetry/semantic-conventions'; import {SpanStatusType as SentryStatus} from '@sentry/tracing'; -// canonicalCodesHTTPMap maps some HTTP codes to Sentry's span statuses. See possible mapping in https://develop.sentry.dev/sdk/foundations/data-model/events/span/ +// canonicalCodesHTTPMap maps some HTTP codes to Sentry's span statuses. See possible mapping in https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/span/ const canonicalCodesHTTPMap: Record = { '400': 'failed_precondition', '401': 'unauthenticated', diff --git a/develop-docs/sdk/telemetry/traces/span-data-conventions.mdx b/develop-docs/sdk/telemetry/traces/span-data-conventions.mdx index d396473e3a03f..0f14f676eef6e 100644 --- a/develop-docs/sdk/telemetry/traces/span-data-conventions.mdx +++ b/develop-docs/sdk/telemetry/traces/span-data-conventions.mdx @@ -38,7 +38,7 @@ Below describes the conventions for the Span interface for the `data` field on t | Attribute | Type | Description | Examples | | --------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- | | `blocked_main_thread` | boolean | Whether the main thread was blocked by the span. | `true` | -| `call_stack` | StackFrame[] | The most relevant stack frames, that lead to the File I/O span. The stack frame should adhere to the [`StackFrame`](https://develop.sentry.dev/sdk/foundations/data-model/events/stacktrace/#frame-attributes) interface. | | +| `call_stack` | StackFrame[] | The most relevant stack frames, that lead to the File I/O span. The stack frame should adhere to the [`StackFrame`](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/stacktrace/#frame-attributes) interface. | | | `url` | string | The URL of the resource that was fetched. | `https://example.com` | | `type` | string | More granular type of the operation happening. | `fetch` | | `frames.total` | int | The number of total frames rendered during the lifetime of the span. | `60` | diff --git a/develop-docs/sdk/telemetry/traces/trace-origin.mdx b/develop-docs/sdk/telemetry/traces/trace-origin.mdx index 6cfcd55fa1989..626a941231bc8 100644 --- a/develop-docs/sdk/telemetry/traces/trace-origin.mdx +++ b/develop-docs/sdk/telemetry/traces/trace-origin.mdx @@ -4,7 +4,7 @@ title: Trace Origin Trace origin indicates what created a trace, span or log. Not all traces, spans or logs contain enough information to tell whether the user or what precisely in the SDK created it. Origin solves this problem. Origin can be sent with -the trace context, spans, or logs. +the trace context, spans, or logs. For logs and standalone spans, the origin should be set as the `sentry.origin` attribute key. @@ -62,7 +62,7 @@ automatically creates a span. In this case we end up with the following origins: ## See also: -- Span Interface -- Trace Context +- Span Interface +- Trace Context - Logs Interface - Related [RFC](https://github.com/getsentry/rfcs/pull/73/) diff --git a/develop-docs/sdk/telemetry/traces/tracing-without-performance.mdx b/develop-docs/sdk/telemetry/traces/tracing-without-performance.mdx index de0cc73b2b795..f0193a77ebedc 100644 --- a/develop-docs/sdk/telemetry/traces/tracing-without-performance.mdx +++ b/develop-docs/sdk/telemetry/traces/tracing-without-performance.mdx @@ -96,7 +96,7 @@ This means that: ### Attaching Trace Data to Events and Envelopes -Any event created by an SDK in TwP mode must include the [`trace` context](/sdk/foundations/data-model/events/contexts/#trace-context). +Any event created by an SDK in TwP mode must include the [`trace` context](/sdk/foundations/data-model/event-payloads/contexts/#trace-context). This context should contain the trace data of the current trace, if available, just like in regular tracing mode. Furthermore, the [`trace` envelope header](/sdk/telemetry/traces/dynamic-sampling-context/#envelope-header) (populated from the dynamic sampling context) must be attached to any outgoing event envelope. diff --git a/docs/cli/send-event.mdx b/docs/cli/send-event.mdx index 971effc1d0738..74b9698565227 100644 --- a/docs/cli/send-event.mdx +++ b/docs/cli/send-event.mdx @@ -69,7 +69,7 @@ sentry-cli send-event -m "a failure" -t task:create-user ## Stored Events -As of version `1.71`, the `send-event` command can accept an optional argument that specifies a path to the stored JSON representation of an [event payload](https://develop.sentry.dev/sdk/foundations/data-model/events/). When used, it will load the file, validate the event and send it to Sentry. +As of version `1.71`, the `send-event` command can accept an optional argument that specifies a path to the stored JSON representation of an [event payload](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/). When used, it will load the file, validate the event and send it to Sentry. ```bash sentry-cli send-event ./events/20211029150006.json diff --git a/docs/concepts/search/searchable-properties/events.mdx b/docs/concepts/search/searchable-properties/events.mdx index 9178a9d0c74ab..9e826df9f09a0 100644 --- a/docs/concepts/search/searchable-properties/events.mdx +++ b/docs/concepts/search/searchable-properties/events.mdx @@ -282,7 +282,7 @@ Returns results with the defined tag or field, but not the value of that tag or ### `http.method` -HTTP method of the [request](https://develop.sentry.dev/sdk/foundations/data-model/events/request/) that created the event. +HTTP method of the [request](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/request/) that created the event. - **Type:** string @@ -703,7 +703,7 @@ Short code identifying the [type of operation](https://develop.sentry.dev/sdk/pe ### `transaction.status` -Describes the status of the span/transaction. Check out our [Transaction Payloads documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/transaction/) for all possible statuses. +Describes the status of the span/transaction. Check out our [Transaction Payloads documentation](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/transaction/) for all possible statuses. - **Type:** string diff --git a/docs/concepts/search/searchable-properties/issues.mdx b/docs/concepts/search/searchable-properties/issues.mdx index da48780c13f42..caef0c1841abd 100644 --- a/docs/concepts/search/searchable-properties/issues.mdx +++ b/docs/concepts/search/searchable-properties/issues.mdx @@ -210,7 +210,7 @@ Returns results with the defined tag or field, but not the value of that tag or ### `http.method` -HTTP method of the [request](https://develop.sentry.dev/sdk/foundations/data-model/events/request/) that created the event. +HTTP method of the [request](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/request/) that created the event. - **Type:** string diff --git a/docs/platforms/android/configuration/filtering.mdx b/docs/platforms/android/configuration/filtering.mdx index 57051de9c5655..63bcbe75639f9 100644 --- a/docs/platforms/android/configuration/filtering.mdx +++ b/docs/platforms/android/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/foundations/data-model/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/foundations/data-model/event-payloads/). ## Filtering Error Events diff --git a/docs/platforms/android/enriching-events/breadcrumbs/index.mdx b/docs/platforms/android/enriching-events/breadcrumbs/index.mdx index 9883be8b7000c..12f8a347a24c7 100644 --- a/docs/platforms/android/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/android/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/breadcrumbs/). diff --git a/docs/platforms/android/enriching-events/context/index.mdx b/docs/platforms/android/enriching-events/context/index.mdx index 8129ade312056..03727abdfb125 100644 --- a/docs/platforms/android/enriching-events/context/index.mdx +++ b/docs/platforms/android/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/contexts/). ## Size Limitations diff --git a/docs/platforms/apple/common/configuration/filtering.mdx b/docs/platforms/apple/common/configuration/filtering.mdx index f14d747b493ef..2b368bc864fd7 100644 --- a/docs/platforms/apple/common/configuration/filtering.mdx +++ b/docs/platforms/apple/common/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/foundations/data-model/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/foundations/data-model/event-payloads/). ## Filtering Error Events diff --git a/docs/platforms/apple/common/enriching-events/breadcrumbs/index.mdx b/docs/platforms/apple/common/enriching-events/breadcrumbs/index.mdx index ca8750a5517fa..dd5e3fdbff5f2 100644 --- a/docs/platforms/apple/common/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/apple/common/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/breadcrumbs/). diff --git a/docs/platforms/apple/common/enriching-events/context/index.mdx b/docs/platforms/apple/common/enriching-events/context/index.mdx index 8129ade312056..03727abdfb125 100644 --- a/docs/platforms/apple/common/enriching-events/context/index.mdx +++ b/docs/platforms/apple/common/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/contexts/). ## Size Limitations diff --git a/docs/platforms/apple/common/migration/index.mdx b/docs/platforms/apple/common/migration/index.mdx index deb4a2d1c2107..7b1fbd90ec6c6 100644 --- a/docs/platforms/apple/common/migration/index.mdx +++ b/docs/platforms/apple/common/migration/index.mdx @@ -404,7 +404,7 @@ if (eventId != SentryId.empty) { #### New type SentryMessage for Event.message -In 6.x, we introduce a new type [SentryMessage](https://develop.sentry.dev/sdk/foundations/data-model/events/message/) for `event.message`. SentryMessage provides you the ability to pass a format string with parameters to Sentry, which can help group similar messages into the same issue. +In 6.x, we introduce a new type [SentryMessage](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/message/) for `event.message`. SentryMessage provides you the ability to pass a format string with parameters to Sentry, which can help group similar messages into the same issue. Example in 5.x: diff --git a/docs/platforms/dart/common/configuration/filtering.mdx b/docs/platforms/dart/common/configuration/filtering.mdx index 14760857fc8f9..7d62ce9e00214 100644 --- a/docs/platforms/dart/common/configuration/filtering.mdx +++ b/docs/platforms/dart/common/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/foundations/data-model/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/foundations/data-model/event-payloads/). ## Filtering Error Events diff --git a/docs/platforms/dart/common/enriching-events/breadcrumbs/index.mdx b/docs/platforms/dart/common/enriching-events/breadcrumbs/index.mdx index 9883be8b7000c..12f8a347a24c7 100644 --- a/docs/platforms/dart/common/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/dart/common/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/breadcrumbs/). diff --git a/docs/platforms/dart/common/enriching-events/context/index.mdx b/docs/platforms/dart/common/enriching-events/context/index.mdx index 8129ade312056..03727abdfb125 100644 --- a/docs/platforms/dart/common/enriching-events/context/index.mdx +++ b/docs/platforms/dart/common/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/contexts/). ## Size Limitations diff --git a/docs/platforms/dart/guides/flutter/configuration/filtering.mdx b/docs/platforms/dart/guides/flutter/configuration/filtering.mdx index f5adf1ce0281e..7b89b12888395 100644 --- a/docs/platforms/dart/guides/flutter/configuration/filtering.mdx +++ b/docs/platforms/dart/guides/flutter/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/foundations/data-model/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/foundations/data-model/event-payloads/). ## Filtering Error Events diff --git a/docs/platforms/dart/guides/flutter/enriching-events/breadcrumbs/index.mdx b/docs/platforms/dart/guides/flutter/enriching-events/breadcrumbs/index.mdx index 9883be8b7000c..12f8a347a24c7 100644 --- a/docs/platforms/dart/guides/flutter/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/dart/guides/flutter/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/breadcrumbs/). diff --git a/docs/platforms/dart/guides/flutter/enriching-events/context/index.mdx b/docs/platforms/dart/guides/flutter/enriching-events/context/index.mdx index 8129ade312056..03727abdfb125 100644 --- a/docs/platforms/dart/guides/flutter/enriching-events/context/index.mdx +++ b/docs/platforms/dart/guides/flutter/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/contexts/). ## Size Limitations diff --git a/docs/platforms/dotnet/common/configuration/filtering.mdx b/docs/platforms/dotnet/common/configuration/filtering.mdx index 655bd9f542d6b..bf4f2092f4802 100644 --- a/docs/platforms/dotnet/common/configuration/filtering.mdx +++ b/docs/platforms/dotnet/common/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/foundations/data-model/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/foundations/data-model/event-payloads/). ## Filtering Error Events diff --git a/docs/platforms/dotnet/common/enriching-events/breadcrumbs/index.mdx b/docs/platforms/dotnet/common/enriching-events/breadcrumbs/index.mdx index 10b39d9bf2752..2436ef02f1f2c 100644 --- a/docs/platforms/dotnet/common/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/dotnet/common/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/breadcrumbs/). diff --git a/docs/platforms/dotnet/common/enriching-events/context/index.mdx b/docs/platforms/dotnet/common/enriching-events/context/index.mdx index 2839ad2ca87d2..34e651925945d 100644 --- a/docs/platforms/dotnet/common/enriching-events/context/index.mdx +++ b/docs/platforms/dotnet/common/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use `Contexts` and give the context a unique name: There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/contexts/). ## Size Limitations diff --git a/docs/platforms/elixir/configuration/filtering.mdx b/docs/platforms/elixir/configuration/filtering.mdx index 556353ab2b3d5..c4962c19dba8e 100644 --- a/docs/platforms/elixir/configuration/filtering.mdx +++ b/docs/platforms/elixir/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/foundations/data-model/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/foundations/data-model/event-payloads/). ## Filtering Error Events diff --git a/docs/platforms/elixir/enriching-events/breadcrumbs/index.mdx b/docs/platforms/elixir/enriching-events/breadcrumbs/index.mdx index 91d2059e1ab1b..76c5d9e1a4c69 100644 --- a/docs/platforms/elixir/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/elixir/enriching-events/breadcrumbs/index.mdx @@ -9,7 +9,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/breadcrumbs/). diff --git a/docs/platforms/elixir/enriching-events/context/index.mdx b/docs/platforms/elixir/enriching-events/context/index.mdx index 0ae5e73a60dea..11a3ae0b8afed 100644 --- a/docs/platforms/elixir/enriching-events/context/index.mdx +++ b/docs/platforms/elixir/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/contexts/). ## Size Limitations diff --git a/docs/platforms/go/common/configuration/filtering.mdx b/docs/platforms/go/common/configuration/filtering.mdx index b8c0c9c84843e..0d307c0630484 100644 --- a/docs/platforms/go/common/configuration/filtering.mdx +++ b/docs/platforms/go/common/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/foundations/data-model/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/foundations/data-model/event-payloads/). ## Filtering Error Events diff --git a/docs/platforms/go/common/enriching-events/breadcrumbs/index.mdx b/docs/platforms/go/common/enriching-events/breadcrumbs/index.mdx index f956735995431..108e6e3ad4272 100644 --- a/docs/platforms/go/common/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/go/common/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/breadcrumbs/). diff --git a/docs/platforms/go/common/enriching-events/context/index.mdx b/docs/platforms/go/common/enriching-events/context/index.mdx index 7a59704d5d335..7b1f59ac5fda8 100644 --- a/docs/platforms/go/common/enriching-events/context/index.mdx +++ b/docs/platforms/go/common/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/contexts/). ## Size Limitations diff --git a/docs/platforms/godot/configuration/filtering.mdx b/docs/platforms/godot/configuration/filtering.mdx index 556353ab2b3d5..c4962c19dba8e 100644 --- a/docs/platforms/godot/configuration/filtering.mdx +++ b/docs/platforms/godot/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/foundations/data-model/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/foundations/data-model/event-payloads/). ## Filtering Error Events diff --git a/docs/platforms/godot/enriching-events/breadcrumbs/index.mdx b/docs/platforms/godot/enriching-events/breadcrumbs/index.mdx index b23d23777f741..fd7b975999895 100644 --- a/docs/platforms/godot/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/godot/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/breadcrumbs/). diff --git a/docs/platforms/godot/enriching-events/context/index.mdx b/docs/platforms/godot/enriching-events/context/index.mdx index a1059c2e9ca13..0cb4293266c83 100644 --- a/docs/platforms/godot/enriching-events/context/index.mdx +++ b/docs/platforms/godot/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/contexts/). ## Size Limitations diff --git a/docs/platforms/java/common/configuration/filtering.mdx b/docs/platforms/java/common/configuration/filtering.mdx index 79ce3512d875d..46dc39a8429bd 100644 --- a/docs/platforms/java/common/configuration/filtering.mdx +++ b/docs/platforms/java/common/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/foundations/data-model/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/foundations/data-model/event-payloads/). ## Filtering Error Events diff --git a/docs/platforms/java/common/enriching-events/breadcrumbs/index.mdx b/docs/platforms/java/common/enriching-events/breadcrumbs/index.mdx index f956735995431..108e6e3ad4272 100644 --- a/docs/platforms/java/common/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/java/common/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/breadcrumbs/). diff --git a/docs/platforms/java/common/enriching-events/context/index.mdx b/docs/platforms/java/common/enriching-events/context/index.mdx index 7a59704d5d335..7b1f59ac5fda8 100644 --- a/docs/platforms/java/common/enriching-events/context/index.mdx +++ b/docs/platforms/java/common/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/contexts/). ## Size Limitations diff --git a/docs/platforms/javascript/common/configuration/apis.mdx b/docs/platforms/javascript/common/configuration/apis.mdx index 096f24cda4f91..82018197b0734 100644 --- a/docs/platforms/javascript/common/configuration/apis.mdx +++ b/docs/platforms/javascript/common/configuration/apis.mdx @@ -340,7 +340,7 @@ By default, Sentry SDKs normalize nested structured context data up to three lev Any data beyond this depth will be trimmed and marked using its type instead. To adjust this default, use the `normalizeDepth` SDK option. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/contexts/). Context data is structured and can contain any data you want: diff --git a/docs/platforms/javascript/common/configuration/filtering.mdx b/docs/platforms/javascript/common/configuration/filtering.mdx index 066792637440f..1ab69dbd6027b 100644 --- a/docs/platforms/javascript/common/configuration/filtering.mdx +++ b/docs/platforms/javascript/common/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err Sentry offers [Inbound Filters](/concepts/data-management/filtering/) that you can enable per project to filter out various events in sentry.io. You can use our pre-defined inbound filters (e.g. filtering known browser extensions), as well as add your own message-based filters. -However, we recommend filtering at the client-level, because it removes the overhead of sending events you don't actually want. The [Sentry SDKs](/platforms/) have several configuration options, which are described in this document, to help you filter out events. To learn more about the event fields you can use for filtering, see [Event Payloads](https://develop.sentry.dev/sdk/foundations/data-model/events/). +However, we recommend filtering at the client-level, because it removes the overhead of sending events you don't actually want. The [Sentry SDKs](/platforms/) have several configuration options, which are described in this document, to help you filter out events. To learn more about the event fields you can use for filtering, see [Event Payloads](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/). ## Filtering Error Events diff --git a/docs/platforms/javascript/common/enriching-events/breadcrumbs/index.mdx b/docs/platforms/javascript/common/enriching-events/breadcrumbs/index.mdx index 8f73f0ff2232e..885694bbb1f59 100644 --- a/docs/platforms/javascript/common/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/javascript/common/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/breadcrumbs/). diff --git a/docs/platforms/javascript/common/troubleshooting/index.mdx b/docs/platforms/javascript/common/troubleshooting/index.mdx index fa7a22a5eb642..9573aaf353e47 100644 --- a/docs/platforms/javascript/common/troubleshooting/index.mdx +++ b/docs/platforms/javascript/common/troubleshooting/index.mdx @@ -52,7 +52,7 @@ You can view the JSON payload of an event to see how Sentry stores additional da ![Red box highlighting where to find the JSON connected to an event](./img/event_JSON.png) -For more details, see the [full documentation on Event Payload](https://develop.sentry.dev/sdk/foundations/data-model/events/). +For more details, see the [full documentation on Event Payload](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/). diff --git a/docs/platforms/kotlin/guides/kotlin-multiplatform/configuration/filtering.mdx b/docs/platforms/kotlin/guides/kotlin-multiplatform/configuration/filtering.mdx index 556353ab2b3d5..c4962c19dba8e 100644 --- a/docs/platforms/kotlin/guides/kotlin-multiplatform/configuration/filtering.mdx +++ b/docs/platforms/kotlin/guides/kotlin-multiplatform/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/foundations/data-model/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/foundations/data-model/event-payloads/). ## Filtering Error Events diff --git a/docs/platforms/kotlin/guides/kotlin-multiplatform/enriching-events/breadcrumbs/index.mdx b/docs/platforms/kotlin/guides/kotlin-multiplatform/enriching-events/breadcrumbs/index.mdx index 375d78a908cd6..61aa5c9768906 100644 --- a/docs/platforms/kotlin/guides/kotlin-multiplatform/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/kotlin/guides/kotlin-multiplatform/enriching-events/breadcrumbs/index.mdx @@ -9,7 +9,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/breadcrumbs/). diff --git a/docs/platforms/kotlin/guides/kotlin-multiplatform/enriching-events/context/index.mdx b/docs/platforms/kotlin/guides/kotlin-multiplatform/enriching-events/context/index.mdx index 7a59704d5d335..7b1f59ac5fda8 100644 --- a/docs/platforms/kotlin/guides/kotlin-multiplatform/enriching-events/context/index.mdx +++ b/docs/platforms/kotlin/guides/kotlin-multiplatform/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/contexts/). ## Size Limitations diff --git a/docs/platforms/native/common/configuration/filtering.mdx b/docs/platforms/native/common/configuration/filtering.mdx index 3de34c48308e8..261a28dd8abf4 100644 --- a/docs/platforms/native/common/configuration/filtering.mdx +++ b/docs/platforms/native/common/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/foundations/data-model/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/foundations/data-model/event-payloads/). ## Filtering Error Events diff --git a/docs/platforms/native/common/enriching-events/breadcrumbs/index.mdx b/docs/platforms/native/common/enriching-events/breadcrumbs/index.mdx index 34fc817ab703d..57324bb9bba6d 100644 --- a/docs/platforms/native/common/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/native/common/enriching-events/breadcrumbs/index.mdx @@ -16,7 +16,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/breadcrumbs/). diff --git a/docs/platforms/native/common/enriching-events/context/index.mdx b/docs/platforms/native/common/enriching-events/context/index.mdx index bb7984407961f..ff16531137c60 100644 --- a/docs/platforms/native/common/enriching-events/context/index.mdx +++ b/docs/platforms/native/common/enriching-events/context/index.mdx @@ -28,7 +28,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/contexts/). ## Size Limitations diff --git a/docs/platforms/native/guides/minidumps/index.mdx b/docs/platforms/native/guides/minidumps/index.mdx index 0dbd588cb1a61..a49d59487042b 100644 --- a/docs/platforms/native/guides/minidumps/index.mdx +++ b/docs/platforms/native/guides/minidumps/index.mdx @@ -109,7 +109,7 @@ curl -X POST \ -F 'sentry[tags][mytag]=value' ``` -For the full list of supported values, see [_Event Payloads_](https://develop.sentry.dev/sdk/foundations/data-model/events/) and linked +For the full list of supported values, see [_Event Payloads_](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/) and linked documents. 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. diff --git a/docs/platforms/native/guides/wasm/index.mdx b/docs/platforms/native/guides/wasm/index.mdx index f18cb38b04c0d..64bc149ff84eb 100644 --- a/docs/platforms/native/guides/wasm/index.mdx +++ b/docs/platforms/native/guides/wasm/index.mdx @@ -56,7 +56,7 @@ This is [documented in detail](/platforms/javascript/guides/wasm/) in the JavaSc It's likely that if you're working with WebAssembly, you want to send custom crash reports; for example, if you don't execute WebAssembly in a browser, but in your own runtime. In that case, you can follow the general protocol documentation which -also covers how to describe WebAssembly frames: [stack trace interface](https://develop.sentry.dev/sdk/foundations/data-model/events/stacktrace/). +also covers how to describe WebAssembly frames: [stack trace interface](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/stacktrace/). Here is an example event for WebAssembly: diff --git a/docs/platforms/php/common/configuration/filtering.mdx b/docs/platforms/php/common/configuration/filtering.mdx index 2e34c9bea6659..fd949528146c4 100644 --- a/docs/platforms/php/common/configuration/filtering.mdx +++ b/docs/platforms/php/common/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/foundations/data-model/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/foundations/data-model/event-payloads/). ## Filtering Error Events diff --git a/docs/platforms/php/common/enriching-events/breadcrumbs/index.mdx b/docs/platforms/php/common/enriching-events/breadcrumbs/index.mdx index 4a71705f08318..d93a015d7281e 100644 --- a/docs/platforms/php/common/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/php/common/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/breadcrumbs/). diff --git a/docs/platforms/php/common/enriching-events/context/index.mdx b/docs/platforms/php/common/enriching-events/context/index.mdx index 7a59704d5d335..7b1f59ac5fda8 100644 --- a/docs/platforms/php/common/enriching-events/context/index.mdx +++ b/docs/platforms/php/common/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/contexts/). ## Size Limitations diff --git a/docs/platforms/powershell/configuration/filtering.mdx b/docs/platforms/powershell/configuration/filtering.mdx index 9f8aedf3d5396..761b809af644d 100644 --- a/docs/platforms/powershell/configuration/filtering.mdx +++ b/docs/platforms/powershell/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/foundations/data-model/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/foundations/data-model/event-payloads/). ## Filtering Error Events diff --git a/docs/platforms/powershell/enriching-events/breadcrumbs/index.mdx b/docs/platforms/powershell/enriching-events/breadcrumbs/index.mdx index 870947a97714a..8cc015a75288b 100644 --- a/docs/platforms/powershell/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/powershell/enriching-events/breadcrumbs/index.mdx @@ -9,7 +9,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/breadcrumbs/). diff --git a/docs/platforms/powershell/enriching-events/context/index.mdx b/docs/platforms/powershell/enriching-events/context/index.mdx index 2839ad2ca87d2..34e651925945d 100644 --- a/docs/platforms/powershell/enriching-events/context/index.mdx +++ b/docs/platforms/powershell/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use `Contexts` and give the context a unique name: There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/contexts/). ## Size Limitations diff --git a/docs/platforms/python/configuration/filtering/index.mdx b/docs/platforms/python/configuration/filtering/index.mdx index 1f253dd0bf4ca..d1b4a60ef33ac 100644 --- a/docs/platforms/python/configuration/filtering/index.mdx +++ b/docs/platforms/python/configuration/filtering/index.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/foundations/data-model/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/foundations/data-model/event-payloads/). ## Filtering Error Events diff --git a/docs/platforms/python/enriching-events/breadcrumbs/index.mdx b/docs/platforms/python/enriching-events/breadcrumbs/index.mdx index 42e5a35d6d55d..c9e14ff4df44a 100644 --- a/docs/platforms/python/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/python/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/breadcrumbs/). diff --git a/docs/platforms/python/enriching-events/context/index.mdx b/docs/platforms/python/enriching-events/context/index.mdx index 7a59704d5d335..7b1f59ac5fda8 100644 --- a/docs/platforms/python/enriching-events/context/index.mdx +++ b/docs/platforms/python/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/contexts/). ## Size Limitations diff --git a/docs/platforms/python/integrations/cloudresourcecontext/index.mdx b/docs/platforms/python/integrations/cloudresourcecontext/index.mdx index 3cacd79464b26..482adc5c297a3 100644 --- a/docs/platforms/python/integrations/cloudresourcecontext/index.mdx +++ b/docs/platforms/python/integrations/cloudresourcecontext/index.mdx @@ -71,7 +71,7 @@ Trigger an error in the code running in your cloud and see the error and perform ## Behavior When the SDK starts up, information from the cloud provider the app is running in is retrieved and added to all error and performance events sent to Sentry. -The [developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/#runtime-context) lists all the information that's being added. +The [developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/contexts/#runtime-context) lists all the information that's being added. In AWS EC2 the context looks like this: diff --git a/docs/platforms/python/legacy-sdk/breadcrumbs.mdx b/docs/platforms/python/legacy-sdk/breadcrumbs.mdx index f30057f867138..ca8813934364b 100644 --- a/docs/platforms/python/legacy-sdk/breadcrumbs.mdx +++ b/docs/platforms/python/legacy-sdk/breadcrumbs.mdx @@ -71,7 +71,7 @@ If you want to manually record breadcrumbs the most convenient way to do that is `raven.breadcrumbs.record(**options)` -This function accepts keyword arguments matching the attributes of a breadcrumb. For more information see [_Event Payloads_](https://develop.sentry.dev/sdk/foundations/data-model/events/). Additionally, a _processor_ callback can be passed which will be invoked to process the data if the crumb was not rejected. +This function accepts keyword arguments matching the attributes of a breadcrumb. For more information see [_Event Payloads_](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/). Additionally, a _processor_ callback can be passed which will be invoked to process the data if the crumb was not rejected. The most important parameters: diff --git a/docs/platforms/react-native/configuration/filtering.mdx b/docs/platforms/react-native/configuration/filtering.mdx index f626cf2bc9c80..a89240ee6afda 100644 --- a/docs/platforms/react-native/configuration/filtering.mdx +++ b/docs/platforms/react-native/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/foundations/data-model/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/foundations/data-model/event-payloads/). ## Filtering Error Events diff --git a/docs/platforms/react-native/enriching-events/breadcrumbs/index.mdx b/docs/platforms/react-native/enriching-events/breadcrumbs/index.mdx index 208f60dd8cb26..4000058a99bc8 100644 --- a/docs/platforms/react-native/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/react-native/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/breadcrumbs/). diff --git a/docs/platforms/react-native/enriching-events/context/index.mdx b/docs/platforms/react-native/enriching-events/context/index.mdx index baeb9bef07bb0..927e72a2e4deb 100644 --- a/docs/platforms/react-native/enriching-events/context/index.mdx +++ b/docs/platforms/react-native/enriching-events/context/index.mdx @@ -29,7 +29,7 @@ There are no restrictions on context name. In the context object, all keys are a By default, Sentry SDKs normalize nested structured context data up to three levels deep. Any data beyond this depth will be trimmed and marked using its type instead. To adjust this default, use the `normalizeDepth` SDK option. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/contexts/). ## Size Limitations diff --git a/docs/platforms/ruby/common/configuration/filtering.mdx b/docs/platforms/ruby/common/configuration/filtering.mdx index 501e4b15830a2..f0975785e5719 100644 --- a/docs/platforms/ruby/common/configuration/filtering.mdx +++ b/docs/platforms/ruby/common/configuration/filtering.mdx @@ -9,7 +9,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/foundations/data-model/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/foundations/data-model/event-payloads/). ## Filtering Error Events diff --git a/docs/platforms/ruby/common/enriching-events/breadcrumbs/index.mdx b/docs/platforms/ruby/common/enriching-events/breadcrumbs/index.mdx index fd3895e09dcb3..6799f986ea9bc 100644 --- a/docs/platforms/ruby/common/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/ruby/common/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/breadcrumbs/). diff --git a/docs/platforms/ruby/common/enriching-events/context/index.mdx b/docs/platforms/ruby/common/enriching-events/context/index.mdx index 7a59704d5d335..7b1f59ac5fda8 100644 --- a/docs/platforms/ruby/common/enriching-events/context/index.mdx +++ b/docs/platforms/ruby/common/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/contexts/). ## Size Limitations diff --git a/docs/platforms/rust/common/configuration/filtering.mdx b/docs/platforms/rust/common/configuration/filtering.mdx index b03e8edd7bcf0..7825915a82785 100644 --- a/docs/platforms/rust/common/configuration/filtering.mdx +++ b/docs/platforms/rust/common/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/foundations/data-model/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/foundations/data-model/event-payloads/). ## Filtering Error Events diff --git a/docs/platforms/rust/common/enriching-events/breadcrumbs/index.mdx b/docs/platforms/rust/common/enriching-events/breadcrumbs/index.mdx index 046c1c0158cdf..f333a3b01c923 100644 --- a/docs/platforms/rust/common/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/rust/common/enriching-events/breadcrumbs/index.mdx @@ -11,7 +11,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/breadcrumbs/). diff --git a/docs/platforms/rust/common/enriching-events/context/index.mdx b/docs/platforms/rust/common/enriching-events/context/index.mdx index 7a59704d5d335..7b1f59ac5fda8 100644 --- a/docs/platforms/rust/common/enriching-events/context/index.mdx +++ b/docs/platforms/rust/common/enriching-events/context/index.mdx @@ -23,7 +23,7 @@ Then, use and give the context a uniqu There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/contexts/). ## Size Limitations diff --git a/docs/platforms/unity/configuration/filtering.mdx b/docs/platforms/unity/configuration/filtering.mdx index f8744d54f2200..17df7ebc658d1 100644 --- a/docs/platforms/unity/configuration/filtering.mdx +++ b/docs/platforms/unity/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/foundations/data-model/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/foundations/data-model/event-payloads/). ## Filtering Error Events diff --git a/docs/platforms/unity/enriching-events/breadcrumbs/index.mdx b/docs/platforms/unity/enriching-events/breadcrumbs/index.mdx index ba4e2c3ae93dc..0df528d7ac839 100644 --- a/docs/platforms/unity/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/unity/enriching-events/breadcrumbs/index.mdx @@ -9,7 +9,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/breadcrumbs/). diff --git a/docs/platforms/unity/enriching-events/context/index.mdx b/docs/platforms/unity/enriching-events/context/index.mdx index 35ac808536182..3f2629fc7a059 100644 --- a/docs/platforms/unity/enriching-events/context/index.mdx +++ b/docs/platforms/unity/enriching-events/context/index.mdx @@ -29,7 +29,7 @@ The class must be serializable and only properties are included; fields are not. There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/contexts/). ## Size Limitations diff --git a/docs/platforms/unreal/configuration/filtering.mdx b/docs/platforms/unreal/configuration/filtering.mdx index 556353ab2b3d5..c4962c19dba8e 100644 --- a/docs/platforms/unreal/configuration/filtering.mdx +++ b/docs/platforms/unreal/configuration/filtering.mdx @@ -8,7 +8,7 @@ When you add Sentry to your app, you get a lot of valuable information about err The Sentry SDKs have 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/foundations/data-model/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/foundations/data-model/event-payloads/). ## Filtering Error Events diff --git a/docs/platforms/unreal/configuration/setup-crashreporter/index.mdx b/docs/platforms/unreal/configuration/setup-crashreporter/index.mdx index cc9117292bebe..8e2483b96cc9b 100644 --- a/docs/platforms/unreal/configuration/setup-crashreporter/index.mdx +++ b/docs/platforms/unreal/configuration/setup-crashreporter/index.mdx @@ -150,7 +150,7 @@ void ConfigureCrashReporter() ``` You need to call the `ConfigureCrashReporter` some time after your game -starts. Any [event attribute](https://develop.sentry.dev/sdk/foundations/data-model/events/) can be set. +starts. Any [event attribute](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/) can be set. diff --git a/docs/platforms/unreal/enriching-events/breadcrumbs/index.mdx b/docs/platforms/unreal/enriching-events/breadcrumbs/index.mdx index d1bbeb34dc60c..38449b24258e5 100644 --- a/docs/platforms/unreal/enriching-events/breadcrumbs/index.mdx +++ b/docs/platforms/unreal/enriching-events/breadcrumbs/index.mdx @@ -14,7 +14,7 @@ This page provides an overview of manual breadcrumb recording and customization. -Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). +Developers who want to modify the breadcrumbs interface can learn more in our [developer documentation about the Breadcrumbs Interface](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/breadcrumbs/). diff --git a/docs/platforms/unreal/enriching-events/context/index.mdx b/docs/platforms/unreal/enriching-events/context/index.mdx index 295f054d07813..6d17cec7019b4 100644 --- a/docs/platforms/unreal/enriching-events/context/index.mdx +++ b/docs/platforms/unreal/enriching-events/context/index.mdx @@ -46,7 +46,7 @@ Sentry's SDK automatically attaches certain context values such as `Engine versi There are no restrictions on context name. In the context object, all keys are allowed except for `type`, which is used internally. -Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/contexts/). +Learn more about conventions for common contexts in the [contexts interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/contexts/). ## Size Limitations diff --git a/docs/product/insights/overview/metrics.mdx b/docs/product/insights/overview/metrics.mdx index bd7abe93497c9..9159378386a05 100644 --- a/docs/product/insights/overview/metrics.mdx +++ b/docs/product/insights/overview/metrics.mdx @@ -26,7 +26,7 @@ Configure what a satisfactory response time threshold (ms) is for Apdex in **Set ## Failure Rate -`failure_rate()` indicates the percentage of unsuccessful transactions. Sentry treats transactions with a status other than “ok,” “cancelled,” and “unknown” as failures. For more details, see a [list of possible status values](https://develop.sentry.dev/sdk/foundations/data-model/events/span/). +`failure_rate()` indicates the percentage of unsuccessful transactions. Sentry treats transactions with a status other than “ok,” “cancelled,” and “unknown” as failures. For more details, see a [list of possible status values](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/span/). ## Throughput (Total, TPM, TPS) diff --git a/docs/product/issues/issue-details/breadcrumbs/index.mdx b/docs/product/issues/issue-details/breadcrumbs/index.mdx index 0c0e8de6b49a6..38b84cd771a96 100644 --- a/docs/product/issues/issue-details/breadcrumbs/index.mdx +++ b/docs/product/issues/issue-details/breadcrumbs/index.mdx @@ -36,7 +36,7 @@ Here are all the ways you can narrow down what you see: Each breadcrumb is composed of the following: -- **Type**: `type` is a semi-internal attribute that controls how breadcrumbs are categorized. If left unchanged, all breadcrumbs are recorded as `default`, but Sentry provides other [types](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/#breadcrumb-types) that each have their own color/icon in the UI. +- **Type**: `type` is a semi-internal attribute that controls how breadcrumbs are categorized. If left unchanged, all breadcrumbs are recorded as `default`, but Sentry provides other [types](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/breadcrumbs/#breadcrumb-types) that each have their own color/icon in the UI. - **Category**: The event category. This data is similar to a logger name and helps you understand where an event took place, such as `auth`. @@ -49,4 +49,4 @@ Each breadcrumb is composed of the following: - **Time**: A timestamp showing when the breadcrumb occurred. The format is either a string, as defined in [RFC 3339](https://tools.ietf.org/html/rfc3339), or a numeric value representing the number of seconds that have elapsed since the Unix epoch. -Learn more detailed information about breadcrumb data in the [Breadcrumbs Interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/). +Learn more detailed information about breadcrumb data in the [Breadcrumbs Interface developer documentation](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/breadcrumbs/). diff --git a/platform-includes/capture-message/native.mdx b/platform-includes/capture-message/native.mdx index 5b2ba1db646f2..1318b7e80d7de 100644 --- a/platform-includes/capture-message/native.mdx +++ b/platform-includes/capture-message/native.mdx @@ -37,4 +37,4 @@ sentry_value_set_by_key(event, "contexts", contexts); sentry_capture_event(event); ``` -For the full list of supported values, see [_Event Payloads_](https://develop.sentry.dev/sdk/foundations/data-model/events/) and linked documents. +For the full list of supported values, see [_Event Payloads_](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/) and linked documents. diff --git a/platform-includes/capture-message/unreal.mdx b/platform-includes/capture-message/unreal.mdx index 642458dbab8e3..cd6ac664ffcc1 100644 --- a/platform-includes/capture-message/unreal.mdx +++ b/platform-includes/capture-message/unreal.mdx @@ -88,4 +88,4 @@ Scoped events capturing is supported only on macOS, iOS and Android platforms. -For the full list of supported values, check out [_Event Payloads_](https://develop.sentry.dev/sdk/foundations/data-model/events/) and linked documents. +For the full list of supported values, check out [_Event Payloads_](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/) and linked documents. diff --git a/platform-includes/enriching-events/breadcrumbs/automatic-breadcrumbs/dart.mdx b/platform-includes/enriching-events/breadcrumbs/automatic-breadcrumbs/dart.mdx index 1a08800c2ae69..3219f037d6e9e 100644 --- a/platform-includes/enriching-events/breadcrumbs/automatic-breadcrumbs/dart.mdx +++ b/platform-includes/enriching-events/breadcrumbs/automatic-breadcrumbs/dart.mdx @@ -1,4 +1,4 @@ -To track automatic [Breadcrumbs for HTTP requests](https://develop.sentry.dev/sdk/foundations/data-model/events/breadcrumbs/#breadcrumb-types), you can add a Sentry wrapper that does it automatically for you. +To track automatic [Breadcrumbs for HTTP requests](https://develop.sentry.dev/sdk/foundations/data-model/event-payloads/breadcrumbs/#breadcrumb-types), you can add a Sentry wrapper that does it automatically for you. The following code applies if you are using the [http.Client](https://pub.dev/documentation/http/latest/http/Client-class.html) class from the [http](https://pub.dev/packages/http) library. If you're using package `Dio`, please refer to our [`sentry_dio`](https://pub.dev/packages/sentry_dio) integration. diff --git a/redirects.js b/redirects.js index 42ff17ad1c072..c38cfe890d2aa 100644 --- a/redirects.js +++ b/redirects.js @@ -28,7 +28,7 @@ const developerDocsRedirects = [ }, { source: '/sdk/data-model/event-payloads/types/', - destination: '/sdk/foundations/data-model/events/', + destination: '/sdk/foundations/data-model/event-payloads/', }, { source: '/sdk/basics/:path*', @@ -52,7 +52,7 @@ const developerDocsRedirects = [ }, { source: '/sdk/event-payloads/:path*', - destination: '/sdk/foundations/data-model/events/:path*', + destination: '/sdk/foundations/data-model/event-payloads/:path*', }, { source: '/sdk/hub_and_scope_refactoring/:path*', diff --git a/src/middleware.ts b/src/middleware.ts index 71d6a23a2be0a..16288c7ff2285 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -3072,7 +3072,7 @@ const USER_DOCS_REDIRECTS: Redirect[] = [ }, { from: '/clientdev/interfaces/http/', - to: 'https://develop.sentry.dev/sdk/foundation/data-model/events/request', + to: 'https://develop.sentry.dev/sdk/foundation/data-model/event-payloads/request', }, { from: '/clients/csharp/', @@ -4352,67 +4352,67 @@ const DEVELOPER_DOCS_REDIRECTS: Redirect[] = [ }, { from: '/sdk/data-model/event-payloads/', - to: '/sdk/foundations/data-model/events/', + to: '/sdk/foundations/data-model/event-payloads/', }, { from: '/sdk/data-model/event-payloads/breadcrumbs/', - to: '/sdk/foundations/data-model/events/breadcrumbs/', + to: '/sdk/foundations/data-model/event-payloads/breadcrumbs/', }, { from: '/sdk/data-model/event-payloads/contexts/', - to: '/sdk/foundations/data-model/events/contexts/', + to: '/sdk/foundations/data-model/event-payloads/contexts/', }, { from: '/sdk/data-model/event-payloads/debugmeta/', - to: '/sdk/foundations/data-model/events/debugmeta/', + to: '/sdk/foundations/data-model/event-payloads/debugmeta/', }, { from: '/sdk/data-model/event-payloads/exception/', - to: '/sdk/foundations/data-model/events/exception/', + to: '/sdk/foundations/data-model/event-payloads/exception/', }, { from: '/sdk/data-model/event-payloads/lockreason/', - to: '/sdk/foundations/data-model/events/lockreason/', + to: '/sdk/foundations/data-model/event-payloads/lockreason/', }, { from: '/sdk/data-model/event-payloads/message/', - to: '/sdk/foundations/data-model/events/message/', + to: '/sdk/foundations/data-model/event-payloads/message/', }, { from: '/sdk/data-model/event-payloads/replay-recording/', - to: '/sdk/foundations/data-model/events/replay-recording/', + to: '/sdk/foundations/data-model/event-payloads/replay-recording/', }, { from: '/sdk/data-model/event-payloads/request/', - to: '/sdk/foundations/data-model/events/request/', + to: '/sdk/foundations/data-model/event-payloads/request/', }, { from: '/sdk/data-model/event-payloads/sdk/', - to: '/sdk/foundations/data-model/events/sdk/', + to: '/sdk/foundations/data-model/event-payloads/sdk/', }, { from: '/sdk/data-model/event-payloads/span/', - to: '/sdk/foundations/data-model/events/span/', + to: '/sdk/foundations/data-model/event-payloads/span/', }, { from: '/sdk/data-model/event-payloads/stacktrace/', - to: '/sdk/foundations/data-model/events/stacktrace/', + to: '/sdk/foundations/data-model/event-payloads/stacktrace/', }, { from: '/sdk/data-model/event-payloads/template/', - to: '/sdk/foundations/data-model/events/template/', + to: '/sdk/foundations/data-model/event-payloads/template/', }, { from: '/sdk/data-model/event-payloads/threads/', - to: '/sdk/foundations/data-model/events/threads/', + to: '/sdk/foundations/data-model/event-payloads/threads/', }, { from: '/sdk/data-model/event-payloads/transaction/', - to: '/sdk/foundations/data-model/events/transaction/', + to: '/sdk/foundations/data-model/event-payloads/transaction/', }, { from: '/sdk/data-model/event-payloads/user/', - to: '/sdk/foundations/data-model/events/user/', + to: '/sdk/foundations/data-model/event-payloads/user/', }, ]; From a3e4d6b52aed557530ba6867a356c1e6709c966e Mon Sep 17 00:00:00 2001 From: Stephanie Anderson Date: Tue, 17 Feb 2026 17:37:25 +0100 Subject: [PATCH 7/7] docs(sdk): Fix event-payloads title and add redirects Restore "Event Payloads" title in index.mdx and add redirects for old /sdk/data-model/event-payloads/ paths in redirects.js. Co-Authored-By: Claude --- .../sdk/foundations/data-model/event-payloads/index.mdx | 2 +- redirects.js | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/develop-docs/sdk/foundations/data-model/event-payloads/index.mdx b/develop-docs/sdk/foundations/data-model/event-payloads/index.mdx index dfcb27ff5970c..939d0307235b1 100644 --- a/develop-docs/sdk/foundations/data-model/event-payloads/index.mdx +++ b/develop-docs/sdk/foundations/data-model/event-payloads/index.mdx @@ -1,5 +1,5 @@ --- -title: Events +title: Event Payloads sidebar_order: 3 --- diff --git a/redirects.js b/redirects.js index c38cfe890d2aa..addc67726e466 100644 --- a/redirects.js +++ b/redirects.js @@ -30,6 +30,14 @@ const developerDocsRedirects = [ source: '/sdk/data-model/event-payloads/types/', destination: '/sdk/foundations/data-model/event-payloads/', }, + { + source: '/sdk/data-model/event-payloads/', + destination: '/sdk/foundations/data-model/event-payloads/', + }, + { + source: '/sdk/data-model/event-payloads/:path*', + destination: '/sdk/foundations/data-model/event-payloads/:path*', + }, { source: '/sdk/basics/:path*', destination: '/sdk/processes/basics/:path*',