openfaas / openfaas/faas

[Research] Tracing for OpenFaaS Core services

Open
#1,354 2 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
26.2k
Forks
2k
PR merge metrics
No merged PRs in 30d

Description

[Research] Tracing for OpenFaaS Core services

There has been interest expressed in tracing from the community through Slack and issues over the last year and a half. At this time there doesn't seem to be any hard requirement or urgency so the feature hasn't been prioritised. This issue would look into the cost and scope of implementing tracing across the core services in OpenFaaS.

There are also some pros/cons to emitting spans, one of those is tightly coupling to an SDK from OpenTracing, OpenConsensus or, when it's ready OpenTelemetry, in every piece of code we write in the project.

Expected Behaviour

  1. Traces to be propagated, even if not emitted.
  2. Tracing to be available as a feature with a configuration for the "all in one" Jaeger etc image.

Current Behaviour

Unsure if traces are propagated.

Possible Solution

I'd like someone who has worked with OpenTracing or similar to provide a summary of changes and the pros/cons to implement the above. For those requesting this feature, please feel free to +1 or to leave your use-case in a comment.

Prometheus metrics are also emitted currently for core services and functions.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the OpenFaaS core services and their existing Prometheus metrics, then determine whether traces are currently propagated. Produce a summary of the implementation cost and scope, the pros and cons of OpenTracing, OpenConsensus, and OpenTelemetry coupling, and how optional tracing with an all-in-one Jaeger image could be configured.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
observability
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.