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

Rename "faas" to function #1480

Closed
wants to merge 3 commits into from
Closed

Rename "faas" to function #1480

wants to merge 3 commits into from

Conversation

rakyll
Copy link
Contributor

@rakyll rakyll commented Mar 1, 2021

The resource semantic conventions for serverless function uses "faas"
as a prefix. FaaS would be a name to identify the concept of "function
as a service", not the platforms or the workloads.
The semantic conventions we define here are used to
attribute to the functions not to the concept.
FaaS is also not as clear as "function" to developers who are not
familiar with industry terms such as IaaS/PaaS/FaaS.

This change renames FaaS to function to better represent that
the resource was a serverless function.

The resource semantic conventions for serverless function uses "faas"
as a prefix. FaaS would be a name to identify the concept of "function
as a service", not the platforms or the workloads.
The semantic conventions we define here are used to
attribute to the functions not to the concept.
FaaS is also not as clear as "function" to developers who are not
familiar with industry terms such as IaaS/PaaS/FaaS.

This change renames FaaS to function to better represent that
the resource was a serverless function.
@rakyll rakyll requested review from a team March 1, 2021 04:58
@rakyll
Copy link
Contributor Author

rakyll commented Mar 1, 2021

I will follow up with renaming https://github.com/open-telemetry/opentelemetry-specification/blob/main/semantic_conventions/trace/faas.yaml if we think this is a good next step.

<!-- semconv function_resource -->
| Attribute | Type | Description | Examples | Required |
|---|---|---|---|---|
| `function.name` | string | The name of the function being executed. | `my-function` | Yes |
Copy link
Contributor

Choose a reason for hiding this comment

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

Can this be too confusing vs just a normal "code function"?

@Oberon00
Copy link
Member

Oberon00 commented Mar 1, 2021

I am against this change (at least in the current form) for two reasons:

  1. Renaming a whole semantic convention group is a large breaking change. Breaking changes are generally OK, since these conventions are still "experimental", but I think the name "faas" is not bad enough to justify this. If we are worried about discoverability, I'm sure we can add a prominent link e.g. in a Lambda section of the upcoming AWS semantic conventions.
  2. I think when most users read "faas" they will not know what it is. But when they read "function" they think they know what it is, but it will be wrong. Thus, I think the name "function" is worse. @anuraaga already brought up the confusion with code.function that can arise for example. I think "serverless", "serverless_function", "faas_instance", "cloud_function" might be better names, but I am not convinced renaming is worth it.

@Oberon00 Oberon00 added area:semantic-conventions Related to semantic conventions spec:trace Related to the specification/trace directory spec:resource Related to the specification/resource directory and removed spec:trace Related to the specification/trace directory labels Mar 1, 2021
@rakyll
Copy link
Contributor Author

rakyll commented Mar 1, 2021

Fair. I'm closing this.

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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants