Skip to content

Merge rpc.method and rpc.service into fully-qualified rpc.method, clarify span name and possible high cardinality #3223

Merged
lmolkova merged 10 commits intoopen-telemetry:mainfrom
lmolkova:rpc-method-service
Jan 7, 2026
Merged

Merge rpc.method and rpc.service into fully-qualified rpc.method, clarify span name and possible high cardinality #3223
lmolkova merged 10 commits intoopen-telemetry:mainfrom
lmolkova:rpc-method-service

Conversation

@lmolkova
Copy link
Member

@lmolkova lmolkova commented Dec 16, 2025

Fixes #3196, fixes #2863

  • Deprecate rpc.method and rpc.service in favor of new rpc.method.name
  • Add note on restricting that new attribute to recognized methods (similarly to http.request.method)
  • Introduce rpc.method.name_original similarly to http.request.method_original
  • Update span name section to use new attribute

@lmolkova lmolkova changed the title Merge rpc.method and rpc.service into fully-qualified rpc.method.name attribute, clarify possible high cardinality o Merge rpc.method and rpc.service into fully-qualified rpc.method.name, clarify span name and possible high cardinality Dec 16, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request refactors RPC semantic conventions by merging the previously separate rpc.method and rpc.service attributes into a single fully-qualified rpc.method.name attribute (e.g., com.example.ExampleService/exampleMethod). This change addresses issues #2863 and #3196 by simplifying the attribute model while providing clear guidance on handling potentially unbounded cardinality through a standardized _OTHER mechanism similar to HTTP conventions.

Key Changes

  • Attribute consolidation: Merged rpc.method and rpc.service into rpc.method.name containing the fully-qualified method name
  • Cardinality control: Introduced rpc.method.name_original and _OTHER sentinel value to handle unrecognized methods that could cause cardinality explosions
  • Updated span naming: Clarified that span names should use {rpc.method.name} when available and not _OTHER, otherwise fall back to {rpc.system.name}

Reviewed changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
model/rpc/registry.yaml Defined new rpc.method.name and rpc.method.name_original attributes with detailed cardinality guidance
model/rpc/deprecated/registry-deprecated.yaml Deprecated rpc.method and rpc.service with migration guidance
model/rpc/spans.yaml Updated all RPC span definitions to use new attributes; removed obsolete rpc_service.server group
model/rpc/metrics.yaml Updated RPC metrics to reference rpc.method.name instead of deprecated attributes
model/rpc/common.yaml Updated common RPC attributes to reference new attribute names
docs/rpc/rpc-spans.md Rewrote span naming section and updated all attribute tables with new attributes and cardinality notes
docs/rpc/rpc-metrics.md Updated all metric attribute tables to use rpc.method.name
docs/rpc/grpc.md Updated gRPC-specific conventions with new attributes and detailed cardinality guidance
docs/rpc/connect-rpc.md Updated Connect RPC conventions with new attributes
docs/rpc/json-rpc.md Updated JSON-RPC conventions with specific opt-in guidance due to protocol's unbounded method names
docs/registry/attributes/rpc.md Updated attribute registry documentation with new definitions and deprecated old attributes
docs/object-stores/s3.md Marked deprecated rpc.method and rpc.service attributes
docs/db/dynamodb.md Marked deprecated rpc.method and rpc.service attributes in all DynamoDB operation tables
docs/cloud-providers/aws-sdk.md Marked deprecated rpc.method and rpc.service attributes
.chloggen/rpc-method-service.yaml Added changelog entry documenting the breaking change

lmolkova and others added 2 commits December 29, 2025 12:18
Co-authored-by: Matthew Hensley <130569+matt-hensley@users.noreply.github.com>
@trask trask changed the title Merge rpc.method and rpc.service into fully-qualified rpc.method.name, clarify span name and possible high cardinality Merge rpc.method and rpc.service into fully-qualified rpc.method, clarify span name and possible high cardinality Jan 7, 2026
@github-project-automation github-project-automation bot moved this from Awaiting codeowners approval to Needs More Approval in Semantic Conventions Triage Jan 7, 2026
@lmolkova lmolkova added this pull request to the merge queue Jan 7, 2026
Merged via the queue into open-telemetry:main with commit 1158a20 Jan 7, 2026
21 checks passed
@github-project-automation github-project-automation bot moved this from In Progress to Done in RPC Semantic Conventions Stability Jan 7, 2026
@lmolkova lmolkova deleted the rpc-method-service branch January 7, 2026 23:49
Cirilla-zmh pushed a commit to Cirilla-zmh/semantic-conventions that referenced this pull request Feb 3, 2026
…`, clarify span name and possible high cardinality (open-telemetry#3223)

Co-authored-by: Matthew Hensley <130569+matt-hensley@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

RPC: should we merge rpc.service and rpc.method into one fully qualified rpc.method.name Update rpc span name guidance

5 participants