From a91d7ad952379f3b77e4fa2f5b2e6f6ce8526b16 Mon Sep 17 00:00:00 2001 From: lightclient Date: Thu, 8 Jan 2026 08:36:13 -0700 Subject: [PATCH] internal/telemetry: use correct span kind for server --- internal/telemetry/telemetry.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/internal/telemetry/telemetry.go b/internal/telemetry/telemetry.go index 861b44fac0..19d183542c 100644 --- a/internal/telemetry/telemetry.go +++ b/internal/telemetry/telemetry.go @@ -64,16 +64,22 @@ type RPCInfo struct { // semantic convensions: https://opentelemetry.io/docs/specs/semconv/rpc/rpc-spans/#span-name. func StartServerSpan(ctx context.Context, tracer trace.Tracer, rpc RPCInfo, others ...Attribute) (context.Context, func(error)) { var ( - name = fmt.Sprintf("%s.%s/%s", rpc.System, rpc.Service, rpc.Method) - attrs = []Attribute{ + name = fmt.Sprintf("%s.%s/%s", rpc.System, rpc.Service, rpc.Method) + attributes = append([]Attribute{ semconv.RPCSystemKey.String(rpc.System), semconv.RPCServiceKey.String(rpc.Service), semconv.RPCMethodKey.String(rpc.Method), semconv.RPCJSONRPCRequestID(rpc.RequestID), - } + }, + others..., + ) ) - ctx, _, end := startSpan(ctx, tracer, name, append(attrs, others...)...) - return ctx, end + ctx, span := tracer.Start(ctx, name, trace.WithSpanKind(trace.SpanKindInternal)) + + if len(attributes) > 0 { + span.SetAttributes(attributes...) + } + return ctx, endSpan(span) } // startSpan creates an internal span.