-
Notifications
You must be signed in to change notification settings - Fork 471
Closed
Description
We're calling the runtime and image service setup from the kubelet in:
Line 82 in 6e004d1
res, err = remote.NewRemoteRuntimeService(endPoint, t, nil) |
Line 93 in 6e004d1
return remote.NewRemoteRuntimeService(RuntimeEndpoint, t, nil) |
Line 118 in 6e004d1
res, err = remote.NewRemoteImageService(endPoint, Timeout, nil) |
Line 129 in 6e004d1
return remote.NewRemoteImageService(ImageEndpoint, Timeout, nil) |
but we always pass a nil
tracer provider to the service, which could be something to support OTEL in crictl
.
The kubelet feature itself is enabled by default:
cri-tools/vendor/k8s.io/kubernetes/pkg/kubelet/cri/remote/remote_runtime.go
Lines 93 to 103 in 6e004d1
if utilfeature.DefaultFeatureGate.Enabled(features.KubeletTracing) { | |
tracingOpts := []otelgrpc.Option{ | |
otelgrpc.WithPropagators(tracing.Propagators()), | |
otelgrpc.WithTracerProvider(tp), | |
} | |
// Even if there is no TracerProvider, the otelgrpc still handles context propagation. | |
// See https://github.com/open-telemetry/opentelemetry-go/tree/main/example/passthrough | |
dialOpts = append(dialOpts, | |
grpc.WithUnaryInterceptor(otelgrpc.UnaryClientInterceptor(tracingOpts...)), | |
grpc.WithStreamInterceptor(otelgrpc.StreamClientInterceptor(tracingOpts...))) | |
} |
Metadata
Metadata
Assignees
Labels
No labels