Skip to content

FaaS metrics - Not clear which attributes should be added to each metric #86

@joaopgrassi

Description

@joaopgrassi

The current FaaS metric semantic conventions list several metrics, and then lists the attributes .

I'm working on moving the metrics to YAML, and it is not clear which attributes should be added to each metric.

Before the attribute table, it is stated:

Below is a table of the attributes to be included on FaaS metric events

then after, there's this statement:

Outgoing FaaS invocations are identified using the faas.invoked_* attributes above. faas.trigger SHOULD be included in all metric events while faas.invoked_* attributes apply on outgoing FaaS invocation events only.

It says the attributes faas.invoked_* should be included in "outgoing FaaS invocation events only" but then it says "Outgoing FaaS invocations are identified using the faas.invoked_*". The metric table does not list what attributes are to be added, so it's unclear which metric is "outgoing" and which are not.

In the FaaS span semconv we have more info:

Incoming invocations

This section describes incoming FaaS invocations as they are reported by the FaaS instance itself.
For incoming FaaS spans, the span kind MUST be Server.

Outgoing invocations

This section describes outgoing FaaS invocations as they are reported by a client calling a FaaS instance.
For outgoing FaaS spans, the span kind MUST be Client

I looked at the existing metrics and after reading all, my "gut feeling" is:

  • Outgoing faas.invoke_duration : the client invoking the function knows how long it took
  • Incoming faas.init_duration, faas.coldstarts, faas.errors: It seems to me these are "server" information, meaning the FaaS itself know this info about itself?
  • ? faas.invocations: Is this the client counting how many times it invoked the function? Or is the function counting how many times it was invoked? 🤔
  • ? faas.timeouts: Is this the client reporting how many times invocations timed out? Or is it the server/function itself while doing other things?

CC @skonto since you were the original author, could you shed some light on this?

Metadata

Metadata

Assignees

Labels

invalidThis doesn't seem rightquestionFurther information is requested

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions