operatortrace-go/pkg/client/tracing_interface.go (14 lines of code) (raw):

// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. // pkg/client/tracing_interface.go package client import ( "context" "go.opentelemetry.io/otel/trace" "sigs.k8s.io/controller-runtime/pkg/client" ) // TracingClient extends client.Client with tracing functionality type TracingClient interface { client.Client trace.Tracer StartTrace(ctx context.Context, key *client.ObjectKey, obj client.Object, opts ...client.GetOption) (context.Context, trace.Span, error) EndTrace(ctx context.Context, obj client.Object, opts ...client.PatchOption) (client.Object, error) StartSpan(ctx context.Context, operationName string) (context.Context, trace.Span) EmbedTraceIDInNamespacedName(key *client.ObjectKey, obj client.Object) error }