semantic-conventions/model/faas/spans.yaml

84 lines
3.2 KiB
YAML

groups:
- id: faas_span
type: span
brief: >
This semantic convention describes 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 spans.
attributes:
- ref: faas.trigger
note: |
For the server/consumer span on the incoming side,
`faas.trigger` MUST be set.
Clients invoking FaaS instances usually cannot set `faas.trigger`,
since they would typically need to look in the payload to determine
the event type. If clients set it, it should be the same as the
trigger that corresponding incoming would have (i.e., this has
nothing to do with the underlying transport used to make the API
call to invoke the lambda, which is often HTTP).
- ref: faas.invocation_id
- ref: cloud.resource_id
- id: faas_span.datasource
type: span
brief: >
Semantic Convention for FaaS triggered as a response to some data
source operation such as a database or filesystem read/write.
attributes:
- ref: faas.document.collection
requirement_level: required
- ref: faas.document.operation
requirement_level: required
- ref: faas.document.time
- ref: faas.document.name
- id: faas_span.timer
type: span
brief: >
Semantic Convention for FaaS scheduled to be executed regularly.
attributes:
- ref: faas.time
- ref: faas.cron
- id: faas_span.in
span_kind: server
type: span
brief: >
Contains additional attributes for incoming FaaS spans.
attributes:
- ref: faas.coldstart
- ref: faas.trigger
requirement_level: required
note: |
For the server/consumer span on the incoming side,
`faas.trigger` MUST be set.
Clients invoking FaaS instances usually cannot set `faas.trigger`,
since they would typically need to look in the payload to determine
the event type. If clients set it, it should be the same as the
trigger that corresponding incoming would have (i.e., this has
nothing to do with the underlying transport used to make the API
call to invoke the lambda, which is often HTTP).
- id: faas_span.out
span_kind: client
type: span
brief: >
Contains additional attributes for outgoing FaaS spans.
attributes:
- ref: faas.invoked_name
requirement_level: required
- ref: faas.invoked_provider
requirement_level: required
- ref: faas.invoked_region
requirement_level:
conditionally_required: >
For some cloud providers, like AWS or GCP, the region in which a
function is hosted is essential to uniquely identify the function
and also part of its endpoint. Since it's part of the endpoint
being called, the region is always known to clients. In these cases,
`faas.invoked_region` MUST be set accordingly. If the region is
unknown to the client or not required for identifying the invoked
function, setting `faas.invoked_region` is optional.