Used as a generic attribute representing the action depending on the type of span. For instance, this is the database query operation for DB spans, and the request method for HTTP spans.
ExampleSELECT
Search AliasHow this attribute is exposed in Sentry search. Query it by this name instead of the attribute key.
{
"key": "sentry.action",
"brief": "Used as a generic attribute representing the action depending on the type of span. For instance, this is the database query operation for DB spans, and the request method for HTTP spans.",
"type": "string",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": "SELECT",
"search_alias": {
"name": "span.action"
},
"changelog": [
{
"version": "0.4.0",
"prs": [
212
]
}
]
}
The high-level category of a span, derived from the span operation or span attributes. This categorizes spans by their general purpose (e.g., database, HTTP, UI).
Exampledb
Well-defined Values
ai
ai.pipeline
app
browser
cache
console
db
event
file
function.aws
function.azure
function.gcp
function.nextjs
function.remix
graphql
grpc
http
measure
middleware
navigation
pageload
queue
resource
rpc
serialize
subprocess
template
topic
ui
ui.angular
ui.ember
ui.react
ui.svelte
ui.vue
view
websocket
Search AliasHow this attribute is exposed in Sentry search. Query it by this name instead of the attribute key.
Used as a generic attribute representing the domain depending on the type of span. For instance, this is the collection/table name for database spans, and the server address for HTTP spans.
Exampleexample.com
Search AliasHow this attribute is exposed in Sentry search. Query it by this name instead of the attribute key.
{
"key": "sentry.domain",
"brief": "Used as a generic attribute representing the domain depending on the type of span. For instance, this is the collection/table name for database spans, and the server address for HTTP spans.",
"type": "string",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": "example.com",
"search_alias": {
"name": "span.domain"
},
"changelog": [
{
"version": "0.4.0",
"prs": [
212
]
}
]
}
The ID of the project where the trace originated (i.e. the project of the SDK that started the trace). Propagated through the dynamic sampling context and set by Relay during ingestion.
Example12345
Changelog
v0.7.0#358Add sentry.dsc.project_id as an attribute
Raw JSON
{
"key": "sentry.dsc.project_id",
"brief": "The ID of the project where the trace originated (i.e. the project of the SDK that started the trace). Propagated through the dynamic sampling context and set by Relay during ingestion.",
"type": "string",
"apply_scrubbing": {
"key": "never"
},
"is_in_otel": false,
"visibility": "internal",
"example": "12345",
"changelog": [
{
"version": "0.7.0",
"prs": [
358
],
"description": "Add sentry.dsc.project_id as an attribute"
}
]
}
{
"key": "sentry.is_localhost",
"brief": "Indicates whether a telemetry item was sent on a host, device or browser on a localhost URL or IP address.",
"type": "boolean",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "internal",
"examples": [
true,
false
],
"additional_context": [
"This attribute is used for the Sentry \"Filter telemetry from localhost\" inbound filter feature.",
"SDKs must set this attribute on every span, as well as every other telemetry item supporting attribuztes."
],
"changelog": [
{
"version": "0.24.0",
"prs": [
646
],
"description": "Added sentry.is_localhost attribute"
}
]
}
{
"key": "sentry.link.type",
"brief": "Set on a span link. Describes the relationship between the span and the linked span.",
"type": "string",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"examples": [
"previous_trace",
"next_trace",
"cache_origin"
],
"search_alias": {
"name": "link.type"
},
"additional_context": [
"This attribute is exclusively set on span links.",
"Sentry instrumentation setting span links, sets it to describe the relationship between the span and the linked span.",
"For known values, see Examples. Add new values to Examples."
],
"changelog": [
{
"version": "next",
"description": "Added search alias link.type"
},
{
"version": "0.25.0",
"prs": [
656
],
"description": "Added sentry.link.type attribute"
}
]
}
Whether the span or event occurred on the main thread. Computed by Relay and should not be set by SDKs.
Exampletrue
Changelog
v0.5.0
Raw JSON
{
"key": "sentry.main_thread",
"brief": "Whether the span or event occurred on the main thread. Computed by Relay and should not be set by SDKs.",
"type": "boolean",
"apply_scrubbing": {
"key": "never"
},
"is_in_otel": false,
"visibility": "public",
"example": true,
"changelog": [
{
"version": "0.5.0"
}
]
}
A parameter used in the message template. <key> can either be the number that represent the parameter's position in the template string (sentry.message.parameter.0, sentry.message.parameter.1, etc) or the parameter's name (sentry.message.parameter.item_id, sentry.message.parameter.user_id, etc)
{
"key": "sentry.message.parameter.<key>",
"brief": "A parameter used in the message template. <key> can either be the number that represent the parameter's position in the template string (sentry.message.parameter.0, sentry.message.parameter.1, etc) or the parameter's name (sentry.message.parameter.item_id, sentry.message.parameter.user_id, etc)",
"type": "string",
"apply_scrubbing": {
"key": "auto"
},
"is_in_otel": false,
"visibility": "public",
"example": "sentry.message.parameter.0='123'",
"changelog": [
{
"version": "0.1.0",
"prs": [
116
]
}
]
}
{
"key": "sentry.metric.source",
"brief": "The provenance of a metric. For example, this can be set to indicate if a metric was generated by Relay from a span.",
"type": "string",
"apply_scrubbing": {
"key": "never"
},
"is_in_otel": false,
"visibility": "public",
"example": "span",
"changelog": [
{
"version": "0.16.0",
"prs": [
476
],
"description": "Added sentry.metric.source attribute"
}
]
}
Whether the application is using a mobile SDK. Computed by Relay and should not be set by SDKs.
Exampletrue
Changelog
v0.5.0
Raw JSON
{
"key": "sentry.mobile",
"brief": "Whether the application is using a mobile SDK. Computed by Relay and should not be set by SDKs.",
"type": "boolean",
"apply_scrubbing": {
"key": "never"
},
"is_in_otel": false,
"visibility": "public",
"example": true,
"changelog": [
{
"version": "0.5.0"
}
]
}
{
"key": "sentry.module.<key>",
"brief": "A module that was loaded in the process. The key is the name of the module.",
"has_dynamic_suffix": true,
"type": "string",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": "sentry.module.brianium/paratest='v7.7.0'",
"changelog": [
{
"version": "0.1.0",
"prs": [
103
]
}
]
}
A parameterized route for a function in Next.js that contributes to Server-Side Rendering. Should be present on spans that track such functions when the file location of the function is known.
{
"key": "sentry.nextjs.ssr.function.route",
"brief": "A parameterized route for a function in Next.js that contributes to Server-Side Rendering. Should be present on spans that track such functions when the file location of the function is known.",
"type": "string",
"apply_scrubbing": {
"key": "never"
},
"is_in_otel": false,
"visibility": "public",
"example": "/posts/[id]/layout",
"changelog": [
{
"version": "0.1.0",
"prs": [
54,
106
]
}
]
}
{
"key": "sentry.nextjs.ssr.function.type",
"brief": "A descriptor for a for a function in Next.js that contributes to Server-Side Rendering. Should be present on spans that track such functions.",
"type": "string",
"apply_scrubbing": {
"key": "never"
},
"is_in_otel": false,
"visibility": "public",
"example": "generateMetadata",
"changelog": [
{
"version": "0.1.0",
"prs": [
54,
106
]
}
]
}
Used as a generic attribute representing the normalized sentry.description. This refers to the legacy use case of sentry.description where it holds relevant data depending on the type of span (e.g. database query, resource url, http request description, etc).
ExampleSELECT .. FROM sentry_project WHERE (project_id = %s)
{
"key": "sentry.normalized_description",
"brief": "Used as a generic attribute representing the normalized `sentry.description`. This refers to the legacy use case of `sentry.description` where it holds relevant data depending on the type of span (e.g. database query, resource url, http request description, etc).",
"type": "string",
"apply_scrubbing": {
"key": "auto"
},
"is_in_otel": false,
"visibility": "public",
"example": "SELECT .. FROM sentry_project WHERE (project_id = %s)",
"changelog": [
{
"version": "0.4.0",
"prs": [
212
]
}
]
}
A list of names identifying enabled integrations. The list shouldhave all enabled integrations, including default integrations. Defaultintegrations are included because different SDK releases may contain differentdefault integrations.
The source of the segment span name. Should only be set on segment spans.
Examplesroutecomponentviewtaskcustomurl
Well-defined Values
customDescribes a name set by the user, not derived from the URL or a route pattern
urlDescribes the full URL, potentially containing identifiers
routeDescribes a parametrized route
component
view
task
Additional Context
This attribute is the replacement for transaction_info.source on transactions.
Should we bring back clustering for segment names (like we do for transaction names), this attribute will be used to determine if a segment name should be clustered.
{
"key": "sentry.segment.name.source",
"brief": "The source of the segment span name. Should only be set on segment spans.",
"type": "string",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "internal",
"examples": [
"route",
"component",
"view",
"task",
"custom",
"url"
],
"enum_values": [
{
"value": "custom",
"brief": "Describes a name set by the user, not derived from the URL or a route pattern"
},
{
"value": "url",
"brief": "Describes the full URL, potentially containing identifiers"
},
{
"value": "route",
"brief": "Describes a parametrized route"
},
{
"value": "component"
},
{
"value": "view"
},
{
"value": "task"
}
],
"additional_context": [
"This attribute is the replacement for `transaction_info.source` on transactions.",
"Should we bring back clustering for segment names (like we do for transaction names), this attribute will be used to determine if a segment name should be clustered."
],
"changelog": [
{
"version": "0.19.0",
"prs": [
466
],
"description": "Added sentry.segment.name.source"
}
]
}
{
"key": "sentry.status",
"brief": "The span's status (either \"ok\" or \"error\"). Older SDKs may set this to a more specific error, but this behaviour is deprecated.",
"type": "string",
"apply_scrubbing": {
"key": "never"
},
"is_in_otel": false,
"visibility": "public",
"example": "ok",
"search_alias": {
"name": "span.status"
},
"changelog": [
{
"version": "0.14.0",
"prs": [
453
]
}
]
}
{
"key": "sentry.status_code",
"brief": "The HTTP status code used in Sentry Insights. Typically set by Sentry during ingestion, rather than by clients.",
"type": "integer",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": 200,
"search_alias": {
"name": "span.status_code"
},
"changelog": [
{
"version": "0.4.0",
"prs": [
223,
228
]
}
]
}
A sequencing counter for deterministic ordering of logs or metrics when timestamps share the same integer millisecond. Starts at 0 on SDK initialization, increments by 1 for each captured item, and resets to 0 when the integer millisecond of the current item differs from the previous one.
{
"key": "sentry.timestamp.sequence",
"brief": "A sequencing counter for deterministic ordering of logs or metrics when timestamps share the same integer millisecond. Starts at 0 on SDK initialization, increments by 1 for each captured item, and resets to 0 when the integer millisecond of the current item differs from the previous one.",
"type": "integer",
"apply_scrubbing": {
"key": "never"
},
"is_in_otel": false,
"visibility": "public",
"example": 0,
"changelog": [
{
"version": "0.5.0",
"prs": [
262
]
}
]
}
{
"key": "sentry.trace.status",
"brief": "The segment's status (either \"ok\" or \"error\"). Older SDKs may set this to a more specific error, but this behaviour is deprecated.",
"type": "string",
"apply_scrubbing": {
"key": "never"
},
"is_in_otel": false,
"visibility": "public",
"example": "ok",
"search_alias": {
"name": "trace.status"
},
"changelog": [
{
"version": "0.14.0",
"prs": [
453
]
}
]
}
Deprecated Attributes
These attributes are deprecated and should not be used in new code. See each attribute for migration guidance.
(Deprecated) The event that caused the SDK to report CLS or LCP (pagehide or navigation)
Examplepagehide
No replacement available at this time.
The report event moved to browser.web_vital.lcp.report_event and browser.web_vital.cls.report_event, which are themselves deprecated without a replacement. No backfill required.
Changelog
v0.24.0#642Updated the deprecation reason now that the browser.web_vital.*.report_event attributes are deprecated
{
"key": "sentry.report_event",
"brief": "(Deprecated) The event that caused the SDK to report CLS or LCP (pagehide or navigation)",
"type": "string",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": "pagehide",
"deprecation": {
"reason": "The report event moved to browser.web_vital.lcp.report_event and browser.web_vital.cls.report_event, which are themselves deprecated without a replacement. No backfill required.",
"_status": null
},
"changelog": [
{
"version": "0.24.0",
"prs": [
642
],
"description": "Updated the deprecation reason now that the browser.web_vital.*.report_event attributes are deprecated"
},
{
"version": "0.5.0",
"prs": [
320
],
"description": "Added sentry.report_event attribute"
}
]
}
{
"key": "sentry.trace.parent_span_id",
"brief": "The span id of the span that was active when the log was collected. This should not be set if there was no active span.",
"type": "string",
"apply_scrubbing": {
"key": "never"
},
"is_in_otel": false,
"visibility": "public",
"example": "b0e6f15b45c36b12",
"deprecation": {
"_status": null
},
"changelog": [
{
"version": "0.5.0",
"prs": [
287
],
"description": "Deprecate `sentry.trace.parent_span_id`"
},
{
"version": "0.1.0",
"prs": [
116
]
}
]
}