Skip to content

Latest commit

 

History

History
98 lines (75 loc) · 9.02 KB

File metadata and controls

98 lines (75 loc) · 9.02 KB

Faas

Function as a Service Attributes

FaaS attributes

Attribute Type Description Examples Stability
faas.coldstart boolean A boolean that is true if the serverless function is executed for the first time (aka cold-start). Development
faas.cron string A string containing the schedule period as Cron Expression. 0/5 * * * ? * Development
faas.document.collection string The name of the source on which the triggering operation was performed. For example, in Cloud Storage or S3 corresponds to the bucket name, and in Cosmos DB to the database name. myBucketName; myDbName Development
faas.document.name string The document name/table subjected to the operation. For example, in Cloud Storage or S3 is the name of the file, and in Cosmos DB the table name. myFile.txt; myTableName Development
faas.document.operation string Describes the type of the operation that was performed on the data. insert; edit; delete Development
faas.document.time string A string containing the time when the data was accessed in the ISO 8601 format expressed in UTC. 2020-01-23T13:47:06Z Development
faas.instance string The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version. [1] 2021/06/28/[$LATEST]2f399eb14537447da05ab2a2e39309de Development
faas.invocation_id string The invocation ID of the current function invocation. af9d5aa4-a685-4c5f-a22b-444f80b3cc28 Development
faas.invoked_name string The name of the invoked function. [2] my-function Development
faas.invoked_provider string The cloud provider of the invoked function. [3] alibaba_cloud; aws; azure Development
faas.invoked_region string The cloud region of the invoked function. [4] eu-central-1 Development
faas.max_memory int The amount of memory available to the serverless function converted to Bytes. [5] 134217728 Development
faas.name string The name of the single function that this runtime instance executes. [6] my-function; myazurefunctionapp/some-function-name Development
faas.time string A string containing the function invocation time in the ISO 8601 format expressed in UTC. 2020-01-23T13:47:06Z Development
faas.trigger string Type of the trigger which caused this function invocation. datasource; http; pubsub Development
faas.version string The immutable version of the function being executed. [7] 26; pinkfroid-00002 Development

[1] faas.instance: - AWS Lambda: Use the (full) log stream name.

[2] faas.invoked_name: SHOULD be equal to the faas.name resource attribute of the invoked function.

[3] faas.invoked_provider: SHOULD be equal to the cloud.provider resource attribute of the invoked function.

[4] faas.invoked_region: SHOULD be equal to the cloud.region resource attribute of the invoked function.

[5] faas.max_memory: 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 (which must be multiplied by 1,048,576).

[6] faas.name: 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.name span attributes).

For some cloud providers, the above definition is ambiguous. The following definition of function name MUST be used for this attribute (and consequently the span name) for the listed cloud providers/products:

  • Azure: The full name <FUNCAPP>/<FUNC>, i.e., function app name followed by a forward slash followed by the function name (this form can also be seen in the resource JSON for the function). This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share a TracerProvider (see also the cloud.resource_id attribute).

[7] faas.version: Depending on the cloud provider and platform, use:

  • AWS Lambda: The function version (an integer represented as a decimal string).
  • Google Cloud Run (Services): 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.

faas.document.operation has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

Value Description Stability
delete When an object is deleted. Development
edit When an object is modified. Development
insert When a new object is created. Development

faas.invoked_provider has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

Value Description Stability
alibaba_cloud Alibaba Cloud Development
aws Amazon Web Services Development
azure Microsoft Azure Development
gcp Google Cloud Platform Development
tencent_cloud Tencent Cloud Development

faas.trigger has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

Value Description Stability
datasource A response to some data source operation such as a database or filesystem read/write Development
http To provide an answer to an inbound HTTP request Development
other If none of the others apply Development
pubsub A function is set to be executed when messages are sent to a messaging system Development
timer A function is scheduled to be executed regularly Development