Semantic Conventions for FaaS Metrics
Status : Experimental
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.
The following metric instruments describe FaaS operations.
The following metrics are recorded by the FaaS instance.
Metric: faas.invoke_duration
This metric is recommended .
Name
Instrument Type
Unit (UCUM)
Description
faas.invoke_duration
Histogram
ms
Measures the duration of the function's logic execution
Attribute
Type
Description
Examples
Requirement Level
faas.trigger
string
Type of the trigger which caused this function invocation.
datasource
Recommended
faas.trigger
MUST be one of the following:
Value
Description
datasource
A response to some data source operation such as a database or filesystem read/write
http
To provide an answer to an inbound HTTP request
pubsub
A function is set to be executed when messages are sent to a messaging system
timer
A function is scheduled to be executed regularly
other
If none of the others apply
Metric: faas.init_duration
This metric is recommended .
Name
Instrument Type
Unit (UCUM)
Description
faas.init_duration
Histogram
ms
Measures the duration of the function's initialization, such as a cold start
Attribute
Type
Description
Examples
Requirement Level
faas.trigger
string
Type of the trigger which caused this function invocation.
datasource
Recommended
faas.trigger
MUST be one of the following:
Value
Description
datasource
A response to some data source operation such as a database or filesystem read/write
http
To provide an answer to an inbound HTTP request
pubsub
A function is set to be executed when messages are sent to a messaging system
timer
A function is scheduled to be executed regularly
other
If none of the others apply
This metric is recommended .
Name
Instrument Type
Unit (UCUM)
Description
faas.coldstarts
Counter
{coldstart}
Number of invocation cold starts
Attribute
Type
Description
Examples
Requirement Level
faas.trigger
string
Type of the trigger which caused this function invocation.
datasource
Recommended
faas.trigger
MUST be one of the following:
Value
Description
datasource
A response to some data source operation such as a database or filesystem read/write
http
To provide an answer to an inbound HTTP request
pubsub
A function is set to be executed when messages are sent to a messaging system
timer
A function is scheduled to be executed regularly
other
If none of the others apply
This metric is recommended .
Name
Instrument Type
Unit (UCUM)
Description
faas.errors
Counter
{error}
Number of invocation errors
Attribute
Type
Description
Examples
Requirement Level
faas.trigger
string
Type of the trigger which caused this function invocation.
datasource
Recommended
faas.trigger
MUST be one of the following:
Value
Description
datasource
A response to some data source operation such as a database or filesystem read/write
http
To provide an answer to an inbound HTTP request
pubsub
A function is set to be executed when messages are sent to a messaging system
timer
A function is scheduled to be executed regularly
other
If none of the others apply
This metric is recommended .
Name
Instrument Type
Unit (UCUM)
Description
faas.invocations
Counter
{invocation}
Number of successful invocations
Attribute
Type
Description
Examples
Requirement Level
faas.trigger
string
Type of the trigger which caused this function invocation.
datasource
Recommended
faas.trigger
MUST be one of the following:
Value
Description
datasource
A response to some data source operation such as a database or filesystem read/write
http
To provide an answer to an inbound HTTP request
pubsub
A function is set to be executed when messages are sent to a messaging system
timer
A function is scheduled to be executed regularly
other
If none of the others apply
This metric is recommended .
Name
Instrument Type
Unit (UCUM)
Description
faas.timeouts
Counter
{timeout}
Number of invocation timeouts
Attribute
Type
Description
Examples
Requirement Level
faas.trigger
string
Type of the trigger which caused this function invocation.
datasource
Recommended
faas.trigger
MUST be one of the following:
Value
Description
datasource
A response to some data source operation such as a database or filesystem read/write
http
To provide an answer to an inbound HTTP request
pubsub
A function is set to be executed when messages are sent to a messaging system
timer
A function is scheduled to be executed regularly
other
If none of the others apply
This metric is recommended .
Name
Instrument Type
Unit (UCUM)
Description
faas.mem_usage
Histogram
By
Distribution of max memory usage per invocation
Attribute
Type
Description
Examples
Requirement Level
faas.trigger
string
Type of the trigger which caused this function invocation.
datasource
Recommended
faas.trigger
MUST be one of the following:
Value
Description
datasource
A response to some data source operation such as a database or filesystem read/write
http
To provide an answer to an inbound HTTP request
pubsub
A function is set to be executed when messages are sent to a messaging system
timer
A function is scheduled to be executed regularly
other
If none of the others apply
This metric is recommended .
Name
Instrument Type
Unit (UCUM)
Description
faas.cpu_usage
Histogram
ms
Distribution of CPU usage per invocation
Attribute
Type
Description
Examples
Requirement Level
faas.trigger
string
Type of the trigger which caused this function invocation.
datasource
Recommended
faas.trigger
MUST be one of the following:
Value
Description
datasource
A response to some data source operation such as a database or filesystem read/write
http
To provide an answer to an inbound HTTP request
pubsub
A function is set to be executed when messages are sent to a messaging system
timer
A function is scheduled to be executed regularly
other
If none of the others apply
This metric is recommended .
Name
Instrument Type
Unit (UCUM)
Description
faas.net_io
Histogram
By
Distribution of net I/O usage per invocation
Attribute
Type
Description
Examples
Requirement Level
faas.trigger
string
Type of the trigger which caused this function invocation.
datasource
Recommended
faas.trigger
MUST be one of the following:
Value
Description
datasource
A response to some data source operation such as a database or filesystem read/write
http
To provide an answer to an inbound HTTP request
pubsub
A function is set to be executed when messages are sent to a messaging system
timer
A function is scheduled to be executed regularly
other
If none of the others apply
Below are links to documentation regarding metrics that are available with different
FaaS providers. This list is not exhaustive.