Faas

函数即服务 (FaaS) 属性

FaaS 属性

Attributes

StabilityValue Type描述Example Values
faas.coldstartDevelopment布尔值一个布尔值,如果 serverless 函数是第一次执行(即冷启动),则为 true。
faas.cronDevelopment字符串一个字符串,包含计划周期,采用 Cron 表达式 格式。0/5 * * * ? *
faas.document.collectionDevelopment字符串执行触发操作的源的名称。例如,在 Cloud Storage 或 S3 中对应存储桶名称,在 Cosmos DB 中对应数据库名称。myBucketName; myDbName
faas.document.nameDevelopment字符串进行操作的文档/表名称。例如,在 Cloud Storage 或 S3 中是文件名,在 Cosmos DB 中是表名。myFile.txt; myTableName
faas.document.operationDevelopment字符串描述了对数据执行的操作类型。insert; edit; delete
faas.document.timeDevelopment字符串一个字符串,包含数据访问时间,采用 ISO 8601 格式,用 UTC 表示。2020-01-23T13:47:06Z
faas.instanceDevelopment字符串执行环境 ID,字符串格式,可能会被重用于对同一函数/函数版本的其他调用。[1]2021/06/28/[$LATEST]2f399eb14537447da05ab2a2e39309de
faas.invocation_idDevelopment字符串当前函数调用的调用 ID。af9d5aa4-a685-4c5f-a22b-444f80b3cc28
faas.invoked_nameDevelopment字符串被调用函数的名称。[2]my-function
faas.invoked_providerDevelopment字符串被调用函数的云提供商。[3]alibaba_cloud; aws; azure
faas.invoked_regionDevelopment字符串被调用函数的云区域。[4]eu-central-1
faas.max_memoryDevelopmentint分配给 serverless 函数的可用内存量,以字节为单位。[5]134217728
faas.nameDevelopment字符串此运行时实例执行的单个函数名称。[6]my-function; myazurefunctionapp/some-function-name
faas.timeDevelopment字符串一个字符串,包含函数调用时间,采用 ISO 8601 格式,用 UTC 表示。2020-01-23T13:47:06Z
faas.triggerDevelopment字符串导致此函数调用的触发器类型。datasource; http; pubsub
faas.versionDevelopment字符串正在执行的函数的不可变版本。[7]26; pinkfroid-00002

[1] faas.instance: - AWS Lambda: 使用(完整的)日志流名称。

[2] faas.invoked_name: 应等于被调用函数的 faas.name 资源属性。

[3] faas.invoked_provider: 应等于被调用函数的 cloud.provider 资源属性。

[4] faas.invoked_region: 应等于被调用函数的 cloud.region 资源属性。

[5] faas.max_memory: 建议设置此属性,因为例如过少的内存很容易导致 Java AWS Lambda 函数无法正常工作。在 AWS Lambda 上,环境变量 AWS_LAMBDA_FUNCTION_MEMORY_SIZE 提供了此信息(需要乘以 1,048,576)。

[6] faas.name: 这是在 FaaS 平台上配置/部署的函数的名称,通常与回调函数的名称不同(后者可能存储在 code.namespace/code.function.name span 属性中)。

对于某些云提供商,上述定义可能存在歧义。对于列出的云提供商/产品,必须使用以下函数名称定义作为此属性(以及因此的跨度名称)

  • Azure: 完全名称 <FUNCAPP>/<FUNC>,即函数应用名称后跟一个正斜杠,再后跟函数名称(此形式也可在函数的资源 JSON 中看到)。这意味着必须使用跨度属性,因为 Azure 函数应用可以托管多个函数,这些函数通常会共享一个 TracerProvider(另请参阅 cloud.resource_id 属性)。

[7] faas.version: 根据云提供商和平台,使用

  • AWS Lambda: 函数版本(表示为十进制字符串的整数)。
  • Google Cloud Run (Services): 修订版本(即函数名称加上修订版本后缀)。
  • Google Cloud Functions: K_REVISION 环境变量的值。
  • Azure Functions: 不适用。请勿设置此属性。

faas.document.operation 具有以下已知值列表。如果其中一个适用,则必须使用相应的 值;否则,可以使用自定义值。

描述Stability
delete删除对象时。Development
edit修改对象时。Development
insert创建新对象时。Development

faas.invoked_provider 具有以下已知值列表。如果其中一个适用,则必须使用相应的 值;否则,可以使用自定义值。

描述Stability
alibaba_cloud阿里云Development
awsAmazon Web ServicesDevelopment
azureMicrosoft AzureDevelopment
gcpGoogle Cloud PlatformDevelopment
tencent_cloud腾讯云Development

faas.trigger 具有以下已知值列表。如果其中一个适用,则必须使用相应的owel;否则,可以使用自定义值。

描述Stability
datasource对某些数据源操作(如数据库或文件系统读/写)的响应Development
http为响应入站 HTTP 请求而提供答案Development
other如果以上都不适用Development
pubsub设置一个函数,在消息发送到消息系统时执行Development
timer调度函数定期执行Development