diff --git a/develop-docs/sdk/event-payloads/index.mdx b/develop-docs/sdk/event-payloads/index.mdx index 515cb14782cc6..8dba0c5343c56 100644 --- a/develop-docs/sdk/event-payloads/index.mdx +++ b/develop-docs/sdk/event-payloads/index.mdx @@ -37,7 +37,16 @@ time when it occurred. The following attributes are required for all events. -import "./properties/event_id.mdx" +`event_id` + +_Required_. Hexadecimal string representing a uuid4 value. The length is exactly 32 + characters. Dashes are not allowed. Has to be lowercase. + + ```json + { + "event_id": "fc6d8c0c43fc4630ad850ee518f1b9d0" + } + ``` `timestamp` @@ -187,7 +196,18 @@ of an Xcode build or the version code of an Android build. } ``` -import "./properties/tags.mdx" +`tags` + +_Optional_. A map or list of tags for this event. Each tag must be less than 200 characters. + + ```json + { + "tags": { + "ios_version": "4.0", + "context": "production" + } + } + ``` `environment` diff --git a/develop-docs/sdk/event-payloads/properties/contexts_trace.mdx b/develop-docs/sdk/event-payloads/properties/contexts_trace.mdx deleted file mode 100644 index f07531b218d8c..0000000000000 --- a/develop-docs/sdk/event-payloads/properties/contexts_trace.mdx +++ /dev/null @@ -1,18 +0,0 @@ -`contexts.trace` - -_Recommended_. A Transaction has to have a specific `contexts.trace` entry that contains tracing information. See the [Trace Context documentation](/sdk/event-payloads/contexts/#trace-context). - -```json -{ - "contexts": { - "trace": { - "op": "navigation", - "description": "User clicked on ", - "trace_id": "743ad8bbfdd84e99bc38b4729e2864de", - "span_id": "a0cfbde2bdff3adc", - "status": "ok", - "parent_span_id": "99659d76b7cdae94" - } - } -} -``` diff --git a/develop-docs/sdk/event-payloads/properties/description.mdx b/develop-docs/sdk/event-payloads/properties/description.mdx deleted file mode 100644 index d743a45cf7413..0000000000000 --- a/develop-docs/sdk/event-payloads/properties/description.mdx +++ /dev/null @@ -1,9 +0,0 @@ -`description` - -_Optional_. Longer description of the span's operation, which uniquely identifies the span but is consistent across instances of the span. - - ```json - { - "description": "SELECT * FROM users WHERE last_active < DATE_SUB(CURRENT_DATE, INTERVAL 1 YEAR)`" - } - ``` diff --git a/develop-docs/sdk/event-payloads/properties/event_id.mdx b/develop-docs/sdk/event-payloads/properties/event_id.mdx deleted file mode 100644 index b0ebcf63b755b..0000000000000 --- a/develop-docs/sdk/event-payloads/properties/event_id.mdx +++ /dev/null @@ -1,10 +0,0 @@ -`event_id` - -_Required_. Hexadecimal string representing a uuid4 value. The length is exactly 32 - characters. Dashes are not allowed. Has to be lowercase. - - ```json - { - "event_id": "fc6d8c0c43fc4630ad850ee518f1b9d0" - } - ``` \ No newline at end of file diff --git a/develop-docs/sdk/event-payloads/properties/measurements.mdx b/develop-docs/sdk/event-payloads/properties/measurements.mdx deleted file mode 100644 index b690a482499b8..0000000000000 --- a/develop-docs/sdk/event-payloads/properties/measurements.mdx +++ /dev/null @@ -1,45 +0,0 @@ -`measurements` - -_Optional_. An object containing standard/custom measurements with keys signifying the name of the measurement. - -- Standard measurement keys currently supported are from the following list taken from [here](https://github.com/getsentry/sentry/blob/a8c960a933d2ded5225841573d8fc426a482ca9c/static/app/utils/discover/fields.tsx#L654-L676). - -```json -[ - // Web - "fp", - "fcp", - "lcp", - "fid", - "cls", - "ttfb", - "ttfb.requesttime", - - // Mobile - "app_start_cold", - "app_start_warm", - "frames_total", - "frames_slow", - "frames_frozen", - - // React native - "frames_slow_rate", - "frames_frozen_rate", - "stall_count", - "stall_total_time", - "stall_longest_time", - "stall_percentage" -] -``` - -- For the well-known measurements listed above, Sentry automatically infers units. Custom measurements need units to be specified; if the units are missing, Relay will set them to `"none"` as a default. The full list of supported units is specified on [Relay's `MetricUnit`](https://getsentry.github.io/relay/relay_metrics/enum.MetricUnit.html). Sentry's event ingestion supports arbitrary custom units, but many SDKs will not expose a generic user-defined unit interface. - -```json -{ - "measurements": { - "lcp": { "value": 100 }, - "fp": { "value": 123 }, - "my.custom.metric": { "value": 456, "unit": "millisecond" } - } -} -``` diff --git a/develop-docs/sdk/event-payloads/properties/op.mdx b/develop-docs/sdk/event-payloads/properties/op.mdx deleted file mode 100644 index 77ae8662100ac..0000000000000 --- a/develop-docs/sdk/event-payloads/properties/op.mdx +++ /dev/null @@ -1,11 +0,0 @@ -`op` - -_Recommended_. Short code identifying the type of operation the span is measuring. - -For more details, see Sentry's conventions around span operations. - - ```json - { - "op": "db.query" - } - ``` \ No newline at end of file diff --git a/develop-docs/sdk/event-payloads/properties/parent_span_id.mdx b/develop-docs/sdk/event-payloads/properties/parent_span_id.mdx deleted file mode 100644 index e231470222ad0..0000000000000 --- a/develop-docs/sdk/event-payloads/properties/parent_span_id.mdx +++ /dev/null @@ -1,9 +0,0 @@ -`parent_span_id`: - -_Optional_. If this Span should be rendered as a child of another Span, set this property to the id of the parent. - - ```json - { - "parent_span_id": "b0e6f15b45c36b12" - } - ``` \ No newline at end of file diff --git a/develop-docs/sdk/event-payloads/properties/span_id.mdx b/develop-docs/sdk/event-payloads/properties/span_id.mdx deleted file mode 100644 index 1232e72c4831f..0000000000000 --- a/develop-docs/sdk/event-payloads/properties/span_id.mdx +++ /dev/null @@ -1,9 +0,0 @@ -`span_id`: - -_Required_. A random hex string with a length of 16 characters. - - ```json - { - "span_id": "99659d76b7cdae94" - } - ``` \ No newline at end of file diff --git a/develop-docs/sdk/event-payloads/properties/span_start_timestamp.mdx b/develop-docs/sdk/event-payloads/properties/span_start_timestamp.mdx deleted file mode 100644 index 549a73eed98cb..0000000000000 --- a/develop-docs/sdk/event-payloads/properties/span_start_timestamp.mdx +++ /dev/null @@ -1,22 +0,0 @@ -`start_timestamp` - -_Required_. A timestamp representing when the measuring started. The - format is either a string as defined in [RFC - 3339](https://tools.ietf.org/html/rfc3339) or a numeric (integer or float) - value representing the number of seconds that have elapsed since the [Unix - epoch](https://en.wikipedia.org/wiki/Unix_time). The `start_timestamp` value must be less than or - equal to the `timestamp` value, otherwise the Span is discarded as invalid. - - ```json - { - "start_timestamp": "2011-05-02T17:41:36.242Z" - } - ``` - -or: - - ```json - { - "start_timestamp": 1304358096.242 - } - ``` diff --git a/develop-docs/sdk/event-payloads/properties/span_timestamp.mdx b/develop-docs/sdk/event-payloads/properties/span_timestamp.mdx deleted file mode 100644 index 736bdd9c69ef2..0000000000000 --- a/develop-docs/sdk/event-payloads/properties/span_timestamp.mdx +++ /dev/null @@ -1,21 +0,0 @@ -`timestamp` - -_Required_. A timestamp representing when the measuring finished. The - format is either a string as defined in [RFC - 3339](https://tools.ietf.org/html/rfc3339) or a numeric (integer or float) - value representing the number of seconds that have elapsed since the [Unix - epoch](https://en.wikipedia.org/wiki/Unix_time). - - ```json - { - "timestamp": "2011-05-02T17:41:36.955Z" - } - ``` - -or: - - ```json - { - "timestamp": 1304358096.955 - } - ``` diff --git a/develop-docs/sdk/event-payloads/properties/spans.mdx b/develop-docs/sdk/event-payloads/properties/spans.mdx deleted file mode 100644 index 94c2824966263..0000000000000 --- a/develop-docs/sdk/event-payloads/properties/spans.mdx +++ /dev/null @@ -1,37 +0,0 @@ -`spans` - -_Recommended_. A list of [Spans](/sdk/event-payloads/span/). - -```json -{ - "spans": [ - { - "start_timestamp": 1588601261.481961, - "description": "GET /sockjs-node/info", - "tags": { - "http.status_code": "200" - }, - "timestamp": 1588601261.488901, - "parent_span_id": "b0e6f15b45c36b12", - "trace_id": "1e57b752bc6e4544bbaa246cd1d05dee", - "op": "http", - "data": { - "url": "http://localhost:8080/sockjs-node/info?t=1588601703755", - "status_code": 200, - "type": "xhr", - "method": "GET" - }, - "span_id": "b01b9f6349558cd1" - }, - { - "start_timestamp": 1588601261.535386, - "description": "Vue ", - "timestamp": 1588601261.544196, - "parent_span_id": "9312d0d18bf51736", - "trace_id": "1e57b752bc6e4544bbaa246cd1d05dee", - "op": "update", - "span_id": "b980d4dec78d7344" - } - ] -} -``` diff --git a/develop-docs/sdk/event-payloads/properties/status.mdx b/develop-docs/sdk/event-payloads/properties/status.mdx deleted file mode 100644 index 04eec70771661..0000000000000 --- a/develop-docs/sdk/event-payloads/properties/status.mdx +++ /dev/null @@ -1,29 +0,0 @@ -`status` - -_Optional_. Describes the `status` of the Span/Transaction. - -| State | Description | HTTP status code equivalent | -| ---------------------------- | ------------------------------------------------------------------------------------------------------------ | --------------------------- | -| `ok` | Not an error, returned on success | 200 and 2XX HTTP statuses | -| `cancelled` | The operation was cancelled, typically by the caller | 499 | -| `unknown` or `unknown_error` | An unknown error raised by APIs that don't return enough error information | 500 | -| `invalid_argument` | The client specified an invalid argument | 400 | -| `deadline_exceeded` | The deadline expired before the operation could succeed | 504 | -| `not_found` | Content was not found or request was denied for an entire class of users | 404 | -| `already_exists` | The entity attempted to be created already exists | 409 | -| `permission_denied` | The caller doesn't have permission to execute the specified operation | 403 | -| `resource_exhausted` | The resource has been exhausted e.g. per-user quota exhausted, file system out of space | 429 | -| `failed_precondition` | The client shouldn't retry until the system state has been explicitly handled | 400 | -| `aborted` | The operation was aborted | 409 | -| `out_of_range` | The operation was attempted past the valid range e.g. seeking past the end of a file | 400 | -| `unimplemented` | The operation is not implemented or is not supported/enabled for this operation | 501 | -| `internal_error` | Some invariants expected by the underlying system have been broken. This code is reserved for serious errors | 500 | -| `unavailable` | The service is currently available e.g. as a transient condition | 503 | -| `data_loss` | Unrecoverable data loss or corruption | 500 | -| `unauthenticated` | The requester doesn't have valid authentication credentials for the operation | 401 | - -```json -{ - "status": "ok" -} -``` diff --git a/develop-docs/sdk/event-payloads/properties/tags.mdx b/develop-docs/sdk/event-payloads/properties/tags.mdx deleted file mode 100644 index fad614063b029..0000000000000 --- a/develop-docs/sdk/event-payloads/properties/tags.mdx +++ /dev/null @@ -1,12 +0,0 @@ -`tags` - -_Optional_. A map or list of tags for this event. Each tag must be less than 200 characters. - - ```json - { - "tags": { - "ios_version": "4.0", - "context": "production" - } - } - ``` \ No newline at end of file diff --git a/develop-docs/sdk/event-payloads/properties/trace_id.mdx b/develop-docs/sdk/event-payloads/properties/trace_id.mdx deleted file mode 100644 index a9c1f2ec0eddf..0000000000000 --- a/develop-docs/sdk/event-payloads/properties/trace_id.mdx +++ /dev/null @@ -1,9 +0,0 @@ -`trace_id`: - -_Required_. Determines which `trace` the Span belongs to. The value should be 16 random bytes encoded as a hex string (32 characters long). - - ```json - { - "trace_id": "1e57b752bc6e4544bbaa246cd1d05dee" - } - ``` diff --git a/develop-docs/sdk/event-payloads/properties/transaction_info.mdx b/develop-docs/sdk/event-payloads/properties/transaction_info.mdx deleted file mode 100644 index 57de6655116db..0000000000000 --- a/develop-docs/sdk/event-payloads/properties/transaction_info.mdx +++ /dev/null @@ -1,29 +0,0 @@ -`transaction_info` - -_Recommended_. Additional information about the name of the transaction. - -```json -{ - "transaction_info": { - "source": "route" - } -} -``` - -`transaction_info.source` - -_Required_. This information is required by dynamic sampling. -Contains information about how the name of the transaction was determined. -This will be used by the server to decide whether or not to scrub identifiers -from the transaction name, or replace the entire name with a placeholder. The `source` should -only be set by integrations and not by developers directly. - -| Source | Description |
Examples
| -| ----------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | -| `custom` | User-defined name, see [`setTransactionName()`](https://docs.sentry.io/platforms/javascript/enriching-events/transaction-name/) | `my_transaction` | -| `url` | Raw URL, potentially containing identifiers. | `/auth/login/john123/`
`GET /auth/login/john123/` | -| `route` | Parametrized URL / route | `/auth/login/:userId/`
`GET /auth/login/{user}/` | -| `view` | Name of the view handling the request. | `UserListView` | -| `component` | Named after a software component, such as a function or class name. | `AuthLogin.login`
`LoginActivity.login_button` | -| `task` | Name of a background task (e.g. a Celery task) | `sentry.tasks.do_something` | -| `unknown` | _Value set by Relay for legacy SDKs. SDKs must not set this value explicitly._ | | diff --git a/develop-docs/sdk/event-payloads/properties/type.mdx b/develop-docs/sdk/event-payloads/properties/type.mdx deleted file mode 100644 index 7f8812a6b9b3d..0000000000000 --- a/develop-docs/sdk/event-payloads/properties/type.mdx +++ /dev/null @@ -1,9 +0,0 @@ -`type` - -_Required_. A Transaction has to have this value set to `transaction`. - - ```json - { - "type": "transaction" - } - ``` \ No newline at end of file diff --git a/develop-docs/sdk/event-payloads/span.mdx b/develop-docs/sdk/event-payloads/span.mdx index 186625abbf1c2..bccdee8753bdd 100644 --- a/develop-docs/sdk/event-payloads/span.mdx +++ b/develop-docs/sdk/event-payloads/span.mdx @@ -10,23 +10,145 @@ While Span attributes will be normalized on the server, a Span is most useful wh ## Attributes -import "./properties/span_id.mdx"; +`span_id`: -import "./properties/parent_span_id.mdx"; +_Required_. A random hex string with a length of 16 characters. -import "./properties/trace_id.mdx"; + ```json + { + "span_id": "99659d76b7cdae94" + } + ``` + +`parent_span_id`: + +_Optional_. If this Span should be rendered as a child of another Span, set this property to the id of the parent. + + ```json + { + "parent_span_id": "b0e6f15b45c36b12" + } + ``` + +`trace_id`: + +_Required_. Determines which `trace` the Span belongs to. The value should be 16 random bytes encoded as a hex string (32 characters long). + + ```json + { + "trace_id": "1e57b752bc6e4544bbaa246cd1d05dee" + } + ``` + +`op` + +_Recommended_. Short code identifying the type of operation the span is measuring. + +For more details, see Sentry's conventions around span operations. + + ```json + { + "op": "db.query" + } + ``` + +`description` + +_Optional_. Longer description of the span's operation, which uniquely identifies the span but is consistent across instances of the span. + + ```json + { + "description": "SELECT * FROM users WHERE last_active < DATE_SUB(CURRENT_DATE, INTERVAL 1 YEAR)`" + } + ``` -import "./properties/op.mdx"; +`start_timestamp` -import "./properties/description.mdx"; +_Required_. A timestamp representing when the measuring started. The + format is either a string as defined in [RFC + 3339](https://tools.ietf.org/html/rfc3339) or a numeric (integer or float) + value representing the number of seconds that have elapsed since the [Unix + epoch](https://en.wikipedia.org/wiki/Unix_time). The `start_timestamp` value must be less than or + equal to the `timestamp` value, otherwise the Span is discarded as invalid. -import "./properties/span_start_timestamp.mdx"; + ```json + { + "start_timestamp": "2011-05-02T17:41:36.242Z" + } + ``` + +or: + + ```json + { + "start_timestamp": 1304358096.242 + } + ``` + +`timestamp` + +_Required_. A timestamp representing when the measuring finished. The + format is either a string as defined in [RFC + 3339](https://tools.ietf.org/html/rfc3339) or a numeric (integer or float) + value representing the number of seconds that have elapsed since the [Unix + epoch](https://en.wikipedia.org/wiki/Unix_time). + + ```json + { + "timestamp": "2011-05-02T17:41:36.955Z" + } + ``` + +or: -import "./properties/span_timestamp.mdx"; + ```json + { + "timestamp": 1304358096.955 + } + ``` + +`status` + +_Optional_. Describes the `status` of the Span/Transaction. + +| State | Description | HTTP status code equivalent | +| ---------------------------- | ------------------------------------------------------------------------------------------------------------ | --------------------------- | +| `ok` | Not an error, returned on success | 200 and 2XX HTTP statuses | +| `cancelled` | The operation was cancelled, typically by the caller | 499 | +| `unknown` or `unknown_error` | An unknown error raised by APIs that don't return enough error information | 500 | +| `invalid_argument` | The client specified an invalid argument | 400 | +| `deadline_exceeded` | The deadline expired before the operation could succeed | 504 | +| `not_found` | Content was not found or request was denied for an entire class of users | 404 | +| `already_exists` | The entity attempted to be created already exists | 409 | +| `permission_denied` | The caller doesn't have permission to execute the specified operation | 403 | +| `resource_exhausted` | The resource has been exhausted e.g. per-user quota exhausted, file system out of space | 429 | +| `failed_precondition` | The client shouldn't retry until the system state has been explicitly handled | 400 | +| `aborted` | The operation was aborted | 409 | +| `out_of_range` | The operation was attempted past the valid range e.g. seeking past the end of a file | 400 | +| `unimplemented` | The operation is not implemented or is not supported/enabled for this operation | 501 | +| `internal_error` | Some invariants expected by the underlying system have been broken. This code is reserved for serious errors | 500 | +| `unavailable` | The service is currently available e.g. as a transient condition | 503 | +| `data_loss` | Unrecoverable data loss or corruption | 500 | +| `unauthenticated` | The requester doesn't have valid authentication credentials for the operation | 401 | -import "./properties/status.mdx"; +```json +{ + "status": "ok" +} +``` -import "./properties/tags.mdx"; +`tags` + +_Optional_. A map or list of tags for this event. Each tag must be less than 200 characters. + + ```json + { + "tags": { + "ios_version": "4.0", + "context": "production" + } + } + ``` `data` diff --git a/develop-docs/sdk/event-payloads/transaction.mdx b/develop-docs/sdk/event-payloads/transaction.mdx index db3d1a8d8c18e..b72a9db7cfd1e 100644 --- a/develop-docs/sdk/event-payloads/transaction.mdx +++ b/develop-docs/sdk/event-payloads/transaction.mdx @@ -21,18 +21,192 @@ properties that will be covered in the next section. Transactions are [Events](/sdk/event-payloads/) enriched with [Span](/sdk/event-payloads/span/) data. We are only going to list here what is important for a Transaction. -import "./properties/type.mdx"; +`type` -import "./properties/span_start_timestamp.mdx"; +_Required_. A Transaction has to have this value set to `transaction`. -import "./properties/span_timestamp.mdx"; + ```json + { + "type": "transaction" + } + ``` -import "./properties/contexts_trace.mdx"; +`start_timestamp` -import "./properties/spans.mdx"; +_Required_. A timestamp representing when the measuring started. The + format is either a string as defined in [RFC + 3339](https://tools.ietf.org/html/rfc3339) or a numeric (integer or float) + value representing the number of seconds that have elapsed since the [Unix + epoch](https://en.wikipedia.org/wiki/Unix_time). The `start_timestamp` value must be less than or + equal to the `timestamp` value, otherwise the Span is discarded as invalid. -import "./properties/measurements.mdx"; + ```json + { + "start_timestamp": "2011-05-02T17:41:36.242Z" + } + ``` + +or: + + ```json + { + "start_timestamp": 1304358096.242 + } + ``` + +`timestamp` + +_Required_. A timestamp representing when the measuring finished. The + format is either a string as defined in [RFC + 3339](https://tools.ietf.org/html/rfc3339) or a numeric (integer or float) + value representing the number of seconds that have elapsed since the [Unix + epoch](https://en.wikipedia.org/wiki/Unix_time). + + ```json + { + "timestamp": "2011-05-02T17:41:36.955Z" + } + ``` + +or: + + ```json + { + "timestamp": 1304358096.955 + } + ``` + +`contexts.trace` + +_Recommended_. A Transaction has to have a specific `contexts.trace` entry that contains tracing information. See the [Trace Context documentation](/sdk/event-payloads/contexts/#trace-context). + +```json +{ + "contexts": { + "trace": { + "op": "navigation", + "description": "User clicked on ", + "trace_id": "743ad8bbfdd84e99bc38b4729e2864de", + "span_id": "a0cfbde2bdff3adc", + "status": "ok", + "parent_span_id": "99659d76b7cdae94" + } + } +} +``` + +`spans` + +_Recommended_. A list of [Spans](/sdk/event-payloads/span/). + +```json +{ + "spans": [ + { + "start_timestamp": 1588601261.481961, + "description": "GET /sockjs-node/info", + "tags": { + "http.status_code": "200" + }, + "timestamp": 1588601261.488901, + "parent_span_id": "b0e6f15b45c36b12", + "trace_id": "1e57b752bc6e4544bbaa246cd1d05dee", + "op": "http", + "data": { + "url": "http://localhost:8080/sockjs-node/info?t=1588601703755", + "status_code": 200, + "type": "xhr", + "method": "GET" + }, + "span_id": "b01b9f6349558cd1" + }, + { + "start_timestamp": 1588601261.535386, + "description": "Vue ", + "timestamp": 1588601261.544196, + "parent_span_id": "9312d0d18bf51736", + "trace_id": "1e57b752bc6e4544bbaa246cd1d05dee", + "op": "update", + "span_id": "b980d4dec78d7344" + } + ] +} +``` + +`measurements` + +_Optional_. An object containing standard/custom measurements with keys signifying the name of the measurement. + +- Standard measurement keys currently supported are from the following list taken from [here](https://github.com/getsentry/sentry/blob/a8c960a933d2ded5225841573d8fc426a482ca9c/static/app/utils/discover/fields.tsx#L654-L676). + +```json +[ + // Web + "fp", + "fcp", + "lcp", + "fid", + "cls", + "ttfb", + "ttfb.requesttime", + + // Mobile + "app_start_cold", + "app_start_warm", + "frames_total", + "frames_slow", + "frames_frozen", + + // React native + "frames_slow_rate", + "frames_frozen_rate", + "stall_count", + "stall_total_time", + "stall_longest_time", + "stall_percentage" +] +``` + +- For the well-known measurements listed above, Sentry automatically infers units. Custom measurements need units to be specified; if the units are missing, Relay will set them to `"none"` as a default. The full list of supported units is specified on [Relay's `MetricUnit`](https://getsentry.github.io/relay/relay_metrics/enum.MetricUnit.html). Sentry's event ingestion supports arbitrary custom units, but many SDKs will not expose a generic user-defined unit interface. + +```json +{ + "measurements": { + "lcp": { "value": 100 }, + "fp": { "value": 123 }, + "my.custom.metric": { "value": 456, "unit": "millisecond" } + } +} +``` ## Transaction Annotations -import "./properties/transaction_info.mdx"; +`transaction_info` + +_Recommended_. Additional information about the name of the transaction. + +```json +{ + "transaction_info": { + "source": "route" + } +} +``` + +`transaction_info.source` + +_Required_. This information is required by dynamic sampling. +Contains information about how the name of the transaction was determined. +This will be used by the server to decide whether or not to scrub identifiers +from the transaction name, or replace the entire name with a placeholder. The `source` should +only be set by integrations and not by developers directly. + +| Source | Description |
Examples
| +| ----------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | +| `custom` | User-defined name, see [`setTransactionName()`](https://docs.sentry.io/platforms/javascript/enriching-events/transaction-name/) | `my_transaction` | +| `url` | Raw URL, potentially containing identifiers. | `/auth/login/john123/`
`GET /auth/login/john123/` | +| `route` | Parametrized URL / route | `/auth/login/:userId/`
`GET /auth/login/{user}/` | +| `view` | Name of the view handling the request. | `UserListView` | +| `component` | Named after a software component, such as a function or class name. | `AuthLogin.login`
`LoginActivity.login_button` | +| `task` | Name of a background task (e.g. a Celery task) | `sentry.tasks.do_something` | +| `unknown` | _Value set by Relay for legacy SDKs. SDKs must not set this value explicitly._ | |