Function as a Service

Status: Experimental

type: faas

Description: A “function as a service” aka “serverless function” instance.

See also:

Attribute Type Description Examples Required
faas.name string The name of the single function that this runtime instance executes. [1] my-function Yes
faas.id string The unique ID of the single function that this runtime instance executes. [2] arn:aws:lambda:us-west-2:123456789012:function:my-function No
faas.version string The immutable version of the function being executed. [3] 26; pinkfroid-00002 No
faas.instance string The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version. [4] 2021/06/28/[$LATEST]2f399eb14537447da05ab2a2e39309de No
faas.max_memory int The amount of memory available to the serverless function in MiB. [5] 128 No

[1]: This is the name of the function as configured/deployed on the FaaS platform and is usually different from the name of the callback function (which may be stored in the code.namespace/code.function span attributes).

[2]: Depending on the cloud provider, use:

On some providers, it may not be possible to determine the full ID at startup, which is why this field cannot be made required. For example, on AWS the account ID part of the ARN is not available without calling another AWS API which may be deemed too slow for a short-running lambda function. As an alternative, consider setting faas.id as a span attribute instead.

[3]: Depending on the cloud provider and platform, use:

  • AWS Lambda: The function version (an integer represented as a decimal string).
  • Google Cloud Run: The revision (i.e., the function name plus the revision suffix).
  • Google Cloud Functions: The value of the K_REVISION environment variable.
  • Azure Functions: Not applicable. Do not set this attribute.

[4]: * AWS Lambda: Use the (full) log stream name.

[5]: It’s recommended to set this attribute since e.g. too little memory can easily stop a Java AWS Lambda function from working correctly. On AWS Lambda, the environment variable AWS_LAMBDA_FUNCTION_MEMORY_SIZE provides this information.

Note: The resource attribute faas.instance differs from the span attribute faas.execution. For more information see the Semantic conventions for FaaS spans.