diff --git a/client/solve.go b/client/solve.go index 1ce006bd4fafd..c47957c1b1508 100644 --- a/client/solve.go +++ b/client/solve.go @@ -93,7 +93,7 @@ func (c *Client) solve(ctx context.Context, def *llb.Definition, runGateway runG statusContext, cancelStatus := context.WithCancel(context.Background()) defer cancelStatus() - if span := trace.SpanFromContext(ctx); span != nil { + if span := trace.SpanFromContext(ctx); span.SpanContext().IsValid() { statusContext = trace.ContextWithSpan(statusContext, span) } diff --git a/cmd/buildctl/common/common.go b/cmd/buildctl/common/common.go index aaccfff567b32..daa879520547f 100644 --- a/cmd/buildctl/common/common.go +++ b/cmd/buildctl/common/common.go @@ -64,7 +64,7 @@ func ResolveClient(c *cli.Context) (*client.Client, error) { ctx := CommandContext(c) - if span := trace.SpanFromContext(ctx); span != nil { + if span := trace.SpanFromContext(ctx); span.SpanContext().IsValid() { opts = append(opts, client.WithTracer(span.Tracer())) } diff --git a/cmd/buildctl/common/trace.go b/cmd/buildctl/common/trace.go index e8c3a796c61c5..993cb93d12414 100644 --- a/cmd/buildctl/common/trace.go +++ b/cmd/buildctl/common/trace.go @@ -32,8 +32,9 @@ func AttachAppContext(app *cli.App) error { } } - ctx, span = tracer.Start(ctx, name) - span.SetAttributes(attribute.KeyValue{Key: "command", Value: attribute.ArrayValue(os.Args)}) + ctx, span = tracer.Start(ctx, name, trace.WithAttributes( + attribute.Array("command", attribute.ArrayValue(os.Args)), + )) clicontext.App.Metadata["context"] = ctx return nil diff --git a/session/grpc.go b/session/grpc.go index 746918dd75ada..719978c7313fd 100644 --- a/session/grpc.go +++ b/session/grpc.go @@ -43,7 +43,7 @@ func grpcClientConn(ctx context.Context, conn net.Conn) (context.Context, *grpc. grpc.WithInsecure(), } - if span := trace.SpanFromContext(ctx); span != nil { + if span := trace.SpanFromContext(ctx); span.SpanContext().IsValid() { tracer := span.Tracer() unary = append(unary, filterClient(otelgrpc.UnaryClientInterceptor(otelgrpc.WithTracerProvider(constTracerProvider{tracer: tracer}), otelgrpc.WithPropagators(propagators)))) stream = append(stream, otelgrpc.StreamClientInterceptor(otelgrpc.WithTracerProvider(constTracerProvider{tracer: tracer}), otelgrpc.WithPropagators(propagators))) diff --git a/session/session.go b/session/session.go index dd0ab4b5ffed6..6d651324ba70c 100644 --- a/session/session.go +++ b/session/session.go @@ -55,7 +55,7 @@ func NewSession(ctx context.Context, name, sharedKey string) (*Session, error) { serverOpts := []grpc.ServerOption{} - if span := trace.SpanFromContext(ctx); span != nil { + if span := trace.SpanFromContext(ctx); span.SpanContext().IsValid() { tracer := span.Tracer() unary = append(unary, filterServer(otelgrpc.UnaryServerInterceptor(otelgrpc.WithTracerProvider(constTracerProvider{tracer: tracer}), otelgrpc.WithPropagators(propagators)))) stream = append(stream, otelgrpc.StreamServerInterceptor(otelgrpc.WithTracerProvider(constTracerProvider{tracer: tracer}), otelgrpc.WithPropagators(propagators))) diff --git a/solver/jobs.go b/solver/jobs.go index e47d80271a135..0a3845f4272a9 100644 --- a/solver/jobs.go +++ b/solver/jobs.go @@ -493,7 +493,7 @@ func (jl *Solver) deleteIfUnreferenced(k digest.Digest, st *state) { } func (j *Job) Build(ctx context.Context, e Edge) (CachedResult, error) { - if span := trace.SpanFromContext(ctx); span != nil { + if span := trace.SpanFromContext(ctx); span.SpanContext().IsValid() { j.span = span } diff --git a/util/tracing/tracing.go b/util/tracing/tracing.go index 73adb8086ce89..a27652cbef8d4 100644 --- a/util/tracing/tracing.go +++ b/util/tracing/tracing.go @@ -44,7 +44,7 @@ func FinishWithError(span trace.Span, err error) { // context.WithoutCancel() that would copy the context but reset ctx.Done func ContextWithSpanFromContext(ctx, ctx2 context.Context) context.Context { // if already is a span then noop - if span := trace.SpanFromContext(ctx); span != nil { + if span := trace.SpanFromContext(ctx); span.SpanContext().IsValid() { return ctx } if span := trace.SpanFromContext(ctx2); span != nil {