Skip to content

Latest commit

 

History

History
72 lines (49 loc) · 4.35 KB

File metadata and controls

72 lines (49 loc) · 4.35 KB

Semantic Conventions for AWS SDK

Status: Experimental

This document defines semantic conventions to apply when instrumenting the AWS SDK. They map request or response parameters in AWS SDK API calls to attributes on a Span. The conventions have been collected over time based on feedback from AWS users of tracing and will continue to increase as new interesting conventions are found.

Some descriptions are also provided for populating general OpenTelemetry semantic conventions based on these APIs.

Context Propagation

See compatibility.

Common Attributes

The span name MUST be of the format Service.Operation as per the AWS HTTP API, e.g., DynamoDB.GetItem, S3.ListBuckets. This is equivalent to concatenating rpc.service and rpc.method with . and consistent with the naming guidelines for RPC client spans.

Attribute Type Description Examples Requirement Level Stability
rpc.system string The value aws-api. aws-api Required Experimental
aws.request_id string The AWS request ID as returned in the response headers x-amz-request-id or x-amz-requestid. 79b9da39-b7ae-508a-a6bc-864b2829c622; C9ER4AJX75574TDJ Recommended Experimental
rpc.method string The name of the operation corresponding to the request, as returned by the AWS SDK [1] GetItem; PutItem Recommended Experimental
rpc.service string The name of the service to which a request is made, as returned by the AWS SDK. [2] DynamoDB; S3 Recommended Experimental

[1]: This is the logical name of the method from the RPC interface perspective, which can be different from the name of any implementing method/function. The code.function attribute may be used to store the latter (e.g., method actually executing the call on the server side, RPC client stub method on the client side).

[2]: This is the logical name of the service from the RPC interface perspective, which can be different from the name of any implementing class. The code.namespace attribute may be used to store the latter (despite the attribute name, it may include a class name; e.g., class with method actually executing the call on the server side, RPC client stub class on the client side).

rpc.system has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

Value Description Stability
grpc gRPC Experimental
java_rmi Java RMI Experimental
dotnet_wcf .NET WCF Experimental
apache_dubbo Apache Dubbo Experimental
connect_rpc Connect RPC Experimental

AWS service specific attributes

The following Semantic Conventions extend the general AWS SDK attributes for specific AWS services:

  • AWS DynamoDB: Semantic Conventions for AWS DynamoDB.
  • AWS S3: Semantic Conventions for AWS S3.