Skip to content

Commit

Permalink
add references and requirements
Browse files Browse the repository at this point in the history
Signed-off-by: Jayadeep KM <kmjayadeep@gmail.com>
  • Loading branch information
kmjayadeep committed Oct 3, 2022
1 parent 1ffbaca commit 96ab5ba
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions teps/0124-distributed-tracing-for-tasks-and-pipelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,12 @@ authors:
- [Goals](#goals)
- [Non-Goals](#non-goals)
- [Use Cases](#use-cases)
- [Requirements](#requirements)
- [Proposal](#proposal)
- [PipelineRun controller](#pipelinerun-controller)
- [TaskRun controller](#taskrun-controller)
- [Test Plan](#test-plan)
- [References](#references)
<!-- /toc -->

## Summary
Expand Down Expand Up @@ -50,6 +52,15 @@ Tekton Developer:
* I would like to understand the duration of each reconciliation step, so that I can optimize the code to improve reconciliation performance
* When the pipelines are failing due to a bug, I would like to understand which reconciliation logic caused the issue so that I can easily fix the problem

### Requirements

* Trace all functions in the PipelineRun controller
* Trace all functions in the TaskRun controller
* Support Jaeger backend
* Propagate traces so that subsequent reconciles of the same resource belong to the same trace
* Propagate traces so that reconciles of a resource owned by a parent resource belong a parent span from the parent resource
* Reconcile of different resources must belong to separate traces

## Proposal

Initialize a tracer provider with jaeger as the backend for each reconciler. The jaeger collector URL can be passed as an argument to the controller.
Expand All @@ -70,3 +81,10 @@ The spancontext should be also made available as environment variables container
### Test Plan

There must be unit tests for recording of spans and e2e tests for context propogation through custom resources.

## References

[Instrument Tekton resources for tracing](https://github.com/tektoncd/pipeline/issues/2814)
[OpenTelemetry](https://opentelemetry.io/)
[OpenTelemetry instrumentation in GO](https://opentelemetry.io/docs/instrumentation/go/manual/)
[Jaeger Tracing](https://www.jaegertracing.io/)

0 comments on commit 96ab5ba

Please sign in to comment.