-
Notifications
You must be signed in to change notification settings - Fork 908
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
Faas trace attributes: requirement levels need revision #2599
Comments
It SHOULD match the remote side's faas.name, but that one might not be instrumented, or an error might occur with reaching it or transmission of the remote side's trace. Same with the other invoked_* attributes. For the first two (faas.time, faas.document.tme), I'd agree to make them "recommended". |
Thanks for the clarification! |
No, this was introduced for AWS Lambda, where you have an API call to invoke a function (that can also be automatically instrumented with a hook mechanism). https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html It seems that other cloud providers don't provide this mechanism though (except maybe Alibaba which seems to be, so it can't be sensibly set there (except manually indeed). EDIT: Actually, Alibaba also seems to have that feature: https://www.alibabacloud.com/help/en/function-compute/latest/api-doc-fc-open-2021-04-06-api-doc-invokefunction |
The language is also inconsistent in the faas trace semantic convention spec. Here it says that "it is recommended to set the following attributes", and proceeds to list a table of attributes which are all marked as "required". |
Technically this would have the meaning that you SHOULD apply this semantic convention group. Which means you are allowed to leave it out completely, but if you choose to use the attributes, then you MUST fulfill the requirement levels of the table. Which allows having no special support for that trigger and still conforming to FaaS conventions, but if you do implement special support, some attributes are required. |
faas trace semantic conventions define multiple attributes as required and some of these choices seem controversial:
faas.document.time
- it's required, but it's likely the same time as span start time. Is this attribute really needed? Should it beoptional
?faas.time
- same concern - it should match span start time, why another one is needed and can it beoptional
?faas.invoked_name
span attribute that SHOULD matchfaas.name
resource attribute, seems like duplication, whyfaas.invoked_name
is needed and can it beoptional
?invoked_provider
andinvoked_region
- should they be resource attributes (they are static)? should they berecommended
instead?The text was updated successfully, but these errors were encountered: