diff --git a/javascript/sentry-conventions/src/attributes.ts b/javascript/sentry-conventions/src/attributes.ts index 644461a67..f9b95242a 100644 --- a/javascript/sentry-conventions/src/attributes.ts +++ b/javascript/sentry-conventions/src/attributes.ts @@ -33840,7 +33840,15 @@ export const ATTRIBUTE_METADATA: Record = { isInOtel: true, visibility: 'public', example: 'myService.BestService', - changelog: [{ version: '0.1.0', prs: [127] }, { version: '0.0.0' }], + changelog: [ + { version: 'next', prs: [714], description: 'Added additional context about the OpenTelemetry deprecation' }, + { version: '0.1.0', prs: [127] }, + { version: '0.0.0' }, + ], + additionalContext: [ + 'Deprecated in OpenTelemetry for generic RPC spans. The value should be included in `rpc.method`, which is expected to be the fully-qualified name.', + 'Still set on AWS SDK spans, where it holds the AWS service (e.g. `S3`) and `rpc.method` is set to the operation (e.g. `GetObject`).', + ], }, 'rpc.system': { brief: 'A string identifying the remoting system.', diff --git a/model/attributes/rpc/rpc__service.json b/model/attributes/rpc/rpc__service.json index 5fa34caf5..7441d66de 100644 --- a/model/attributes/rpc/rpc__service.json +++ b/model/attributes/rpc/rpc__service.json @@ -5,10 +5,19 @@ "apply_scrubbing": { "key": "manual" }, + "additional_context": [ + "Deprecated in OpenTelemetry for generic RPC spans. The value should be included in `rpc.method`, which is expected to be the fully-qualified name.", + "Still set on AWS SDK spans, where it holds the AWS service (e.g. `S3`) and `rpc.method` is set to the operation (e.g. `GetObject`)." + ], "is_in_otel": true, "example": "myService.BestService", "visibility": "public", "changelog": [ + { + "version": "next", + "prs": [714], + "description": "Added additional context about the OpenTelemetry deprecation" + }, { "version": "0.1.0", "prs": [127] diff --git a/model/name/rpc.json b/model/name/rpc.json new file mode 100644 index 000000000..7c4b35091 --- /dev/null +++ b/model/name/rpc.json @@ -0,0 +1,14 @@ +{ + "brief": "RPC", + "operations": [ + { + "name": "RPC call", + "brief": "A remote procedure call, such as an AWS SDK call or a gRPC call. The first template only applies to AWS SDK calls: `rpc.service` is deprecated for other RPC systems following OpenTelemetry, so they fallback to `{rpc.method}`.", + "is_in_otel": true, + "otel_notes": "OpenTelemetry names RPC spans `{rpc.method}`, falling back to `{rpc.system.name}` if `rpc.method` is unavailable or set to `_OTHER`. AWS SDK spans are named `{rpc.service}.{rpc.method}`, which the first template matches.", + "ops": ["rpc"], + "templates": ["{{rpc.service}}.{{rpc.method}}", "{{rpc.method}}", "{{rpc.system.name}}", "RPC call"], + "examples": ["S3.ListBuckets", "Lambda.Invoke", "com.example.ExampleService/exampleMethod", "grpc", "RPC call"] + } + ] +} diff --git a/python/src/sentry_conventions/attributes.py b/python/src/sentry_conventions/attributes.py index 6b1f9e863..796609abd 100644 --- a/python/src/sentry_conventions/attributes.py +++ b/python/src/sentry_conventions/attributes.py @@ -25507,9 +25507,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): visibility=Visibility.PUBLIC, example="myService.BestService", changelog=[ + ChangelogEntry( + version="next", + prs=[714], + description="Added additional context about the OpenTelemetry deprecation", + ), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], + additional_context=[ + "Deprecated in OpenTelemetry for generic RPC spans. The value should be included in `rpc.method`, which is expected to be the fully-qualified name.", + "Still set on AWS SDK spans, where it holds the AWS service (e.g. `S3`) and `rpc.method` is set to the operation (e.g. `GetObject`).", + ], ), "rpc.system": AttributeMetadata( brief="A string identifying the remoting system.",