Skip to content

Commit 259e3f3

Browse files
committed
wrap OT library and don't change metrics/logs
1 parent 3385720 commit 259e3f3

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

keps/sig-instrumentation/0034-distributed-tracing-kep.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,9 @@ reviewers:
1515
- "@bogdandrutu"
1616
approvers:
1717
- "@brancz"
18-
- "@piosz"
1918
creation-date: 2018-12-04
20-
last-updated: 2019-11-07
21-
status: provisional
19+
last-updated: 2020-03-16
20+
status: implementable
2221
---
2322

2423
# Leveraging Distributed Tracing to Understand Kubernetes Object Lifecycles
@@ -41,6 +40,7 @@ status: provisional
4140
- [In-tree changes](#in-tree-changes)
4241
- [Plumbing Context in Client-go](#plumbing-context-in-client-go)
4342
- [Vendor the Tracing Framework](#vendor-the-tracing-framework)
43+
- [Controlling use of the OpenTelemetry library](#controlling-use-of-the-opentelemetry-library)
4444
- [Trace Utility Package](#trace-utility-package)
4545
- [Tracing kube-apiserver requests](#tracing-kube-apiserver-requests)
4646
- [Tracing Pod Lifecycle](#tracing-pod-lifecycle)
@@ -85,6 +85,7 @@ Distributed tracing provides a single window into latency information from acros
8585

8686
* Replace existing logging, metrics, or the events API
8787
* Trace operations from all Kubernetes resource types in a generic manner (i.e. without manual instrumentation)
88+
* Change metrics or logging (e.g. to support trace-metric correlation)
8889

8990
## Proposal
9091

@@ -176,6 +177,10 @@ This KEP suggests that we utilize the OpenTelemetry collector for the initial im
176177

177178
While this setup is suitable for an alpha stage, it will require further review from Sig-Instrumentation and Sig-Architecture for beta, as it introduces a dependency on the OT Collector. It is also worth noting that OpenTelemetry still has many unresolved details on how to run the collector.
178179

180+
#### Controlling use of the OpenTelemetry library
181+
182+
As the community found in the [Metrics Stability Framework KEP](https://github.com/kubernetes/enhancements/blob/master/keps/sig-instrumentation/20190404-kubernetes-control-plane-metrics-stability.md#kubernetes-control-plane-metrics-stability), having control over how the client libraries are used in kubernetes can enable maintainers to enforce policy and make broad improvements to the quality of telemetry. To enable future improvements to tracing, we will restrict the direct use of the OpenTelemetry library within the kubernetes code base, and provide wrapped versions of functions we wish to expose in a utility library.
183+
179184
#### Trace Utility Package
180185

181186
This package will be able to create spans from the span context embedded in the `trace.kubernetes.io/context` object annotation, in addition to embedding context from spans back into the annotation. This package will facilitate propagating traces through kubernetes objects. The exported functions include:

0 commit comments

Comments
 (0)