Span Operation Documentation
This page lists known span operations. The operation is a low-cardinality string that describes the category of work a span represents, and is stored in the sentry.op attribute.
Choosing an Operation
Operations are grouped by category (for example database or browser). Within a category, more specific operations use a dotted hierarchy such asui.react.render, where each segment narrows down the kind of work being measured.
Use the most specific operation that accurately describes the span. When no specific operation fits, fall back to the closest broader operation in the same category.
Example
A span measuring a database query sets:
sentry.op = "db.query"
general
3 operations| Operation | Description |
|---|---|
mark | A general point-in-time span indicating an event |
function | The time it took for a set of instructions to execute |
measure | A user-defined measurement of the duration between two points in time |
browser
55 operations| Operation | Description |
|---|---|
pageload | A full page load of a web application. |
navigation | Client-side browser history change in a web application. |
navigation.redirect | A client-side automatic redirect navigation (e.g. from framework router redirects) triggerign a browser history change. |
resource | Resource as per Performance Resource Timing. Defaults to resource.other if resource cannot be indentified. |
resource.script | — |
resource.link | — |
resource.img | — |
resource.css | — |
resource.audio | — |
resource.video | — |
resource.iframe | — |
resource.other | — |
resource.worker | Loading of a resource initiated by a worker (e.g. Web Worker or Service Worker). |
resource.icon | Loading of an icon resource. |
resource.frame | Loading of a resource initiated by a frame. |
resource.object | Loading of a resource initiated by an `<object>` element. |
resource.ping | A hyperlink auditing ping request. |
resource.track | Loading of a `<track>` element resource (e.g. subtitles or captions). |
browser | Usage of browser APIs or functionality |
browser.paint | — |
browser.unload_event | The unload event phase of a browser navigation. |
browser.redirect | The redirect phase of a browser navigation. |
browser.dom_content_loaded_event | The DOMContentLoaded event phase of a browser navigation. |
browser.load_event | The load event phase of a browser navigation. |
browser.connect | The connection phase of a browser navigation. |
browser.tls_ssl | The secure connection (TLS/SSL) phase of a browser navigation. |
browser.cache | The cache lookup / fetch start phase of a browser navigation. |
browser.dns | The DNS domain lookup phase of a browser navigation. |
browser.request | The request phase of a browser navigation. |
browser.response | The response phase of a browser navigation. |
ui | Operations related to browser UI |
ui.task | A task that is taken on the main UI thread. Typically used to indicate to users about things like the Long Tasks API. |
ui.render | — |
ui.mount | Mounting of a UI component or application (e.g. initial render/bootstrap). |
ui.update | Updating of an already-mounted UI component. |
ui.unmount | Unmounting/teardown of a UI component. |
ui.long_task | A long task on the main UI thread, as reported by the Long Tasks API. |
ui.long_animation_frame | A long animation frame, as reported by the Long Animation Frames API. |
ui.interaction.click | A click interaction measured via Interaction to Next Paint (INP). |
ui.interaction.hover | A hover interaction measured via Interaction to Next Paint (INP). |
ui.interaction.drag | A drag interaction measured via Interaction to Next Paint (INP). |
ui.interaction.press | A key press interaction measured via Interaction to Next Paint (INP). |
ui.webvital.lcp | A Largest Contentful Paint (LCP) web vital measurement. |
ui.webvital.cls | A Cumulative Layout Shift (CLS) web vital measurement. |
ui.action | — |
ui.action.click | — |
ui.react | — |
ui.react.mount | — |
ui.react.render | — |
ui.react.update | — |
ui.vue | — |
ui.svelte | — |
ui.angular | — |
ui.ember | — |
ui.livewire | — |
database
6 operationsDatabase related spans are expected to follow OpenTelemetry's Database semantic conventions when possible.
| Operation | Description |
|---|---|
db | — |
db.query | — |
cache | — |
cache.get | — |
cache.put | — |
cache.remove | — |
faas
5 operationsServerless (FAAS)
| Operation | Description |
|---|---|
http | — |
grpc | — |
function.gcp | — |
function.aws | — |
function.azure | — |
gen_ai
7 operationsOperations related to Generative AI interactions
| Operation | Description |
|---|---|
gen_ai.chat | A chat interaction with a generative AI model |
gen_ai.execute_tool | Execution of a tool or function by a generative AI model |
gen_ai.handoff | Handoff of control between different AI agents or components |
gen_ai.invoke_agent | Invocation of an AI agent to perform a task |
gen_ai.embeddings | Generation of embeddings by a generative AI model |
gen_ai.generate_content | Content generation by a generative AI model |
gen_ai.rerank | Reranking of documents or results by a generative AI model |
messaging
14 operationsMessaging related spans represent operations on topics in streaming data systems and queues, such as producing and consuming messages in Kafka, RabbitMQ.
| Operation | Description |
|---|---|
queue | A general queue operation. |
queue.publish | Publishing a message to a queue. |
queue.create | Creating a queue or a message for later publishing. |
queue.receive | Receiving a message from a queue. |
queue.process | Processing a message from a queue. |
queue.settle | Settling a message, e.g. acknowledging or rejecting it. |
queue.submit.arq | Publishing a message to an arq queue. |
queue.task.arq | Processing a message from an arq queue. |
queue.submit.celery | Publishing a message to a Celery broker. |
queue.task.celery | Processing a message from a Celery queue. |
queue.task.dramatiq | Processing a message from a Dramatiq queue. |
queue.submit.huey | Publishing a message to a Huey instance. |
queue.task.huey | Processing a message from a Huey instance. |
queue.task.rq | Processing a message from an RQ queue. |
mobile
6 operations| Operation | Description |
|---|---|
app | — |
ui | — |
navigation | — |
file | — |
serialize | — |
http | — |
object
9 operationsObject storage related spans represent operations on object storage systems such as Cloudflare R2, Amazon S3, and compatible services.
| Operation | Description |
|---|---|
object.get | Retrieving an object from an object store. |
object.head | Retrieving the metadata of an object from an object store. |
object.put | Storing an object in an object store. |
object.delete | Deleting an object from an object store. |
object.list | Listing objects in an object store. |
object.upload_part | Uploading a single part of a multipart upload to an object store. |
object.multipart_upload.abort | Aborting a multipart upload to an object store. |
object.multipart_upload.create | Creating a multipart upload to an object store. |
object.multipart_upload.complete | Completing a multipart upload to an object store. |
routing
1 operationsRouting related spans represent work performed by frontend and backend application routers.
| Operation | Description |
|---|---|
router | A framework-neutral operation for work performed by an application router. |
web_server
19 operations| Operation | Description |
|---|---|
http | A general point-in-time span indicating an event |
http.client | — |
http.client.stream | Consumption of a streaming HTTP client response body |
http.server | — |
websocket | — |
rpc | — |
grpc | — |
graphql | — |
subprocess | — |
middleware | — |
view | — |
template | — |
function | — |
function.remix | — |
function.nextjs | — |
serialize | — |
console | — |
file | — |
app | — |