From 3eaca7cf519808fcb98d4c43e666ea750270d825 Mon Sep 17 00:00:00 2001 From: Davanum Srinivas Date: Sat, 17 Sep 2022 14:27:06 -0400 Subject: [PATCH] update code to use newer otel api Signed-off-by: Davanum Srinivas --- cmd/kubelet/app/server.go | 6 +++--- .../k8s.io/apiserver/pkg/server/options/tracing.go | 8 ++++---- staging/src/k8s.io/component-base/tracing/utils.go | 14 ++++++-------- test/integration/apiserver/tracing/tracing_test.go | 2 +- 4 files changed, 14 insertions(+), 16 deletions(-) diff --git a/cmd/kubelet/app/server.go b/cmd/kubelet/app/server.go index c8a67942b17..6c05e5a2274 100644 --- a/cmd/kubelet/app/server.go +++ b/cmd/kubelet/app/server.go @@ -39,9 +39,9 @@ import ( "k8s.io/mount-utils" cadvisorapi "github.com/google/cadvisor/info/v1" - "go.opentelemetry.io/otel/exporters/otlp/otlpgrpc" + "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc" otelsdkresource "go.opentelemetry.io/otel/sdk/resource" - "go.opentelemetry.io/otel/semconv" + "go.opentelemetry.io/otel/semconv/v1.10.0" oteltrace "go.opentelemetry.io/otel/trace" v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" @@ -1281,7 +1281,7 @@ func newTracerProvider(s *options.KubeletServer) (oteltrace.TracerProvider, erro semconv.HostNameKey.String(hostname), ), } - tp, err := tracing.NewProvider(context.Background(), s.KubeletConfiguration.Tracing, []otlpgrpc.Option{}, resourceOpts) + tp, err := tracing.NewProvider(context.Background(), s.KubeletConfiguration.Tracing, []otlptracegrpc.Option{}, resourceOpts) if err != nil { return nil, fmt.Errorf("could not configure tracer provider: %v", err) } diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/tracing.go b/staging/src/k8s.io/apiserver/pkg/server/options/tracing.go index 379691a0803..09d8633fff2 100644 --- a/staging/src/k8s.io/apiserver/pkg/server/options/tracing.go +++ b/staging/src/k8s.io/apiserver/pkg/server/options/tracing.go @@ -23,9 +23,9 @@ import ( "net" "github.com/spf13/pflag" - "go.opentelemetry.io/otel/exporters/otlp/otlpgrpc" + "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc" "go.opentelemetry.io/otel/sdk/resource" - "go.opentelemetry.io/otel/semconv" + "go.opentelemetry.io/otel/semconv/v1.10.0" "google.golang.org/grpc" "k8s.io/apimachinery/pkg/runtime" @@ -93,7 +93,7 @@ func (o *TracingOptions) ApplyTo(es *egressselector.EgressSelector, c *server.Co return fmt.Errorf("failed to validate tracing configuration: %v", errs.ToAggregate()) } - opts := []otlpgrpc.Option{} + opts := []otlptracegrpc.Option{} if es != nil { // Only use the egressselector dialer if egressselector is enabled. // Endpoint is on the "ControlPlane" network @@ -105,7 +105,7 @@ func (o *TracingOptions) ApplyTo(es *egressselector.EgressSelector, c *server.Co otelDialer := func(ctx context.Context, addr string) (net.Conn, error) { return egressDialer(ctx, "tcp", addr) } - opts = append(opts, otlpgrpc.WithDialOption(grpc.WithContextDialer(otelDialer))) + opts = append(opts, otlptracegrpc.WithDialOption(grpc.WithContextDialer(otelDialer))) } resourceOpts := []resource.Option{ diff --git a/staging/src/k8s.io/component-base/tracing/utils.go b/staging/src/k8s.io/component-base/tracing/utils.go index 8c7ec983ca9..9f808791c24 100644 --- a/staging/src/k8s.io/component-base/tracing/utils.go +++ b/staging/src/k8s.io/component-base/tracing/utils.go @@ -21,8 +21,7 @@ import ( "net/http" "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" - "go.opentelemetry.io/otel/exporters/otlp" - "go.opentelemetry.io/otel/exporters/otlp/otlpgrpc" + "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc" "go.opentelemetry.io/otel/propagation" "go.opentelemetry.io/otel/sdk/resource" sdktrace "go.opentelemetry.io/otel/sdk/trace" @@ -35,19 +34,18 @@ import ( // NewProvider creates a TracerProvider in a component, and enforces recommended tracing behavior func NewProvider(ctx context.Context, tracingConfig *v1.TracingConfiguration, - addedOpts []otlpgrpc.Option, + addedOpts []otlptracegrpc.Option, resourceOpts []resource.Option, ) (oteltrace.TracerProvider, error) { if tracingConfig == nil { return oteltrace.NewNoopTracerProvider(), nil } - opts := append([]otlpgrpc.Option{}, addedOpts...) + opts := append([]otlptracegrpc.Option{}, addedOpts...) if tracingConfig.Endpoint != nil { - opts = append(opts, otlpgrpc.WithEndpoint(*tracingConfig.Endpoint)) + opts = append(opts, otlptracegrpc.WithEndpoint(*tracingConfig.Endpoint)) } - opts = append(opts, otlpgrpc.WithInsecure()) - driver := otlpgrpc.NewDriver(opts...) - exporter, err := otlp.NewExporter(ctx, driver) + opts = append(opts, otlptracegrpc.WithInsecure()) + exporter, err := otlptracegrpc.New(ctx, opts...) if err != nil { return nil, err } diff --git a/test/integration/apiserver/tracing/tracing_test.go b/test/integration/apiserver/tracing/tracing_test.go index 003e51d2269..38477ede5fd 100644 --- a/test/integration/apiserver/tracing/tracing_test.go +++ b/test/integration/apiserver/tracing/tracing_test.go @@ -107,7 +107,7 @@ endpoint: %s`, listener.Addr().String())), os.FileMode(0755)); err != nil { func containsNodeListSpan(req *traceservice.ExportTraceServiceRequest) bool { for _, resourceSpans := range req.GetResourceSpans() { - for _, instrumentationSpans := range resourceSpans.GetInstrumentationLibrarySpans() { + for _, instrumentationSpans := range resourceSpans.GetScopeSpans() { for _, span := range instrumentationSpans.GetSpans() { if span.Name != "KubernetesAPI" { continue