Skip to content
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

Rework FaaS semantic conventions. #1781

Merged

Conversation

Oberon00
Copy link
Member

@Oberon00 Oberon00 commented Jun 29, 2021

Fixes #1280 (through introduction of aws.lambda.invoked_arn span attribute, @mateuszrzeszutek please check if that is OK).
Addresses #1778.

Changes

  • More clearly describe some FaaS attributes, in particular ID-related ones.
  • Add aws.lambda.invoked_arn and clarify that alias must be stripped from faas.id resource attribute for AWS Lambda.
  • Describe what IDs to use for Azure and GCP (Note: It might be impractical to collect these IDs client-side).

CC @skonto

@Oberon00 Oberon00 added area:semantic-conventions Related to semantic conventions spec:resource Related to the specification/resource directory spec:trace Related to the specification/trace directory labels Jun 29, 2021
@Oberon00 Oberon00 requested review from a team as code owners June 29, 2021 11:39
Depending on the cloud provider, use:

* **AWS Lambda:** The function [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html).
Take care not to use the "invoked ARN" directly but replace any
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you know if this is possible?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The string replacement or that "the same runtime instance may be invokable with multiple different aliases"? Yes, I verified both. You can easily produce that scenario with the Lambda console UI by creating two different aliases for $LATEST and then you can test both and you will see that the logs end up in the same logstream without restart.

You can even test it without creating an extra alias. E.g. using aws lambda invoke --function-name 'arn:aws:lambda:us-east-1:12345:function:myfunction:$LATEST will end up with a different invoked ARN than just aws lambda invoke --function-name 'arn:aws:lambda:us-east-1:12345:function:myfunction, but the same invoked version & log stream.

@carlosalberto
Copy link
Contributor

@mateuszrzeszutek Please review whenever you have cycles ;)

@skonto
Copy link
Contributor

skonto commented Jul 1, 2021

Thanks @Oberon00 looks good to me. I will adjust #1736 as needed.

Copy link
Member

@mateuszrzeszutek mateuszrzeszutek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

@carlosalberto
Copy link
Contributor

@Oberon00 Please update your branch so we can merge this 👍

@carlosalberto carlosalberto merged commit 3cbfcad into open-telemetry:main Jul 6, 2021
@Oberon00 Oberon00 deleted the rework-faas branch July 28, 2022 15:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:semantic-conventions Related to semantic conventions spec:resource Related to the specification/resource directory spec:trace Related to the specification/trace directory
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Introduce a new resource attribute for AWS Lambda function alias
6 participants