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 Type | Unit (UCUM) | 描述 | Stability | 实体关联 |
|---|---|---|---|---|---|
faas.invoke_duration | Histogram | s | 衡量函数逻辑执行的持续时间。 |
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
faas.trigger | 推荐 | 字符串 | 导致此函数调用的触发器的类型。 | datasource; http; pubsub |
faas.trigger 具有以下已知值列表。如果其中一个适用,则必须使用相应的owel;否则,可以使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
datasource | 对某些数据源操作(如数据库或文件系统读/写)的响应 | |
http | 为响应入站 HTTP 请求而提供答案 | |
other | 如果以上都不适用 | |
pubsub | 设置一个函数,在消息发送到消息系统时执行 | |
timer | 调度函数定期执行 |
指标: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 Type | Unit (UCUM) | 描述 | Stability | 实体关联 |
|---|---|---|---|---|---|
faas.init_duration | Histogram | s | 衡量函数初始化的持续时间,例如冷启动。 |
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
faas.trigger | 推荐 | 字符串 | 导致此函数调用的触发器的类型。 | datasource; http; pubsub |
faas.trigger 具有以下已知值列表。如果其中一个适用,则必须使用相应的owel;否则,可以使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
datasource | 对某些数据源操作(如数据库或文件系统读/写)的响应 | |
http | 为响应入站 HTTP 请求而提供答案 | |
other | 如果以上都不适用 | |
pubsub | 设置一个函数,在消息发送到消息系统时执行 | |
timer | 调度函数定期执行 |
指标:faas.coldstarts
此指标是推荐的。
| 名称 | Instrument Type | Unit (UCUM) | 描述 | Stability | 实体关联 |
|---|---|---|---|---|---|
faas.coldstarts | Counter | {coldstart} | 调用冷启动的数量。 |
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
faas.trigger | 推荐 | 字符串 | 导致此函数调用的触发器的类型。 | datasource; http; pubsub |
faas.trigger 具有以下已知值列表。如果其中一个适用,则必须使用相应的owel;否则,可以使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
datasource | 对某些数据源操作(如数据库或文件系统读/写)的响应 | |
http | 为响应入站 HTTP 请求而提供答案 | |
other | 如果以上都不适用 | |
pubsub | 设置一个函数,在消息发送到消息系统时执行 | |
timer | 调度函数定期执行 |
指标:faas.errors
此指标是推荐的。
| 名称 | Instrument Type | Unit (UCUM) | 描述 | Stability | 实体关联 |
|---|---|---|---|---|---|
faas.errors | Counter | {error} | 调用错误的数量。 |
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
faas.trigger | 推荐 | 字符串 | 导致此函数调用的触发器的类型。 | datasource; http; pubsub |
faas.trigger 具有以下已知值列表。如果其中一个适用,则必须使用相应的owel;否则,可以使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
datasource | 对某些数据源操作(如数据库或文件系统读/写)的响应 | |
http | 为响应入站 HTTP 请求而提供答案 | |
other | 如果以上都不适用 | |
pubsub | 设置一个函数,在消息发送到消息系统时执行 | |
timer | 调度函数定期执行 |
指标:faas.invocations
此指标是推荐的。
| 名称 | Instrument Type | Unit (UCUM) | 描述 | Stability | 实体关联 |
|---|---|---|---|---|---|
faas.invocations | Counter | {invocation} | 成功调用的数量。 |
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
faas.trigger | 推荐 | 字符串 | 导致此函数调用的触发器的类型。 | datasource; http; pubsub |
faas.trigger 具有以下已知值列表。如果其中一个适用,则必须使用相应的owel;否则,可以使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
datasource | 对某些数据源操作(如数据库或文件系统读/写)的响应 | |
http | 为响应入站 HTTP 请求而提供答案 | |
other | 如果以上都不适用 | |
pubsub | 设置一个函数,在消息发送到消息系统时执行 | |
timer | 调度函数定期执行 |
指标:faas.timeouts
此指标是推荐的。
| 名称 | Instrument Type | Unit (UCUM) | 描述 | Stability | 实体关联 |
|---|---|---|---|---|---|
faas.timeouts | Counter | {timeout} | 调用超时数量。 |
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
faas.trigger | 推荐 | 字符串 | 导致此函数调用的触发器的类型。 | datasource; http; pubsub |
faas.trigger 具有以下已知值列表。如果其中一个适用,则必须使用相应的owel;否则,可以使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
datasource | 对某些数据源操作(如数据库或文件系统读/写)的响应 | |
http | 为响应入站 HTTP 请求而提供答案 | |
other | 如果以上都不适用 | |
pubsub | 设置一个函数,在消息发送到消息系统时执行 | |
timer | 调度函数定期执行 |
指标:faas.mem_usage
此指标是推荐的。
| 名称 | Instrument Type | Unit (UCUM) | 描述 | Stability | 实体关联 |
|---|---|---|---|---|---|
faas.mem_usage | Histogram | 每个调用的最大内存使用量的分布。 | Metric: faas.mem_usage |
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
faas.trigger | 推荐 | 字符串 | 导致此函数调用的触发器的类型。 | datasource; http; pubsub |
faas.trigger 具有以下已知值列表。如果其中一个适用,则必须使用相应的owel;否则,可以使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
datasource | 对某些数据源操作(如数据库或文件系统读/写)的响应 | |
http | 为响应入站 HTTP 请求而提供答案 | |
other | 如果以上都不适用 | |
pubsub | 设置一个函数,在消息发送到消息系统时执行 | |
timer | 调度函数定期执行 |
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 Type | Unit (UCUM) | 描述 | Stability | 实体关联 |
|---|---|---|---|---|---|
faas.cpu_usage | Histogram | s | 每个调用的 CPU 使用量分布。 |
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
faas.trigger | 推荐 | 字符串 | 导致此函数调用的触发器的类型。 | datasource; http; pubsub |
faas.trigger 具有以下已知值列表。如果其中一个适用,则必须使用相应的owel;否则,可以使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
datasource | 对某些数据源操作(如数据库或文件系统读/写)的响应 | |
http | 为响应入站 HTTP 请求而提供答案 | |
other | 如果以上都不适用 | |
pubsub | 设置一个函数,在消息发送到消息系统时执行 | |
timer | 调度函数定期执行 |
Metric: faas.net_io
此指标是推荐的。
| 名称 | Instrument Type | Unit (UCUM) | 描述 | Stability | 实体关联 |
|---|---|---|---|---|---|
faas.net_io | Histogram | 每个调用的最大内存使用量的分布。 | 每个调用的网络 I/O 使用量分布。 |
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
faas.trigger | 推荐 | 字符串 | 导致此函数调用的触发器的类型。 | datasource; http; pubsub |
faas.trigger 具有以下已知值列表。如果其中一个适用,则必须使用相应的owel;否则,可以使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
datasource | 对某些数据源操作(如数据库或文件系统读/写)的响应 | |
http | 为响应入站 HTTP 请求而提供答案 | |
other | 如果以上都不适用 | |
pubsub | 设置一个函数,在消息发送到消息系统时执行 | |
timer | 调度函数定期执行 |
参考
指标参考
以下是有关不同 FaaS 提供商可用的指标的文档链接。此列表并非详尽无遗。