groups: - id: aws prefix: aws type: span brief: > The `aws` conventions apply to operations using 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 evolve as new interesting conventions are found. Some descriptions are also provided for populating general OpenTelemetry semantic conventions based on these APIs. attributes: - ref: rpc.system brief: "The value `aws-api`." requirement_level: required examples: - aws-api - ref: rpc.service brief: "The name of the service to which a request is made, as returned by the AWS SDK." examples: - DynamoDB - S3 - ref: rpc.method brief: "The name of the operation corresponding to the request, as returned by the AWS SDK" examples: - GetItem - PutItem - id: request_id type: string brief: "The AWS request ID as returned in the response headers `x-amz-request-id` or `x-amz-requestid`." examples: - 79b9da39-b7ae-508a-a6bc-864b2829c622 - C9ER4AJX75574TDJ - id: dynamodb.all type: span brief: "Attributes always filled for all DynamoDB request types." attributes: - ref: db.system brief: "The value `dynamodb`." requirement_level: required examples: - dynamodb - id: dynamodb.shared extends: aws prefix: aws.dynamodb type: span brief: "Attributes that exist for multiple DynamoDB request types." attributes: - ref: db.operation brief: "The same value as `rpc.method`." examples: - GetItem - PutItem - id: table_names type: string[] brief: The keys in the `RequestItems` object field. examples: - Users - Cats - id: consumed_capacity type: string[] brief: "The JSON-serialized value of each item in the `ConsumedCapacity` response field." examples: - '{ "CapacityUnits": number, "GlobalSecondaryIndexes": { "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, "LocalSecondaryIndexes": { "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, "ReadCapacityUnits": number, "Table": { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number }, "TableName": "string", "WriteCapacityUnits": number }' - id: item_collection_metrics type: string brief: "The JSON-serialized value of the `ItemCollectionMetrics` response field." examples: - '{ "string" : [ { "ItemCollectionKey": { "string" : { "B": blob, "BOOL": boolean, "BS": [ blob ], "L": [ "AttributeValue" ], "M": { "string" : "AttributeValue" }, "N": "string", "NS": [ "string" ], "NULL": boolean, "S": "string", "SS": [ "string" ] } }, "SizeEstimateRangeGB": [ number ] } ] }' - id: provisioned_read_capacity type: double brief: "The value of the `ProvisionedThroughput.ReadCapacityUnits` request parameter." examples: - 1.0 - 2.0 - id: provisioned_write_capacity type: double brief: "The value of the `ProvisionedThroughput.WriteCapacityUnits` request parameter." examples: - 1.0 - 2.0 - id: consistent_read type: boolean brief: "The value of the `ConsistentRead` request parameter." - id: projection type: string brief: "The value of the `ProjectionExpression` request parameter." examples: - Title - Title, Price, Color - Title, Description, RelatedItems, ProductReviews - id: limit type: int brief: "The value of the `Limit` request parameter." examples: - 10 - id: attributes_to_get type: string[] brief: "The value of the `AttributesToGet` request parameter." examples: - lives - id - id: index_name type: string brief: "The value of the `IndexName` request parameter." examples: - name_to_group - id: select type: string brief: "The value of the `Select` request parameter." examples: - ALL_ATTRIBUTES - COUNT - id: dynamodb.batchgetitem brief: DynamoDB.BatchGetItem extends: aws prefix: aws.dynamodb type: span attributes: - ref: aws.dynamodb.table_names - ref: aws.dynamodb.consumed_capacity - id: dynamodb.batchwriteitem brief: DynamoDB.BatchWriteItem extends: aws prefix: aws.dynamodb type: span attributes: - ref: aws.dynamodb.table_names - ref: aws.dynamodb.consumed_capacity - ref: aws.dynamodb.item_collection_metrics - id: dynamodb.createtable brief: DynamoDB.CreateTable extends: aws prefix: aws.dynamodb type: span attributes: - id: global_secondary_indexes type: string[] brief: "The JSON-serialized value of each item of the `GlobalSecondaryIndexes` request field" examples: - '{ "IndexName": "string", "KeySchema": [ { "AttributeName": "string", "KeyType": "string" } ], "Projection": { "NonKeyAttributes": [ "string" ], "ProjectionType": "string" }, "ProvisionedThroughput": { "ReadCapacityUnits": number, "WriteCapacityUnits": number } }' - id: local_secondary_indexes type: string[] brief: "The JSON-serialized value of each item of the `LocalSecondaryIndexes` request field." examples: - '{ "IndexArn": "string", "IndexName": "string", "IndexSizeBytes": number, "ItemCount": number, "KeySchema": [ { "AttributeName": "string", "KeyType": "string" } ], "Projection": { "NonKeyAttributes": [ "string" ], "ProjectionType": "string" } }' - ref: aws.dynamodb.table_names brief: "A single-element array with the value of the TableName request parameter." examples: - Users - ref: aws.dynamodb.consumed_capacity - ref: aws.dynamodb.item_collection_metrics - ref: aws.dynamodb.provisioned_read_capacity - ref: aws.dynamodb.provisioned_write_capacity - id: dynamodb.deleteitem brief: DynamoDB.DeleteItem extends: aws prefix: aws.dynamodb type: span attributes: - ref: aws.dynamodb.table_names brief: "A single-element array with the value of the TableName request parameter." examples: - Users - ref: aws.dynamodb.consumed_capacity - ref: aws.dynamodb.item_collection_metrics - id: dynamodb.deletetable brief: DynamoDB.DeleteTable extends: aws prefix: aws.dynamodb type: span attributes: - ref: aws.dynamodb.table_names brief: "A single-element array with the value of the TableName request parameter." examples: - Users - id: dynamodb.describetable brief: DynamoDB.DescribeTable extends: aws prefix: aws.dynamodb type: span attributes: - ref: aws.dynamodb.table_names brief: "A single-element array with the value of the TableName request parameter." examples: - Users - id: dynamodb.getitem brief: DynamoDB.GetItem extends: aws prefix: aws.dynamodb type: span attributes: - ref: aws.dynamodb.table_names brief: "A single-element array with the value of the TableName request parameter." examples: - Users - ref: aws.dynamodb.consumed_capacity - ref: aws.dynamodb.consistent_read - ref: aws.dynamodb.projection - id: dynamodb.listtables brief: DynamoDB.ListTables extends: aws prefix: aws.dynamodb type: span attributes: - id: exclusive_start_table type: string brief: "The value of the `ExclusiveStartTableName` request parameter." examples: - Users - CatsTable - id: table_count type: int brief: "The the number of items in the `TableNames` response parameter." examples: - 20 - ref: aws.dynamodb.limit - id: dynamodb.putitem brief: DynamoDB.PutItem extends: aws prefix: aws.dynamodb type: span attributes: - ref: aws.dynamodb.table_names - ref: aws.dynamodb.consumed_capacity - ref: aws.dynamodb.item_collection_metrics - id: dynamodb.query brief: DynamoDB.Query extends: aws prefix: aws.dynamodb type: span attributes: - id: scan_forward type: boolean brief: "The value of the `ScanIndexForward` request parameter." - ref: aws.dynamodb.table_names brief: "A single-element array with the value of the TableName request parameter." examples: - Users - ref: aws.dynamodb.consumed_capacity - ref: aws.dynamodb.consistent_read - ref: aws.dynamodb.limit - ref: aws.dynamodb.projection - ref: aws.dynamodb.attributes_to_get - ref: aws.dynamodb.index_name - ref: aws.dynamodb.select - id: dynamodb.scan brief: DynamoDB.Scan extends: aws prefix: aws.dynamodb type: span attributes: - id: segment type: int brief: "The value of the `Segment` request parameter." examples: - 10 - id: total_segments type: int brief: "The value of the `TotalSegments` request parameter." examples: - 100 - id: count type: int brief: "The value of the `Count` response parameter." examples: - 10 - id: scanned_count type: int brief: "The value of the `ScannedCount` response parameter." examples: - 50 - ref: aws.dynamodb.table_names brief: "A single-element array with the value of the TableName request parameter." examples: - Users - ref: aws.dynamodb.consumed_capacity - ref: aws.dynamodb.consistent_read - ref: aws.dynamodb.limit - ref: aws.dynamodb.projection - ref: aws.dynamodb.attributes_to_get - ref: aws.dynamodb.index_name - ref: aws.dynamodb.select - id: dynamodb.updateitem brief: DynamoDB.UpdateItem extends: aws prefix: aws.dynamodb type: span attributes: - ref: aws.dynamodb.table_names brief: "A single-element array with the value of the TableName request parameter." examples: - Users - ref: aws.dynamodb.consumed_capacity - ref: aws.dynamodb.item_collection_metrics - id: dynamodb.updatetable brief: DynamoDB.UpdateTable extends: aws prefix: aws.dynamodb type: span attributes: - id: attribute_definitions type: string[] brief: "The JSON-serialized value of each item in the `AttributeDefinitions` request field." examples: - '{ "AttributeName": "string", "AttributeType": "string" }' - id: global_secondary_index_updates type: string[] brief: "The JSON-serialized value of each item in the the `GlobalSecondaryIndexUpdates` request field." examples: - '{ "Create": { "IndexName": "string", "KeySchema": [ { "AttributeName": "string", "KeyType": "string" } ], "Projection": { "NonKeyAttributes": [ "string" ], "ProjectionType": "string" }, "ProvisionedThroughput": { "ReadCapacityUnits": number, "WriteCapacityUnits": number } }' - ref: aws.dynamodb.table_names brief: "A single-element array with the value of the TableName request parameter." examples: - Users - ref: aws.dynamodb.consumed_capacity - ref: aws.dynamodb.provisioned_read_capacity - ref: aws.dynamodb.provisioned_write_capacity - id: aws.s3 extends: aws prefix: aws.s3 type: span brief: "Attributes that exist for S3 request types." attributes: - id: bucket type: string brief: "The S3 bucket name the request refers to. Corresponds to the `--bucket` parameter of the [S3 API](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html) operations." examples: - some-bucket-name note: | The `bucket` attribute is applicable to all S3 operations that reference a bucket, i.e. that require the bucket name as a mandatory parameter. This applies to almost all S3 operations except `list-buckets`. - id: key type: string brief: "The S3 object key the request refers to. Corresponds to the `--key` parameter of the [S3 API](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html) operations." examples: - someFile.yml note: | The `key` attribute is applicable to all object-related S3 operations, i.e. that require the object key as a mandatory parameter. This applies in particular to the following operations: - [copy-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html) - [delete-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html) - [get-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/get-object.html) - [head-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/head-object.html) - [put-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-object.html) - [restore-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/restore-object.html) - [select-object-content](https://docs.aws.amazon.com/cli/latest/reference/s3api/select-object-content.html) - [abort-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/abort-multipart-upload.html) - [complete-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/complete-multipart-upload.html) - [create-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/create-multipart-upload.html) - [list-parts](https://docs.aws.amazon.com/cli/latest/reference/s3api/list-parts.html) - [upload-part](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html) - [upload-part-copy](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html) - id: copy_source type: string brief: "The source object (in the form `bucket`/`key`) for the copy operation." examples: - someFile.yml note: | The `copy_source` attribute applies to S3 copy operations and corresponds to the `--copy-source` parameter of the [copy-object operation within the S3 API](https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html). This applies in particular to the following operations: - [copy-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html) - [upload-part-copy](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html) - id: upload_id type: string brief: "Upload ID that identifies the multipart upload." examples: - 'dfRtDYWFbkRONycy.Yxwh66Yjlx.cph0gtNBtJ' note: | The `upload_id` attribute applies to S3 multipart-upload operations and corresponds to the `--upload-id` parameter of the [S3 API](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html) multipart operations. This applies in particular to the following operations: - [abort-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/abort-multipart-upload.html) - [complete-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/complete-multipart-upload.html) - [list-parts](https://docs.aws.amazon.com/cli/latest/reference/s3api/list-parts.html) - [upload-part](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html) - [upload-part-copy](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html) - id: delete type: string brief: "The delete request container that specifies the objects to be deleted." examples: - 'Objects=[{Key=string,VersionId=string},{Key=string,VersionId=string}],Quiet=boolean' note: | The `delete` attribute is only applicable to the [delete-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html) operation. The `delete` attribute corresponds to the `--delete` parameter of the [delete-objects operation within the S3 API](https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-objects.html). - id: part_number type: int brief: "The part number of the part being uploaded in a multipart-upload operation. This is a positive integer between 1 and 10,000." examples: - 3456 note: | The `part_number` attribute is only applicable to the [upload-part](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html) and [upload-part-copy](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html) operations. The `part_number` attribute corresponds to the `--part-number` parameter of the [upload-part operation within the S3 API](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html).