-
Notifications
You must be signed in to change notification settings - Fork 196
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added new AWS Attributes for various services #1794
base: main
Are you sure you want to change the base?
Conversation
type: string | ||
stability: experimental | ||
brief: > | ||
The UUID of the [AWS Lambda EvenSource Mapping](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typo - should be Lambda EventSource Mapping
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please review existing semantic conventions:
- there are several existing attributes that should be used instead of AAWS-specific ones
- some attributes should be defined as generic ones
We avoid defining attributes alone without also defining spans, metrics, events, or resources that reference them, so please add corresponding signal definitions
The URL of the AWS SQS Queue. It's a unique identifier for a queue in Amazon Simple Queue Service (SQS) | ||
and is used to access the queue and perform actions on it. | ||
examples: ["https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue"] | ||
- id: aws.sqs.queue.name |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we have generic messaging.destination.name
attribute that records queue name for arbitrary messaging system.
We should not define aws-specific name
brief: > | ||
This document defines attributes for AWS SNS. | ||
attributes: | ||
- id: aws.sns.topic.arn |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please consider using messaging.destination.name here too
brief: > | ||
This document defines attributes for AWS Bedrock. | ||
attributes: | ||
- id: aws.bedrock.agent.id |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we're defining generic gen_ai.agent.id
in #1739 which will be used for other agents, let's not add AWS-specific one
brief: > | ||
The unique identifier of the AWS Bedrock Guardrail. A [guardrail](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html) helps safeguard and prevent unwanted behavior from model responses or user messages. | ||
examples: ["sgi5gkybzqak"] | ||
- id: aws.bedrock.knowledge_base.id |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we'd need a generic attribute for this one, but it's not defined yet. I'd be fine with adding one, but it's likely to be deprecated in the future.
The name of the AWS Kinesis [stream](https://docs.aws.amazon.com/streams/latest/dev/introduction.html) the request refers to. Corresponds to the `--stream-name` parameter of the | ||
Kinesis [describe-stream](https://docs.aws.amazon.com/cli/latest/reference/kinesis/describe-stream.html) operation. | ||
examples: ["some-stream-name"] | ||
- id: registry.aws.stepfunctions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cc @open-telemetry/lambda-extension-approvers
brief: > | ||
This document defines attributes for AWS SQS. | ||
attributes: | ||
- id: aws.sqs.queue.url |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we record server.address
(host), server.port
(port) and messaging.destination.name
(queue name) in generic messaging semantic conventions, would url be still useful in this case?
@@ -481,3 +488,96 @@ groups: | |||
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). | |||
- id: registry.aws.sqs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if we need any aws.sqs attributes on top of generic messaging, please add a span definition for it and reference all applicable attributes, see kafka yaml and md conventions as an example.
examples: ["arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1"] | ||
- id: registry.aws.bedrock | ||
type: attribute_group | ||
display_name: Amazon Bedrock Attributes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please add a bedrock-specific section into gen_ai conventions. See openai as an example
brief: > | ||
The unique identifier of the AWS Bedrock Agent. [Agents](https://docs.aws.amazon.com/bedrock/latest/userguide/agents.html) assist users in accomplishing complex tasks and are capable of interacting with various knowledge bases, data sources, and APIs. | ||
examples: ["WM5GWNK1AI"] | ||
- id: aws.bedrock.data_source.id |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's define a generic attribute for it, this is a shared concept across all genai systems
brief: > | ||
The ARN of the AWS Step Functions State Machine. | ||
examples: ["arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1"] | ||
- id: registry.aws.bedrock |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cc @open-telemetry/semconv-genai-approvers and specifically @xrmx who's adding bedrock instrumentation in python
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for pinging me, I think I won't need any of the proposed attributes in my work atm (and so have not much clue about them) but I'll keep an eye on this PR.
@@ -481,3 +488,96 @@ groups: | |||
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). | |||
- id: registry.aws.sqs | |||
type: attribute_group | |||
display_name: Amazon SQS Attributes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/cc @open-telemetry/semconv-messaging-approvers
Changes
Added new AWS Attributes for various services including SQS, SNS, Step Functions, Bedrock as well as a new attribute for Lambda.
Note: if the PR is touching an area that is not listed in the existing areas, or the area does not have sufficient domain experts coverage, the PR might be tagged as experts needed and move slowly until experts are identified.
Merge requirement checklist
[chore]