Span Operations

Span operations are a short code identifying the type of operation the span is measuring. Span operations are low cardinality attributes - they should be as general as possible while still being human readable and useful. They should avoid including high cardinality data like IDs and URLs.

Operations are expected to follow OpenTelemetry's semantic conventions as much as possible.

It's important to keep categories consistent between SDKs and integrations as they are used by Sentry in the Operations Breakdown feature. For example, both db.init and db.query will be categorized as database operations (db). The default operations breakdown config can be seen here.

List of Operations

The following tables contain examples of operations used by the SDKs and Sentry product. The usage column in the table contains examples of using that operation category, but are not hard recommendations for operation usage. As long as categories stay consistent, SDK developers are free to choose actions and identifiers that best match the use case they are instrumenting.

If a span operation is not provided, the value of default is used.

Browser

CategoryUsageDescription
pageloadA full page load of a web application
navigationClient-side browser history change in a web application
resourceResource as per Performance Resource Timing
resource.script
resource.link
resource.css
resource.img
browserUsage of browser APIs or functionality
browser.paint
markUsage of performance.mark() API
measureUsage of performance.measure() API
ui
ui.animationAn animation
ui.renderTime it takes to render a UI element
ui.updateTime it takes to update a UI element

JS Frameworks

JS Frameworks should be prepended with the ui category for operations related to UI components.

CategoryUsageDescription
ui.reactSpans related to React components
ui.react.mount
ui.react.render
ui.vueSpans related to Vue.js components
ui.vue.mount
ui.vue.update
ui.angularSpans related to Angular components
ui.emberSpans related to EmberJS components

Web Server

Web server related spans should aim to follow OpenTelemetry's HTTP and RPC semantic conventions when possible.

CategoryUsageDescription
httpSpans related to http operations
http.client
http.server
rpcSpans related to remote procedure calls (RPC)
grpcUsage of the gRPC framework
template
template.init
template.parse
template.render
renderRendering of a view
serializeSerialization of data
consoleAccessing web servers through the command line (ex. Rails console)

Web Frameworks

CategoryUsageDescription
django
django.middleware
django.view
express
rails
rack

Database

Databased related spans are expected to follow OpenTelemetry's Database semantic conventions when possible.

CategoryUsageDescription
dbAn operation on a database
db.connection
db.transaction
db.sql.query
db.query
db.query.compile

Serverless (FAAS)

Serverless related spans are expected to follow OpenTelemetry's FaaS semantic conventions when possible.

CategoryUsageDescription
faasInvocations of a serverless function
faas.aws
faas.aws.lambda
faas.aws.request
faas.gcp

Mobile

CategoryUsageDescription
appData about the mobile app
app.start
app.start.warm
app.start.cold
uiAn operation on a mobile/desktop UI
ui.load
ui.action
ui.action.click
ui.action.swipe
ui.action.scroll
navigationNavigating to another screen
fileOperations on the file system
file.read
file.write

Messages/Queues

Messages/Queue spans are expected follow OpenTelemetry's Messaging semantic conventions when possible.

CategoryUsageDescription
topic
topic.send
topic.recieve
topic.process
queue
queue.process
job
job.exec
celery
You can edit this page on GitHub.