Rpc Attributes

6 attributes in this category.4 stable·2 deprecated

6 attributes

Stable Attributes

rpc.method

stringScrub: ManualVisibility: PublicOTel: True

The fully-qualified logical name of the method from the RPC interface perspective.

Examplescom.example.ExampleService/exampleMethodGetObject
Additional Context
  • For AWS SDK calls, this is the operation name only, as the SDK reports it, e.g. GetObject.
Changelog
v0.29.0#707Added AWS SDK example and additional context
v0.19.0#536Added aws.operation_name as an alias
v0.7.0#351Added rpc.method attribute
Raw JSON
{
  "key": "rpc.method",
  "brief": "The fully-qualified logical name of the method from the RPC interface perspective.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "examples": [
    "com.example.ExampleService/exampleMethod",
    "GetObject"
  ],
  "alias": [
    "aws.operation_name"
  ],
  "additional_context": [
    "For AWS SDK calls, this is the operation name only, as the SDK reports it, e.g. `GetObject`."
  ],
  "changelog": [
    {
      "version": "0.29.0",
      "prs": [
        707
      ],
      "description": "Added AWS SDK example and additional context"
    },
    {
      "version": "0.19.0",
      "prs": [
        536
      ],
      "description": "Added aws.operation_name as an alias"
    },
    {
      "version": "0.7.0",
      "prs": [
        351
      ],
      "description": "Added rpc.method attribute"
    }
  ]
}

rpc.response.status_code

stringScrub: ManualVisibility: PublicOTel: True

Status code of the RPC returned by the RPC server or generated by the client.

ExampleDEADLINE_EXCEEDED
Changelog
v0.19.0#494#533Added code and rpc.grpc.status_code as aliases
v0.7.0#352Added rpc.response.status_code attribute
Raw JSON
{
  "key": "rpc.response.status_code",
  "brief": "Status code of the RPC returned by the RPC server or generated by the client.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "DEADLINE_EXCEEDED",
  "alias": [
    "code",
    "rpc.grpc.status_code"
  ],
  "changelog": [
    {
      "version": "0.19.0",
      "prs": [
        494,
        533
      ],
      "description": "Added code and rpc.grpc.status_code as aliases"
    },
    {
      "version": "0.7.0",
      "prs": [
        352
      ],
      "description": "Added rpc.response.status_code attribute"
    }
  ]
}

rpc.service

stringScrub: ManualVisibility: PublicOTel: True

The full (logical) name of the service being called, including its package name, if applicable.

ExamplesmyService.BestServiceS3APIGateway
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 ID with all whitespace removed (e.g. S3, APIGateway for API Gateway) and rpc.method is set to the operation (e.g. GetObject).
Changelog
v0.29.0#707Added AWS SDK examples
v0.28.0#714Added additional context about the OpenTelemetry deprecation
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "rpc.service",
  "brief": "The full (logical) name of the service being called, including its package name, if applicable.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "examples": [
    "myService.BestService",
    "S3",
    "APIGateway"
  ],
  "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 ID with all whitespace removed (e.g. `S3`, `APIGateway` for `API Gateway`) and `rpc.method` is set to the operation (e.g. `GetObject`)."
  ],
  "changelog": [
    {
      "version": "0.29.0",
      "prs": [
        707
      ],
      "description": "Added AWS SDK examples"
    },
    {
      "version": "0.28.0",
      "prs": [
        714
      ],
      "description": "Added additional context about the OpenTelemetry deprecation"
    },
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

rpc.system.name

stringScrub: ManualVisibility: PublicOTel: True

A string identifying the remoting system.

Exampleaws-api
Aliasesrpc.system
Changelog
v0.16.0#482Added rpc.system.name attribute
Raw JSON
{
  "key": "rpc.system.name",
  "brief": "A string identifying the remoting system.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "aws-api",
  "alias": [
    "rpc.system"
  ],
  "changelog": [
    {
      "version": "0.16.0",
      "prs": [
        482
      ],
      "description": "Added rpc.system.name attribute"
    }
  ]
}

Deprecated Attributes

These attributes are deprecated and should not be used in new code. See each attribute for migration guidance.

rpc.grpc.status_codeDeprecated

integerScrub: ManualVisibility: PublicOTel: True

The numeric status code of the gRPC request.

Example2

Use rpc.response.status_code instead.

Cannot be automatically backfilled due to type mismatch (integer vs string); rpc.grpc.status_code is a numeric gRPC status code while rpc.response.status_code is the string status name.

Changelog
v0.19.0#494#533Deprecated rpc.grpc.status_code in favor of rpc.response.status_code
v0.4.0#228
v0.0.0
Raw JSON
{
  "key": "rpc.grpc.status_code",
  "brief": "The numeric status code of the gRPC request.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": 2,
  "deprecation": {
    "replacement": "rpc.response.status_code",
    "reason": "Cannot be automatically backfilled due to type mismatch (integer vs string); rpc.grpc.status_code is a numeric gRPC status code while rpc.response.status_code is the string status name.",
    "_status": null
  },
  "alias": [
    "code",
    "rpc.response.status_code"
  ],
  "changelog": [
    {
      "version": "0.19.0",
      "prs": [
        494,
        533
      ],
      "description": "Deprecated rpc.grpc.status_code in favor of rpc.response.status_code"
    },
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

rpc.systemDeprecated

stringScrub: ManualVisibility: PublicOTel: True

A string identifying the remoting system.

Exampleaws-api

Use rpc.system.name instead.

This attribute is being deprecated in favor of rpc.system.name, which is the OTel-aligned replacement.

Status: backfill

Changelog
v0.16.0#482Added rpc.system attribute, deprecated in favor of rpc.system.name
Raw JSON
{
  "key": "rpc.system",
  "brief": "A string identifying the remoting system.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "aws-api",
  "deprecation": {
    "replacement": "rpc.system.name",
    "reason": "This attribute is being deprecated in favor of rpc.system.name, which is the OTel-aligned replacement.",
    "_status": "backfill"
  },
  "alias": [
    "rpc.system.name"
  ],
  "changelog": [
    {
      "version": "0.16.0",
      "prs": [
        482
      ],
      "description": "Added rpc.system attribute, deprecated in favor of rpc.system.name"
    }
  ]
}