FaaS 指标的语义约定

状态: 开发中

本文档定义了如何使用指标来描述无服务器函数(也称为 Serverless 函数或 FaaS)的实例。

本节定义的约定是 FaaS(函数即服务)特定的。当发生 FaaS 操作时,将生成有关这些操作的指标事件并进行报告,以提供对这些操作的洞察。通过向指标事件添加 FaaS 属性,可以实现精细化的过滤。

指标工具

以下指标工具描述了 FaaS 操作。

FaaS 实例

以下指标由 FaaS 实例记录。

指标:faas.invoke_duration

此指标是推荐的。

此指标 SHOULD 使用 ExplicitBucketBoundaries,其值为 [ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ]

名称Instrument TypeUnit (UCUM)描述Stability实体关联
faas.invoke_durationHistograms衡量函数逻辑执行的持续时间。Development

Attributes

Stability需求级别Value Type描述Example Values
faas.triggerDevelopment推荐字符串导致此函数调用的触发器的类型。datasource; http; pubsub

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

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

指标:faas.init_duration

此指标是推荐的。

此指标 SHOULD 使用 ExplicitBucketBoundaries,其值为 [ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ]

名称Instrument TypeUnit (UCUM)描述Stability实体关联
faas.init_durationHistograms衡量函数初始化的持续时间,例如冷启动。Development

Attributes

Stability需求级别Value Type描述Example Values
faas.triggerDevelopment推荐字符串导致此函数调用的触发器的类型。datasource; http; pubsub

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

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

指标:faas.coldstarts

此指标是推荐的。

名称Instrument TypeUnit (UCUM)描述Stability实体关联
faas.coldstartsCounter{coldstart}调用冷启动的数量。Development

Attributes

Stability需求级别Value Type描述Example Values
faas.triggerDevelopment推荐字符串导致此函数调用的触发器的类型。datasource; http; pubsub

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

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

指标:faas.errors

此指标是推荐的。

名称Instrument TypeUnit (UCUM)描述Stability实体关联
faas.errorsCounter{error}调用错误的数量。Development

Attributes

Stability需求级别Value Type描述Example Values
faas.triggerDevelopment推荐字符串导致此函数调用的触发器的类型。datasource; http; pubsub

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

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

指标:faas.invocations

此指标是推荐的。

名称Instrument TypeUnit (UCUM)描述Stability实体关联
faas.invocationsCounter{invocation}成功调用的数量。Development

Attributes

Stability需求级别Value Type描述Example Values
faas.triggerDevelopment推荐字符串导致此函数调用的触发器的类型。datasource; http; pubsub

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

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

指标:faas.timeouts

此指标是推荐的。

名称Instrument TypeUnit (UCUM)描述Stability实体关联
faas.timeoutsCounter{timeout}调用超时数量。Development

Attributes

Stability需求级别Value Type描述Example Values
faas.triggerDevelopment推荐字符串导致此函数调用的触发器的类型。datasource; http; pubsub

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

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

指标:faas.mem_usage

此指标是推荐的。

名称Instrument TypeUnit (UCUM)描述Stability实体关联
faas.mem_usageHistogram每个调用的最大内存使用量的分布。Metric: faas.mem_usageDevelopment

Attributes

Stability需求级别Value Type描述Example Values
faas.triggerDevelopment推荐字符串导致此函数调用的触发器的类型。datasource; http; pubsub

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

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

Metric: faas.cpu_usage

此指标是推荐的。

此指标 SHOULD 使用 ExplicitBucketBoundaries,其值为 [ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ]

名称Instrument TypeUnit (UCUM)描述Stability实体关联
faas.cpu_usageHistograms每个调用的 CPU 使用量分布。Development

Attributes

Stability需求级别Value Type描述Example Values
faas.triggerDevelopment推荐字符串导致此函数调用的触发器的类型。datasource; http; pubsub

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

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

Metric: faas.net_io

此指标是推荐的。

名称Instrument TypeUnit (UCUM)描述Stability实体关联
faas.net_ioHistogram每个调用的最大内存使用量的分布。每个调用的网络 I/O 使用量分布。Development

Attributes

Stability需求级别Value Type描述Example Values
faas.triggerDevelopment推荐字符串导致此函数调用的触发器的类型。datasource; http; pubsub

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

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

参考

指标参考

以下是有关不同 FaaS 提供商可用的指标的文档链接。此列表并非详尽无遗。