Skip to content

feat(names): Add span name rules for rpc spans - #714

Open
pabloDeputter wants to merge 5 commits into
mainfrom
pablo/aws-rpc-span-names
Open

pabloDeputter wants to merge 5 commits into
mainfrom
pablo/aws-rpc-span-names

Conversation

@pabloDeputter

@pabloDeputter pabloDeputter commented Oct 13, 2026 •

Copy link
Copy Markdown
Member

Description

Add span name rules for rpc spans; follows OTel semconv:

Added additional context to the rpc.service attribute as well since it's deprecated in OTel, but still set on AWS SDK spans.

@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 16, 2026 11:25am 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 rules for rpc spans by pabloDeputter in #714
  • Add queue.publish/create/receive/process/settle to messaging span names by pabloDeputter in #705

Other

  • (attributes) Add http.request.duration by loewenheim in #697
  • (ops) Add object.copy op by pabloDeputter in #706
  • Add view.render op by alexander-alderman-webb in #699

Bug Fixes 🐛

  • (attributes) Apply consistent scrubbing across deprecations by mjq in #692

Internal Changes 🔧

  • (repo) Update CODEOWNERS to include @giortzisg by Lms24 in #708
  • Add deprecated messaging ops set by the Python SDK by alexander-alderman-webb in #693
  • Add view.response.render op, deprecated in favor of view.render by alexander-alderman-webb in #700
  • Add event.django op, deprecated in favor of function by alexander-alderman-webb in #698

🤖 This preview updates automatically when you update the PR.

@pabloDeputter
pabloDeputter marked this pull request as ready for review October 14, 2026 08:11

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

Reviewed by Cursor Bugbot for commit 584e7a6. Configure here.

Comment thread model/name/rpc.json

@giortzisg giortzisg left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

As discussed in person, it might make sense to separate the generic RPC and AWS span names into two different templates. Without the additional context of this PR a person seeing the convention would think that {rpc.service}.{rpc.method} is the default one.

pabloDeputter added a commit to getsentry/sentry-python that referenced this pull request Oct 15, 2026
### Description
boto3 spans now use `sentry.op = rpc` instead of `http.client`. Service
extensions can (and will in the future) provide a more specific op with
`get_span_op()`, e.g. `db` for DynamoDB.

### Why
- boto3 span represents an AWS api call, not an HTTP request; the HTTP
request is already captured as the as the `http.client` child
- JS already also defaults AWS SDK spans to `rpc`

It also lets these spans use new name and description rules in
sentry-conventions, e.g. (getsentry/sentry-conventions#714, #717), e.g.
`Lambda.Invoke billing` instead of `POST https://lambda.…`
@pabloDeputter

Copy link
Copy Markdown
Member Author

As discussed in person, it might make sense to separate the generic RPC and AWS span names into two different templates. Without the additional context of this PR a person seeing the convention would think that {rpc.service}.{rpc.method} is the default one.

An op gets only a single list of templates, so for this to work we would need create an new op, e.g. rpc.aws. Which I think is not really justified and unnecessary. I've expanded the brief to say that the first template is meant for AWS SDK spans and also added some additional context to rpc.service that it's deprecated in OTel for generic RPC spans.

This branch was successfully deployed

1 active deployment
Preview — b4afebb5 Deployed Oct 16, 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.

3 participants