Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Tracking] Add tracing capabilities #47

Closed
7 of 8 tasks
thisthat opened this issue Sep 28, 2022 · 0 comments
Closed
7 of 8 tasks

[Tracking] Add tracing capabilities #47

thisthat opened this issue Sep 28, 2022 · 0 comments
Assignees
Labels

Comments

@thisthat
Copy link
Member

thisthat commented Sep 28, 2022

Goal

Instrument the Keptn Lifecycle Operator with the OTel SDK to export traces.

Technical Details

Use OTel Go to manually instrument the code to export the following spans as a single trace:

Image

The Trace Context should be propagated into the CRDs via a common metadata field TraceContext. The context will be propagated using this immutable map.

Each component should have its own tracer:

  • Scheduler: keptn/scheduler
  • Webhook: keptn/webhook
  • Workload: keptn/operator/workload
  • WorkloadInstance: keptn/operator/workloadinstance
  • Task: keptn/operator/task
  • TaskInstance: keptn/operator/taskinstance

Each Span should be created with the following OTel Attribute:

  • KeptnApp as keptn.deployment.app_name
  • KeptnWorkload as keptn.deployment.workload
  • KeptnVersion as keptn.deployment.version

The webhook is the one that always starts a trace.
The scheduler should create a Client Span for each reconciliation.

DoD

  • The Lifecycle Controller generates the aforementioned spans as part of a single trace

Resources

List

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
Development

No branches or pull requests

1 participant