Skip to content

feat(names): Add span name and description rules for object.* ops - #707

Merged
pabloDeputter merged 4 commits into
mainfrom
pablo/object-span-names
Oct 23, 2026
Merged

pabloDeputter merged 4 commits into
mainfrom
pablo/object-span-names

Conversation

@pabloDeputter

Copy link
Copy Markdown
Member

Description

The object.* ops have no name or description templates.

Naming

Descriptions

  • use the bucket attribute: {rpc.service}.{rpc.method} {aws.s3.bucket} for S3; R2.{cloudflare.r2.operation} {cloudflare.r2.bucket} for R2.

S3 will have name=S3.GetObject and description=S3.GetObject invoices

Why

  • if op is set to object.* (as is done currently in Javascript for Cloudflare R2 and S3 in Python in the future) no span.description is currently generated:
    • for r2 this gives object.get - r2_get in the trace waterfall.

(to be merged after #706)

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)
@vercel

vercel Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
sentry-conventions Ready Ready Preview Oct 23, 2026 10:52am UTC

Request Review

@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Semver Impact of This PR

🟡 Minor (new features)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


New Features ✨

  • (names) Add span name and description rules for object.* ops by pabloDeputter in #707

🤖 This preview updates automatically when you update the PR.

@pabloDeputter

Copy link
Copy Markdown
Member Author

I'm not sure whether it's needed to have S3/R2.GetObject be part of the description as well, but otherwise you would have op=object.get; description=invoices and no indication on what object storage was used in the trace waterfall.

@pabloDeputter
pabloDeputter marked this pull request as ready for review October 13, 2026 12:28

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ 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.

Comment thread model/name/object.json

@Lms24 Lms24 left a comment •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@pabloDeputter
pabloDeputter merged commit 4f764fb into main Oct 23, 2026
18 checks passed
@pabloDeputter
pabloDeputter deleted the pablo/object-span-names branch October 23, 2026 10:57
pabloDeputter added a commit that referenced this pull request Oct 23, 2026
…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.

This branch was successfully deployed

1 active deployment
Preview — ecafb050 Deployed Oct 23, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants