From 27053dc77f2aaf9cf6bdd7c0d591aff52deb250b Mon Sep 17 00:00:00 2001 From: namkyu1999 Date: Sun, 2 Jun 2024 12:11:05 +0900 Subject: [PATCH 1/5] proposal: Distributed tracing for chaos experiments Signed-off-by: namkyu1999 --- ...stributed-tracing-for-chaos-experiments.md | 94 ++++++++++++++++++ .../images/distributed-tracing-demo-arch.png | Bin 0 -> 50288 bytes .../images/distributed-tracing-example.png | Bin 0 -> 17717 bytes 3 files changed, 94 insertions(+) create mode 100644 proposals/distributed-tracing-for-chaos-experiments.md create mode 100644 proposals/images/distributed-tracing-demo-arch.png create mode 100644 proposals/images/distributed-tracing-example.png diff --git a/proposals/distributed-tracing-for-chaos-experiments.md b/proposals/distributed-tracing-for-chaos-experiments.md new file mode 100644 index 00000000000..82ba574d74c --- /dev/null +++ b/proposals/distributed-tracing-for-chaos-experiments.md @@ -0,0 +1,94 @@ +| title | authors | creation-date | last-updated | +|-------------------------------------------|----------------------------------------------|---------------|--------------| +| Distributed tracing for chaos experiments | [@namkyu1999](https://github.com/namkyu1999) | 2024-06-01 | 2024-06-01 | + +# Distributed tracing for chaos experiments + +- [Summary](#summary) +- [Motivation](#motivation) + - [Goals](#goals) + - [Non-Goals](#non-goals) +- [Proposal](#proposal) + - [Use Cases](#use-cases) + - [Implementation Details](#implementation-details) +- [Risks and Mitigations](#risks-and-mitigations) +- [Upgrade / Downgrade Strategy](#upgrade--downgrade-strategy) +- [Drawbacks](#drawbacks) +- [Alternatives](#alternatives) +- [References](#references) + +## Summary + +This proposal suggests adopting open telemetry sdk into `chaos-operator` and `chaos-runner` for measuring(tracing) the performance of chaos experiments. + +## Motivation + +The phrase `You can't manage what you don't measure` gives an idea to our project. We offer [monitoring metrics](https://github.com/litmuschaos/litmus/tree/master/monitoring) by exposing `/metrics` endpoint. However, it is not enough to measure the performance of chaos experiments. We need to trace the performance of chaos experiments. There are so many pods(ex. argo, probes, runner ...) are running and completing in a single chaos experiment. We don't know which pod is causing the performance issue so that it is hard to trace the performance of chaos experiments. Distributed tracing helps pinpoint where failures occur and what causes poor performance. It is a key tool for debugging and understanding complex systems. + +I was also inspired by [Tekton](https://tekton.dev/)'s [distributed tracing proposal](https://github.com/tektoncd/community/blob/main/teps/0124-distributed-tracing-for-tasks-and-pipelines.md). + +### Goals + +- Adopt open telemetry sdk into chaos-operator, chaos-runner, and all components running for chaos experiment. +- Implementation of opentelemetry tracing with Jaeger. +- Able to visualize chaos experiment steps in jaeger +- Add documentation to /monitoring and litmus docs. + +### Non-Goals + +- Not changing the existing chaos-experiment structure. +- Not changing the existing monitoring metrics. +- Not changing the existing API. + +## Proposal + +### Use Cases + +#### Use case 1 - LitmusChaos user + +As a user, I want to know what is happening in the chaos experiment so that I can trace the performance of chaos experiments. + +#### Use case 2 - OSS Developer + +As a developer, I want to know where the performance issue is happening in the chaos experiment so that I can debug and fix the issue. + +### Implementation Details + +I plan to use open telemetry SDK. But I need to consider the following points. + +In general distributed tracing, All the components are communicate via HTTP or gRPC. So they add trace context to the [request header](https://opentelemetry.io/docs/concepts/context-propagation/). But in chaos experiments, we are using the Kubernetes API to create resources. So we need to pass the trace context other than the request header. + +I made a simple demo to show how to pass the trace context to the child container using env. Here is the [demo](https://github.com/namkyu1999/async-trace). + +![demo-arch](./images/distributed-tracing-demo-arch.png) + +In this demo, there are two containers. The first container is a parent container and the second container is a child container created by the parent container using the docker client API. When the child container is created, the parent container passes the trace context to the environment variable. The child container reads the trace context from the environment variable and sends the trace context to the Jaeger. Two containers sending each trace context using OpenTelemetry SDK. And open telemetry consider two trace context as a single trace. + +So I will use the same approach in the chaos experiment. I will pass the trace context to the child container using the environment variable. And I will use the OpenTelemetry SDK to send the trace context to the Opentelemtry Collector. + +Here's a implementation plan. +- Add OpenTelemetry SDK to chaos-operator. +- Add OpenTelemetry SDK to all components running for chaos experiment. +- Send the trace context to the Opentelemetry Collector. +- Visualize the chaos experiment steps in Jaeger. +- Add documentation to /monitoring and litmus docs. + +After the implementation, the chaos experiment steps will be visualized in Jaeger like this. + +![result-example](./images/distributed-tracing-example.png) + +The API remains unchanged. Enabling tracing is entirely optional for the end user. If tracing is disabled or not configured with the correct tracing backend URL, the reconcilers will function as usual. Therefore, we can categorize this as a non-breaking change. + +## Risks and Mitigations + +Because the OpenTelemetry SDK performs additional tasks, it can cause latency. So end user can disable the tracing feature. + +## Upgrade / Downgrade Strategy + +## Drawbacks + +## Alternatives + +## References + +- [Tekton's distributed tracing proposal](https://github.com/tektoncd/community/blob/main/teps/0124-distributed-tracing-for-tasks-and-pipelines.md) diff --git a/proposals/images/distributed-tracing-demo-arch.png b/proposals/images/distributed-tracing-demo-arch.png new file mode 100644 index 0000000000000000000000000000000000000000..390a1ae780b6302a9b955ae4a9cd24ad39031e91 GIT binary patch literal 50288 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 W_~A_kdN@=Eg}I}8`|~X$@BamCiMVzE literal 0 HcmV?d00001 diff --git a/proposals/images/distributed-tracing-example.png b/proposals/images/distributed-tracing-example.png new file mode 100644 index 0000000000000000000000000000000000000000..77e34ed2cc395d4635ef29204f4849d1e668aa2e GIT binary patch literal 17717 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 literal 0 HcmV?d00001 From 4a5e327788e3b290a84084dc9c1fb8d6ad18d219 Mon Sep 17 00:00:00 2001 From: namkyu1999 Date: Sun, 9 Jun 2024 16:20:00 +0900 Subject: [PATCH 2/5] feat: add reference Signed-off-by: namkyu1999 --- proposals/distributed-tracing-for-chaos-experiments.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proposals/distributed-tracing-for-chaos-experiments.md b/proposals/distributed-tracing-for-chaos-experiments.md index 82ba574d74c..17c3e23d272 100644 --- a/proposals/distributed-tracing-for-chaos-experiments.md +++ b/proposals/distributed-tracing-for-chaos-experiments.md @@ -90,5 +90,5 @@ Because the OpenTelemetry SDK performs additional tasks, it can cause latency. S ## Alternatives ## References - +- [Environment Variables as Carrier for Inter-Process Propagation to transport context](https://github.com/open-telemetry/opentelemetry-specification/issues/740) - [Tekton's distributed tracing proposal](https://github.com/tektoncd/community/blob/main/teps/0124-distributed-tracing-for-tasks-and-pipelines.md) From 5771b5d8bd6bb4a7bf6d139cdc0e22c2bae17295 Mon Sep 17 00:00:00 2001 From: namkyu1999 Date: Fri, 5 Jul 2024 15:40:28 +0900 Subject: [PATCH 3/5] feat: add implementation PRs tab Signed-off-by: namkyu1999 --- proposals/distributed-tracing-for-chaos-experiments.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/proposals/distributed-tracing-for-chaos-experiments.md b/proposals/distributed-tracing-for-chaos-experiments.md index 17c3e23d272..b5577b2225e 100644 --- a/proposals/distributed-tracing-for-chaos-experiments.md +++ b/proposals/distributed-tracing-for-chaos-experiments.md @@ -16,6 +16,7 @@ - [Drawbacks](#drawbacks) - [Alternatives](#alternatives) - [References](#references) +- [Implementation PRs](#implementation-prs) ## Summary @@ -92,3 +93,11 @@ Because the OpenTelemetry SDK performs additional tasks, it can cause latency. S ## References - [Environment Variables as Carrier for Inter-Process Propagation to transport context](https://github.com/open-telemetry/opentelemetry-specification/issues/740) - [Tekton's distributed tracing proposal](https://github.com/tektoncd/community/blob/main/teps/0124-distributed-tracing-for-tasks-and-pipelines.md) + +## Implementation PRs + +| isMerged | PR | +|----------|--------------------------------------------------------------------------| +| N | [chaos-runner](https://github.com/litmuschaos/chaos-runner/pull/221) | +| N | [chaos-operator](https://github.com/litmuschaos/chaos-operator/pull/498) | +| N | [litmus-go](https://github.com/litmuschaos/litmus-go/pull/706) | \ No newline at end of file From 00d598ef7a050038d795e597e741dfb85e2b2f50 Mon Sep 17 00:00:00 2001 From: namkyu1999 Date: Fri, 5 Jul 2024 15:55:18 +0900 Subject: [PATCH 4/5] update: add a new pr Signed-off-by: namkyu1999 --- proposals/distributed-tracing-for-chaos-experiments.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/proposals/distributed-tracing-for-chaos-experiments.md b/proposals/distributed-tracing-for-chaos-experiments.md index b5577b2225e..3236784905b 100644 --- a/proposals/distributed-tracing-for-chaos-experiments.md +++ b/proposals/distributed-tracing-for-chaos-experiments.md @@ -100,4 +100,5 @@ Because the OpenTelemetry SDK performs additional tasks, it can cause latency. S |----------|--------------------------------------------------------------------------| | N | [chaos-runner](https://github.com/litmuschaos/chaos-runner/pull/221) | | N | [chaos-operator](https://github.com/litmuschaos/chaos-operator/pull/498) | -| N | [litmus-go](https://github.com/litmuschaos/litmus-go/pull/706) | \ No newline at end of file +| N | [litmus-go](https://github.com/litmuschaos/litmus-go/pull/706) | +| N | [chaos center](https://github.com/litmuschaos/litmus/pull/4746) | \ No newline at end of file From 71e883b328ad43cec8c4db8b67f29522ee16de95 Mon Sep 17 00:00:00 2001 From: namkyu1999 Date: Thu, 29 Aug 2024 14:37:21 +0900 Subject: [PATCH 5/5] fix: add a link Signed-off-by: namkyu1999 --- proposals/distributed-tracing-for-chaos-experiments.md | 1 + 1 file changed, 1 insertion(+) diff --git a/proposals/distributed-tracing-for-chaos-experiments.md b/proposals/distributed-tracing-for-chaos-experiments.md index 3236784905b..cfb0c8c5e0c 100644 --- a/proposals/distributed-tracing-for-chaos-experiments.md +++ b/proposals/distributed-tracing-for-chaos-experiments.md @@ -93,6 +93,7 @@ Because the OpenTelemetry SDK performs additional tasks, it can cause latency. S ## References - [Environment Variables as Carrier for Inter-Process Propagation to transport context](https://github.com/open-telemetry/opentelemetry-specification/issues/740) - [Tekton's distributed tracing proposal](https://github.com/tektoncd/community/blob/main/teps/0124-distributed-tracing-for-tasks-and-pipelines.md) +- [noop tracer](https://github.com/open-telemetry/opentelemetry-go/discussions/2659) ## Implementation PRs