Repository navigation
feat(names): Add span name and description rules for object.* ops - #707
Conversation
The `object.*` ops have no name or description templates. Name them like AWS SDK calls: `{rpc.service}.{rpc.method}` (`S3.GetObject`).
(to be merged after #706)
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Semver Impact of This PR🟡 Minor (new features) 📋 Changelog PreviewThis is how your changes will appear in the changelog. New Features ✨
🤖 This preview updates automatically when you update the PR. |
|
I'm not sure whether it's needed to have |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 5488535. Configure here.
There was a problem hiding this comment.
Thanks for adding! The names/descriptions look fine to me. For JS, we need to adjust the span names accordingly in the next major. Until then we should be good. Opened getsentry/sentry-javascript#25568 to track.
…eration and resource (#717) ## Description Adds description templates so it follows the same format like the `object.*` descriptions in #707: `<Service>.<Operation> <resource>`. | op | before (name fallback) | after | | --- | --- | --- | | `rpc` | none (`Lambda.Invoke`) | `Lambda.Invoke billing`, `SecretsManager.GetSecretValue db-password`, `SQS.ChangeMessageVisibility orders`; `S3.ListBuckets` (operations with no resource) | | `db` (DynamoDB, no `db.query.text`) | none (`GetItem orders`) | `DynamoDB.GetItem orders`, `DynamoDB.Query orders.by-status`, `DynamoDB.BatchGetItem customers, orders`, `DynamoDB.ListTables` | | `queue.*` (SQS, SNS) | `orders` | `SQS.SendMessageBatch orders`, `SNS.Publish alerts` | Only AWS SDK spans have `rpc.service` and `rpc.method`, so other `rpc`, `db` and messaging spans are unaffected; `db` spans that contain the `db.query.text` attribute keep it as as their description.

Description
The
object.*ops have no name or description templates.Naming
rpc.serviceandrpc.methodare available:{rpc.service}.{rpc.method}where all whitespace is removed from{rpc.service}, e.g.S3.GetObject,APIGateway.CreateRoute.R2.{cloudflare.r2.operation}, e.g.R2.GetObject; javascript currently uses the following naming:r2_getforGetObject(https://github.com/getsentry/sentry-javascript/blob/ea7efab943bba096fe1237041a5293ef9aa4147e/packages/cloudflare/src/instrumentations/worker/instrumentR2.ts#L51).Descriptions
{rpc.service}.{rpc.method} {aws.s3.bucket}for S3;R2.{cloudflare.r2.operation} {cloudflare.r2.bucket} for R2.S3 will have name=
S3.GetObjectand description=S3.GetObject invoicesWhy
opis set toobject.*(as is done currently in Javascript for Cloudflare R2 and S3 in Python in the future) nospan.descriptionis currently generated:object.get - r2_getin the trace waterfall.(to be merged after #706)