semantic-conventions/model/trace/instrumentation/aws-sdk.yml

517 lines
19 KiB
YAML

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).