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 .
Note Span operations should use snake_case
List of OperationsThe 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 set by Relay.
GeneralCategory Usage Description mark A general point-in-time span (span with 0 duration) function The time it took for a general function to execute
BrowserCategory Usage Description pageload A full page load of a web application. navigation Client-side browser history change in a web application. resource Resource as per Performance Resource Timing . Defaults to resource.other
if resource cannot be indentified. resource.script resource.link resource.css resource.img browser Usage of browser APIs or functionality browser.paint measure Usage of performance.measure() API 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 Time it takes to render a UI element ui.update Time it takes to update a UI element ui.action A user interaction ui.action.click http http.client http.graphql.query http.graphql.mutation http.graphql.subscription serialize Serialization of data
JS FrameworksJS Frameworks should be prepended with the ui
category for operations related to UI components.
Category Usage Description ui.react Spans related to React components ui.react.render ui.react.update ui.react.mount ui.vue Spans related to Vue.js components ui.vue.activate ui.vue.create ui.vue.destroy ui.vue.mount ui.vue.update ui.svelte Spans related to Svelte components ui.svelte.init ui.svelte.update ui.angular Spans related to Angular components ui.ember Spans related to EmberJS components ui.ember.route.before_model ui.ember.route.model ui.ember.route.after_model ui.ember.route.setup_controller
Web ServerWeb server related spans should aim to follow OpenTelemetry's HTTP and RPC semantic conventions when possible.
Category Usage Description http Spans related to http operations http.client http.server websocket websocket.server rpc Spans related to remote procedure calls (RPC) grpc Usage of the gRPC framework graphql a GraphQL operation graphql.execute graphql.resolve graphql.request graphql.query graphql.mutation graphql.subscription subprocess subprocess.wait subprocess.communicate middleware Usage of webserver middleware middleware.express middleware.express middleware.starlette middleware.django view Rendering of a view view.django view.process_action.action_controller view.render template template.init template.parse template.render template.django.render template.render_template.action_view serialize Serialization of data console Accessing web servers through the command line (ex. Rails console) console.command file Operations on the file system (internal or external)
Web FrameworksCategory Usage Description function function.remix Spans related to Remix data fetchers function.remix.document_request function.remix.action function.remix.loader function.nextjs Spans related to NextJS data fetchers function.nextjs
DatabaseDatabased related spans are expected to follow OpenTelemetry's Database semantic conventions when possible.
Category Usage Description db An operation on a database db.query db.sql.query db.sql.prisma db.redis db.sql.active_record db.sql.execute cache cache.get_item cache.clear cache.delete_item cache.save
Serverless (FAAS)Serverless related spans are expected to follow OpenTelemetry's Function as a Service (FaaS) semantic conventions when possible.
Category Usage Description http http.client http.client.stream grpc grpc.client function.gcp Invocations of a GCP function function.gcp.event function.gcp.cloud_event function.gcp.http function.aws Invocations of an AWS serverless function function.aws.lambda function.azure Invocations of an Azure serverless function
MobileCategory Usage Description app Data about the mobile app app.start app.start.warm app.start.cold ui An operation on a mobile UI ui.load ui.action ui.action.click ui.action.swipe ui.action.scroll navigation Navigating to another screen file Operations on the file system file.read file.write serialize Serialization of data http http.client http.graphql.query http.graphql.mutation http.graphql.subscription
DesktopCategory Usage Description app Data about the desktop app app.start app.start.warm app.start.cold ui An operation on a desktop UI ui.load ui.action ui.action.click ui.action.swipe ui.action.scroll serialize Serialization of data http http.client http.graphql.query http.graphql.mutation http.graphql.subscription
Messages/QueuesMessages/Queue spans are expected follow OpenTelemetry's Messaging semantic conventions when possible.
Category Usage Description topic topic.send topic.recieve topic.process queue queue.task queue.task.celery queue.task.rq queue.task.delayed_job queue.task.active_job queue.submit queue.submit.celery queue.resque queue.sidekiq
Currently Used CategoriesCategory Description mark pageload navigation resource browser measure ui app http websocket rpc grpc graphql subprocess middleware view template serialize console db file function topic queue