Skip to content

Latest commit

 

History

History
392 lines (292 loc) · 21.5 KB

faas-metrics.md

File metadata and controls

392 lines (292 loc) · 21.5 KB

Semantic conventions for FaaS metrics

Status: Development

This document defines how to describe an instance of a function that runs without provisioning or managing of servers (also known as serverless functions or Function as a Service (FaaS)) with metrics.

The conventions described in this section are FaaS (function as a service) specific. When FaaS operations occur, metric events about those operations will be generated and reported to provide insights into the operations. By adding FaaS attributes to metric events it allows for finely tuned filtering.

Metric Instruments

The following metric instruments describe FaaS operations.

FaaS Instance

The following metrics are recorded by the FaaS instance.

Metric: faas.invoke_duration

This metric is recommended.

This metric SHOULD be specified with ExplicitBucketBoundaries of [ 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 ].

Name Instrument Type Unit (UCUM) Description Stability
faas.invoke_duration Histogram s Measures the duration of the function's logic execution Development
Attribute Type Description Examples Requirement Level Stability
faas.trigger string Type of the trigger which caused this function invocation. datasource; http; pubsub Recommended 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

Metric: faas.init_duration

This metric is recommended.

This metric SHOULD be specified with ExplicitBucketBoundaries of [ 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 ].

Name Instrument Type Unit (UCUM) Description Stability
faas.init_duration Histogram s Measures the duration of the function's initialization, such as a cold start Development
Attribute Type Description Examples Requirement Level Stability
faas.trigger string Type of the trigger which caused this function invocation. datasource; http; pubsub Recommended 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

Metric: faas.coldstarts

This metric is recommended.

Name Instrument Type Unit (UCUM) Description Stability
faas.coldstarts Counter {coldstart} Number of invocation cold starts Development
Attribute Type Description Examples Requirement Level Stability
faas.trigger string Type of the trigger which caused this function invocation. datasource; http; pubsub Recommended 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

Metric: faas.errors

This metric is recommended.

Name Instrument Type Unit (UCUM) Description Stability
faas.errors Counter {error} Number of invocation errors Development
Attribute Type Description Examples Requirement Level Stability
faas.trigger string Type of the trigger which caused this function invocation. datasource; http; pubsub Recommended 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

Metric: faas.invocations

This metric is recommended.

Name Instrument Type Unit (UCUM) Description Stability
faas.invocations Counter {invocation} Number of successful invocations Development
Attribute Type Description Examples Requirement Level Stability
faas.trigger string Type of the trigger which caused this function invocation. datasource; http; pubsub Recommended 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

Metric: faas.timeouts

This metric is recommended.

Name Instrument Type Unit (UCUM) Description Stability
faas.timeouts Counter {timeout} Number of invocation timeouts Development
Attribute Type Description Examples Requirement Level Stability
faas.trigger string Type of the trigger which caused this function invocation. datasource; http; pubsub Recommended 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

Metric: faas.mem_usage

This metric is recommended.

Name Instrument Type Unit (UCUM) Description Stability
faas.mem_usage Histogram By Distribution of max memory usage per invocation Development
Attribute Type Description Examples Requirement Level Stability
faas.trigger string Type of the trigger which caused this function invocation. datasource; http; pubsub Recommended 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

Metric: faas.cpu_usage

This metric is recommended.

This metric SHOULD be specified with ExplicitBucketBoundaries of [ 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 ].

Name Instrument Type Unit (UCUM) Description Stability
faas.cpu_usage Histogram s Distribution of CPU usage per invocation Development
Attribute Type Description Examples Requirement Level Stability
faas.trigger string Type of the trigger which caused this function invocation. datasource; http; pubsub Recommended 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

Metric: faas.net_io

This metric is recommended.

Name Instrument Type Unit (UCUM) Description Stability
faas.net_io Histogram By Distribution of net I/O usage per invocation Development
Attribute Type Description Examples Requirement Level Stability
faas.trigger string Type of the trigger which caused this function invocation. datasource; http; pubsub Recommended 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

References

Metric References

Below are links to documentation regarding metrics that are available with different FaaS providers. This list is not exhaustive.