go-kratos/kratos · error
unsupported span kind: %v
Error message
unsupported span kind: %v
What it means
Error "unsupported span kind: %v" thrown in go-kratos/kratos.
Source
Thrown at contrib/otel/tracing/tracer.go:43
func NewTracer(kind trace.SpanKind, opts ...Option) *Tracer {
op := options{
propagator: propagation.NewCompositeTextMapPropagator(Metadata{}, propagation.Baggage{}, propagation.TraceContext{}),
tracerName: "kratos",
}
for _, o := range opts {
o(&op)
}
if op.tracerProvider == nil {
op.tracerProvider = otel.GetTracerProvider()
}
switch kind {
case trace.SpanKindClient:
return &Tracer{tracer: op.tracerProvider.Tracer(op.tracerName), kind: kind, opt: &op}
case trace.SpanKindServer:
return &Tracer{tracer: op.tracerProvider.Tracer(op.tracerName), kind: kind, opt: &op}
default:
panic(fmt.Sprintf("unsupported span kind: %v", kind))
}
}
// Start start tracing span
func (t *Tracer) Start(ctx context.Context, operation string, carrier propagation.TextMapCarrier) (context.Context, trace.Span) {
if t.kind == trace.SpanKindServer {
ctx = t.opt.propagator.Extract(ctx, carrier)
}
ctx, span := t.tracer.Start(ctx,
operation,
trace.WithSpanKind(t.kind),
)
if t.kind == trace.SpanKindClient {
t.opt.propagator.Inject(ctx, carrier)
}
return ctx, span
}
View on GitHub (pinned to 668db92c2c)
When it happens
Trigger: Thrown at contrib/otel/tracing/tracer.go:43 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of go-kratos/kratos@668db92c2c (2026-08-16).
Data as JSON: /api/errors/d2f3a4454c3a85f1.
Report an issue: GitHub.